aboutsummaryrefslogtreecommitdiff
path: root/docs/dev/architecture.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dev/architecture.md')
-rw-r--r--docs/dev/architecture.md8
1 files changed, 4 insertions, 4 deletions
diff --git a/docs/dev/architecture.md b/docs/dev/architecture.md
index 917f05c81..6f1377f2f 100644
--- a/docs/dev/architecture.md
+++ b/docs/dev/architecture.md
@@ -118,7 +118,7 @@ directly query the database.
118 118
119The top-level `hir` façade crate wraps ids into a more OO-flavored API. 119The top-level `hir` façade crate wraps ids into a more OO-flavored API.
120 120
121### `crates/ra_ide` 121### `crates/ide`
122 122
123A stateful library for analyzing many Rust files as they change. `AnalysisHost` 123A stateful library for analyzing many Rust files as they change. `AnalysisHost`
124is a mutable entity (clojure's atom) which holds the current state, incorporates 124is a mutable entity (clojure's atom) which holds the current state, incorporates
@@ -136,11 +136,11 @@ offsets and strings as output. This works on top of rich code model powered by
136 136
137### `crates/rust-analyzer` 137### `crates/rust-analyzer`
138 138
139An LSP implementation which wraps `ra_ide` into a language server protocol. 139An LSP implementation which wraps `ide` into a language server protocol.
140 140
141### `ra_vfs` 141### `ra_vfs`
142 142
143Although `hir` and `ra_ide` don't do any IO, we need to be able to read 143Although `hir` and `ide` don't do any IO, we need to be able to read
144files from disk at the end of the day. This is what `ra_vfs` does. It also 144files from disk at the end of the day. This is what `ra_vfs` does. It also
145manages overlays: "dirty" files in the editor, whose "true" contents is 145manages overlays: "dirty" files in the editor, whose "true" contents is
146different from data on disk. This is more or less the single really 146different from data on disk. This is more or less the single really
@@ -161,7 +161,7 @@ disk. For this reason, we try to avoid writing too many tests on this boundary:
161in a statically typed language, it's hard to make an error in the protocol 161in a statically typed language, it's hard to make an error in the protocol
162itself if messages are themselves typed. 162itself if messages are themselves typed.
163 163
164The middle, and most important, boundary is `ra_ide`. Unlike 164The middle, and most important, boundary is `ide`. Unlike
165`rust-analyzer`, which exposes API, `ide` uses Rust API and is intended to 165`rust-analyzer`, which exposes API, `ide` uses Rust API and is intended to
166use by various tools. Typical test creates an `AnalysisHost`, calls some 166use by various tools. Typical test creates an `AnalysisHost`, calls some
167`Analysis` functions and compares the results against expectation. 167`Analysis` functions and compares the results against expectation.