about summary refs log tree commit diff
path: root/docs/dev
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dev')
-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