about summary refs log tree commit diff
path: root/docs
diff options
context:
space:
mode:
authorAleksey Kladov <aleksey.kladov@gmail.com>2020-06-08 12:52:28 +0200
committerAleksey Kladov <aleksey.kladov@gmail.com>2020-06-08 12:52:28 +0200
commitee8dec5dc11cfecf219b6510b0eadd9691a82ba5 (patch)
tree2685efeb77e02baca1c820d2637e46df1fed05b7 /docs
parentd8552d114c3b2cedbc485ebe26d7b784c0845bd8 (diff)
downloadrust-ee8dec5dc11cfecf219b6510b0eadd9691a82ba5.tar.gz
rust-ee8dec5dc11cfecf219b6510b0eadd9691a82ba5.zip
IDE API
Diffstat (limited to 'docs')
-rw-r--r--docs/dev/README.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/dev/README.md b/docs/dev/README.md
index 903cb4055a8..64d595b684a 100644
--- a/docs/dev/README.md
+++ b/docs/dev/README.md
@@ -268,6 +268,13 @@ IDE assumes that all information is available at all times.
 IDE should use only types from `ra_hir`, and should not depend on the underling compiler types.
 `ra_hir` is a facade.
 
+## IDE API
+
+The main IDE crate (`ra_ide`) uses "Plain Old Data" for the API.
+Rather than talking in definitions and references, it talks in Strings and textual offsets.
+In general, API is centered around UI concerns -- the result of the call is what the user sees in the editor, and not what the compiler sees underneath.
+The results are 100% Rust specific though.
+
 # Logging
 
 Logging is done by both rust-analyzer and VS Code, so it might be tricky to