aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-08-13 16:42:52 +0100
committerAleksey Kladov <[email protected]>2020-08-13 16:58:27 +0100
commit1b0c7701cc97cd7bef8bb9729011d4cf291a60c5 (patch)
treeb69f0c9947d9cec522ce835d7213b21075fe6dcf
parentfc34403018079ea053f26d0a31b7517053c7dd8c (diff)
Rename ra_ide -> ide
-rw-r--r--Cargo.lock70
-rw-r--r--README.md2
-rw-r--r--crates/base_db/src/lib.rs2
-rw-r--r--crates/expect/Cargo.toml5
-rw-r--r--crates/flycheck/Cargo.toml7
-rw-r--r--crates/ide/Cargo.toml (renamed from crates/ra_ide/Cargo.toml)14
-rw-r--r--crates/ide/src/call_hierarchy.rs (renamed from crates/ra_ide/src/call_hierarchy.rs)0
-rw-r--r--crates/ide/src/call_info.rs (renamed from crates/ra_ide/src/call_info.rs)0
-rw-r--r--crates/ide/src/completion.rs (renamed from crates/ra_ide/src/completion.rs)0
-rw-r--r--crates/ide/src/completion/complete_attribute.rs (renamed from crates/ra_ide/src/completion/complete_attribute.rs)0
-rw-r--r--crates/ide/src/completion/complete_dot.rs (renamed from crates/ra_ide/src/completion/complete_dot.rs)0
-rw-r--r--crates/ide/src/completion/complete_fn_param.rs (renamed from crates/ra_ide/src/completion/complete_fn_param.rs)0
-rw-r--r--crates/ide/src/completion/complete_keyword.rs (renamed from crates/ra_ide/src/completion/complete_keyword.rs)0
-rw-r--r--crates/ide/src/completion/complete_macro_in_item_position.rs (renamed from crates/ra_ide/src/completion/complete_macro_in_item_position.rs)0
-rw-r--r--crates/ide/src/completion/complete_pattern.rs (renamed from crates/ra_ide/src/completion/complete_pattern.rs)0
-rw-r--r--crates/ide/src/completion/complete_postfix.rs (renamed from crates/ra_ide/src/completion/complete_postfix.rs)0
-rw-r--r--crates/ide/src/completion/complete_qualified_path.rs (renamed from crates/ra_ide/src/completion/complete_qualified_path.rs)0
-rw-r--r--crates/ide/src/completion/complete_record.rs (renamed from crates/ra_ide/src/completion/complete_record.rs)0
-rw-r--r--crates/ide/src/completion/complete_snippet.rs (renamed from crates/ra_ide/src/completion/complete_snippet.rs)0
-rw-r--r--crates/ide/src/completion/complete_trait_impl.rs (renamed from crates/ra_ide/src/completion/complete_trait_impl.rs)0
-rw-r--r--crates/ide/src/completion/complete_unqualified_path.rs (renamed from crates/ra_ide/src/completion/complete_unqualified_path.rs)0
-rw-r--r--crates/ide/src/completion/completion_config.rs (renamed from crates/ra_ide/src/completion/completion_config.rs)0
-rw-r--r--crates/ide/src/completion/completion_context.rs (renamed from crates/ra_ide/src/completion/completion_context.rs)0
-rw-r--r--crates/ide/src/completion/completion_item.rs (renamed from crates/ra_ide/src/completion/completion_item.rs)0
-rw-r--r--crates/ide/src/completion/patterns.rs (renamed from crates/ra_ide/src/completion/patterns.rs)0
-rw-r--r--crates/ide/src/completion/presentation.rs (renamed from crates/ra_ide/src/completion/presentation.rs)0
-rw-r--r--crates/ide/src/completion/test_utils.rs (renamed from crates/ra_ide/src/completion/test_utils.rs)0
-rw-r--r--crates/ide/src/diagnostics.rs (renamed from crates/ra_ide/src/diagnostics.rs)0
-rw-r--r--crates/ide/src/diagnostics/diagnostics_with_fix.rs (renamed from crates/ra_ide/src/diagnostics/diagnostics_with_fix.rs)0
-rw-r--r--crates/ide/src/display.rs (renamed from crates/ra_ide/src/display.rs)0
-rw-r--r--crates/ide/src/display/navigation_target.rs (renamed from crates/ra_ide/src/display/navigation_target.rs)0
-rw-r--r--crates/ide/src/display/short_label.rs (renamed from crates/ra_ide/src/display/short_label.rs)0
-rw-r--r--crates/ide/src/expand_macro.rs (renamed from crates/ra_ide/src/expand_macro.rs)0
-rw-r--r--crates/ide/src/extend_selection.rs (renamed from crates/ra_ide/src/extend_selection.rs)0
-rw-r--r--crates/ide/src/file_structure.rs (renamed from crates/ra_ide/src/file_structure.rs)0
-rw-r--r--crates/ide/src/folding_ranges.rs (renamed from crates/ra_ide/src/folding_ranges.rs)0
-rw-r--r--crates/ide/src/goto_definition.rs (renamed from crates/ra_ide/src/goto_definition.rs)0
-rw-r--r--crates/ide/src/goto_implementation.rs (renamed from crates/ra_ide/src/goto_implementation.rs)0
-rw-r--r--crates/ide/src/goto_type_definition.rs (renamed from crates/ra_ide/src/goto_type_definition.rs)0
-rw-r--r--crates/ide/src/hover.rs (renamed from crates/ra_ide/src/hover.rs)0
-rw-r--r--crates/ide/src/inlay_hints.rs (renamed from crates/ra_ide/src/inlay_hints.rs)0
-rw-r--r--crates/ide/src/join_lines.rs (renamed from crates/ra_ide/src/join_lines.rs)0
-rw-r--r--crates/ide/src/lib.rs (renamed from crates/ra_ide/src/lib.rs)2
-rw-r--r--crates/ide/src/markup.rs (renamed from crates/ra_ide/src/markup.rs)0
-rw-r--r--crates/ide/src/matching_brace.rs (renamed from crates/ra_ide/src/matching_brace.rs)0
-rw-r--r--crates/ide/src/mock_analysis.rs (renamed from crates/ra_ide/src/mock_analysis.rs)0
-rw-r--r--crates/ide/src/parent_module.rs (renamed from crates/ra_ide/src/parent_module.rs)0
-rw-r--r--crates/ide/src/prime_caches.rs (renamed from crates/ra_ide/src/prime_caches.rs)0
-rw-r--r--crates/ide/src/references.rs (renamed from crates/ra_ide/src/references.rs)0
-rw-r--r--crates/ide/src/references/rename.rs (renamed from crates/ra_ide/src/references/rename.rs)0
-rw-r--r--crates/ide/src/runnables.rs (renamed from crates/ra_ide/src/runnables.rs)0
-rw-r--r--crates/ide/src/status.rs (renamed from crates/ra_ide/src/status.rs)0
-rw-r--r--crates/ide/src/syntax_highlighting.rs (renamed from crates/ra_ide/src/syntax_highlighting.rs)0
-rw-r--r--crates/ide/src/syntax_highlighting/html.rs (renamed from crates/ra_ide/src/syntax_highlighting/html.rs)0
-rw-r--r--crates/ide/src/syntax_highlighting/injection.rs (renamed from crates/ra_ide/src/syntax_highlighting/injection.rs)0
-rw-r--r--crates/ide/src/syntax_highlighting/tags.rs (renamed from crates/ra_ide/src/syntax_highlighting/tags.rs)0
-rw-r--r--crates/ide/src/syntax_highlighting/tests.rs (renamed from crates/ra_ide/src/syntax_highlighting/tests.rs)14
-rw-r--r--crates/ide/src/syntax_tree.rs (renamed from crates/ra_ide/src/syntax_tree.rs)0
-rw-r--r--crates/ide/src/typing.rs (renamed from crates/ra_ide/src/typing.rs)0
-rw-r--r--crates/ide/src/typing/on_enter.rs (renamed from crates/ra_ide/src/typing/on_enter.rs)0
-rw-r--r--crates/ide/test_data/highlight_doctest.html (renamed from crates/ra_ide/test_data/highlight_doctest.html)0
-rw-r--r--crates/ide/test_data/highlight_extern_crate.html (renamed from crates/ra_ide/test_data/highlight_extern_crate.html)0
-rw-r--r--crates/ide/test_data/highlight_injection.html (renamed from crates/ra_ide/test_data/highlight_injection.html)0
-rw-r--r--crates/ide/test_data/highlight_strings.html (renamed from crates/ra_ide/test_data/highlight_strings.html)0
-rw-r--r--crates/ide/test_data/highlight_unsafe.html (renamed from crates/ra_ide/test_data/highlight_unsafe.html)0
-rw-r--r--crates/ide/test_data/highlighting.html (renamed from crates/ra_ide/test_data/highlighting.html)0
-rw-r--r--crates/ide/test_data/rainbow_highlighting.html (renamed from crates/ra_ide/test_data/rainbow_highlighting.html)0
-rw-r--r--crates/ide_db/Cargo.toml2
-rw-r--r--crates/ide_db/src/defs.rs2
-rw-r--r--crates/paths/Cargo.toml4
-rw-r--r--crates/proc_macro_api/Cargo.toml7
-rw-r--r--crates/rust-analyzer/Cargo.toml11
-rw-r--r--crates/rust-analyzer/src/cargo_target_spec.rs2
-rw-r--r--crates/rust-analyzer/src/cli.rs2
-rw-r--r--crates/rust-analyzer/src/cli/analysis_bench.rs2
-rw-r--r--crates/rust-analyzer/src/cli/diagnostics.rs2
-rw-r--r--crates/rust-analyzer/src/cli/load_cargo.rs2
-rw-r--r--crates/rust-analyzer/src/config.rs2
-rw-r--r--crates/rust-analyzer/src/diagnostics.rs2
-rw-r--r--crates/rust-analyzer/src/from_proto.rs2
-rw-r--r--crates/rust-analyzer/src/global_state.rs2
-rw-r--r--crates/rust-analyzer/src/handlers.rs12
-rw-r--r--crates/rust-analyzer/src/lib.rs4
-rw-r--r--crates/rust-analyzer/src/lsp_utils.rs2
-rw-r--r--crates/rust-analyzer/src/main_loop.rs2
-rw-r--r--crates/rust-analyzer/src/reload.rs2
-rw-r--r--crates/rust-analyzer/src/to_proto.rs6
-rw-r--r--crates/ssr/Cargo.toml2
-rw-r--r--crates/stdx/Cargo.toml4
-rw-r--r--crates/test_utils/Cargo.toml7
-rw-r--r--crates/vfs-notify/Cargo.toml4
-rw-r--r--crates/vfs/Cargo.toml4
-rw-r--r--docs/dev/README.md4
-rw-r--r--docs/dev/architecture.md8
-rw-r--r--docs/dev/guide.md24
-rw-r--r--xtask/tests/tidy.rs2
96 files changed, 122 insertions, 125 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 621be0832..2386c8f3a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -346,7 +346,7 @@ dependencies = [
346 346
347[[package]] 347[[package]]
348name = "expect" 348name = "expect"
349version = "0.1.0" 349version = "0.0.0"
350dependencies = [ 350dependencies = [
351 "difference", 351 "difference",
352 "once_cell", 352 "once_cell",
@@ -385,7 +385,7 @@ dependencies = [
385 385
386[[package]] 386[[package]]
387name = "flycheck" 387name = "flycheck"
388version = "0.1.0" 388version = "0.0.0"
389dependencies = [ 389dependencies = [
390 "cargo_metadata", 390 "cargo_metadata",
391 "crossbeam-channel", 391 "crossbeam-channel",
@@ -580,6 +580,30 @@ dependencies = [
580] 580]
581 581
582[[package]] 582[[package]]
583name = "ide"
584version = "0.0.0"
585dependencies = [
586 "assists",
587 "base_db",
588 "cfg",
589 "either",
590 "expect",
591 "hir",
592 "ide_db",
593 "indexmap",
594 "itertools",
595 "log",
596 "oorandom",
597 "profile",
598 "rustc-hash",
599 "ssr",
600 "stdx",
601 "syntax",
602 "test_utils",
603 "text_edit",
604]
605
606[[package]]
583name = "ide_db" 607name = "ide_db"
584version = "0.0.0" 608version = "0.0.0"
585dependencies = [ 609dependencies = [
@@ -992,7 +1016,7 @@ dependencies = [
992 1016
993[[package]] 1017[[package]]
994name = "paths" 1018name = "paths"
995version = "0.1.0" 1019version = "0.0.0"
996 1020
997[[package]] 1021[[package]]
998name = "percent-encoding" 1022name = "percent-encoding"
@@ -1052,7 +1076,7 @@ dependencies = [
1052 1076
1053[[package]] 1077[[package]]
1054name = "proc_macro_api" 1078name = "proc_macro_api"
1055version = "0.1.0" 1079version = "0.0.0"
1056dependencies = [ 1080dependencies = [
1057 "crossbeam-channel", 1081 "crossbeam-channel",
1058 "jod-thread", 1082 "jod-thread",
@@ -1120,30 +1144,6 @@ dependencies = [
1120] 1144]
1121 1145
1122[[package]] 1146[[package]]
1123name = "ra_ide"
1124version = "0.1.0"
1125dependencies = [
1126 "assists",
1127 "base_db",
1128 "cfg",
1129 "either",
1130 "expect",
1131 "hir",
1132 "ide_db",
1133 "indexmap",
1134 "itertools",
1135 "log",
1136 "oorandom",
1137 "profile",
1138 "rustc-hash",
1139 "ssr",
1140 "stdx",
1141 "syntax",
1142 "test_utils",
1143 "text_edit",
1144]
1145
1146[[package]]
1147name = "rayon" 1147name = "rayon"
1148version = "1.3.1" 1148version = "1.3.1"
1149source = "registry+https://github.com/rust-lang/crates.io-index" 1149source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1213,7 +1213,7 @@ dependencies = [
1213 1213
1214[[package]] 1214[[package]]
1215name = "rust-analyzer" 1215name = "rust-analyzer"
1216version = "0.1.0" 1216version = "0.0.0"
1217dependencies = [ 1217dependencies = [
1218 "anyhow", 1218 "anyhow",
1219 "base_db", 1219 "base_db",
@@ -1225,6 +1225,7 @@ dependencies = [
1225 "hir", 1225 "hir",
1226 "hir_def", 1226 "hir_def",
1227 "hir_ty", 1227 "hir_ty",
1228 "ide",
1228 "ide_db", 1229 "ide_db",
1229 "itertools", 1230 "itertools",
1230 "jod-thread", 1231 "jod-thread",
@@ -1239,7 +1240,6 @@ dependencies = [
1239 "proc_macro_srv", 1240 "proc_macro_srv",
1240 "profile", 1241 "profile",
1241 "project_model", 1242 "project_model",
1242 "ra_ide",
1243 "rayon", 1243 "rayon",
1244 "rustc-hash", 1244 "rustc-hash",
1245 "serde", 1245 "serde",
@@ -1444,7 +1444,7 @@ dependencies = [
1444 1444
1445[[package]] 1445[[package]]
1446name = "ssr" 1446name = "ssr"
1447version = "0.1.0" 1447version = "0.0.0"
1448dependencies = [ 1448dependencies = [
1449 "base_db", 1449 "base_db",
1450 "expect", 1450 "expect",
@@ -1458,7 +1458,7 @@ dependencies = [
1458 1458
1459[[package]] 1459[[package]]
1460name = "stdx" 1460name = "stdx"
1461version = "0.1.0" 1461version = "0.0.0"
1462 1462
1463[[package]] 1463[[package]]
1464name = "syn" 1464name = "syn"
@@ -1515,7 +1515,7 @@ dependencies = [
1515 1515
1516[[package]] 1516[[package]]
1517name = "test_utils" 1517name = "test_utils"
1518version = "0.1.0" 1518version = "0.0.0"
1519dependencies = [ 1519dependencies = [
1520 "difference", 1520 "difference",
1521 "rustc-hash", 1521 "rustc-hash",
@@ -1729,7 +1729,7 @@ dependencies = [
1729 1729
1730[[package]] 1730[[package]]
1731name = "vfs" 1731name = "vfs"
1732version = "0.1.0" 1732version = "0.0.0"
1733dependencies = [ 1733dependencies = [
1734 "fst", 1734 "fst",
1735 "paths", 1735 "paths",
@@ -1738,7 +1738,7 @@ dependencies = [
1738 1738
1739[[package]] 1739[[package]]
1740name = "vfs-notify" 1740name = "vfs-notify"
1741version = "0.1.0" 1741version = "0.0.0"
1742dependencies = [ 1742dependencies = [
1743 "crossbeam-channel", 1743 "crossbeam-channel",
1744 "jod-thread", 1744 "jod-thread",
diff --git a/README.md b/README.md
index 16c980400..264e4da70 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frls-2.2E0
39 39
40* Website: https://rust-analyzer.github.io/ 40* Website: https://rust-analyzer.github.io/
41* Metrics: https://rust-analyzer.github.io/metrics/ 41* Metrics: https://rust-analyzer.github.io/metrics/
42* API docs: https://rust-analyzer.github.io/rust-analyzer/ra_ide/ 42* API docs: https://rust-analyzer.github.io/rust-analyzer/ide/
43 43
44## License 44## License
45 45
diff --git a/crates/base_db/src/lib.rs b/crates/base_db/src/lib.rs
index 811057251..ee3415850 100644
--- a/crates/base_db/src/lib.rs
+++ b/crates/base_db/src/lib.rs
@@ -1,4 +1,4 @@
1//! base_db defines basic database traits. The concrete DB is defined by ra_ide. 1//! base_db defines basic database traits. The concrete DB is defined by ide.
2mod cancellation; 2mod cancellation;
3mod input; 3mod input;
4pub mod fixture; 4pub mod fixture;
diff --git a/crates/expect/Cargo.toml b/crates/expect/Cargo.toml
index 77775630d..b54d3a60e 100644
--- a/crates/expect/Cargo.toml
+++ b/crates/expect/Cargo.toml
@@ -1,9 +1,9 @@
1[package] 1[package]
2name = "expect" 2name = "expect"
3version = "0.1.0" 3version = "0.0.0"
4license = "MIT OR Apache-2.0"
4authors = ["rust-analyzer developers"] 5authors = ["rust-analyzer developers"]
5edition = "2018" 6edition = "2018"
6license = "MIT OR Apache-2.0"
7 7
8[lib] 8[lib]
9doctest = false 9doctest = false
@@ -11,4 +11,5 @@ doctest = false
11[dependencies] 11[dependencies]
12once_cell = "1" 12once_cell = "1"
13difference = "2" 13difference = "2"
14
14stdx = { path = "../stdx" } 15stdx = { path = "../stdx" }
diff --git a/crates/flycheck/Cargo.toml b/crates/flycheck/Cargo.toml
index acc72bc59..262a66e4e 100644
--- a/crates/flycheck/Cargo.toml
+++ b/crates/flycheck/Cargo.toml
@@ -1,9 +1,9 @@
1[package] 1[package]
2edition = "2018"
3name = "flycheck" 2name = "flycheck"
4version = "0.1.0" 3version = "0.0.0"
5authors = ["rust-analyzer developers"]
6license = "MIT OR Apache-2.0" 4license = "MIT OR Apache-2.0"
5authors = ["rust-analyzer developers"]
6edition = "2018"
7 7
8[lib] 8[lib]
9doctest = false 9doctest = false
@@ -14,4 +14,5 @@ log = "0.4.8"
14cargo_metadata = "0.11.1" 14cargo_metadata = "0.11.1"
15serde_json = "1.0.48" 15serde_json = "1.0.48"
16jod-thread = "0.1.1" 16jod-thread = "0.1.1"
17
17toolchain = { path = "../toolchain" } 18toolchain = { path = "../toolchain" }
diff --git a/crates/ra_ide/Cargo.toml b/crates/ide/Cargo.toml
index 2eb86755f..e4b970c73 100644
--- a/crates/ra_ide/Cargo.toml
+++ b/crates/ide/Cargo.toml
@@ -1,16 +1,13 @@
1[package] 1[package]
2edition = "2018" 2name = "ide"
3name = "ra_ide" 3version = "0.0.0"
4version = "0.1.0"
5authors = ["rust-analyzer developers"]
6license = "MIT OR Apache-2.0" 4license = "MIT OR Apache-2.0"
5authors = ["rust-analyzer developers"]
6edition = "2018"
7 7
8[lib] 8[lib]
9doctest = false 9doctest = false
10 10
11[features]
12wasm = []
13
14[dependencies] 11[dependencies]
15either = "1.5.3" 12either = "1.5.3"
16indexmap = "1.3.2" 13indexmap = "1.3.2"
@@ -20,7 +17,6 @@ rustc-hash = "1.1.0"
20oorandom = "11.1.2" 17oorandom = "11.1.2"
21 18
22stdx = { path = "../stdx" } 19stdx = { path = "../stdx" }
23
24syntax = { path = "../syntax" } 20syntax = { path = "../syntax" }
25text_edit = { path = "../text_edit" } 21text_edit = { path = "../text_edit" }
26base_db = { path = "../base_db" } 22base_db = { path = "../base_db" }
@@ -31,7 +27,7 @@ test_utils = { path = "../test_utils" }
31assists = { path = "../assists" } 27assists = { path = "../assists" }
32ssr = { path = "../ssr" } 28ssr = { path = "../ssr" }
33 29
34# ra_ide should depend only on the top-level `hir` package. if you need 30# ide should depend only on the top-level `hir` package. if you need
35# something from some `hir_xxx` subpackage, reexport the API via `hir`. 31# something from some `hir_xxx` subpackage, reexport the API via `hir`.
36hir = { path = "../hir" } 32hir = { path = "../hir" }
37 33
diff --git a/crates/ra_ide/src/call_hierarchy.rs b/crates/ide/src/call_hierarchy.rs
index 58e26b94c..58e26b94c 100644
--- a/crates/ra_ide/src/call_hierarchy.rs
+++ b/crates/ide/src/call_hierarchy.rs
diff --git a/crates/ra_ide/src/call_info.rs b/crates/ide/src/call_info.rs
index 86abd2d8c..86abd2d8c 100644
--- a/crates/ra_ide/src/call_info.rs
+++ b/crates/ide/src/call_info.rs
diff --git a/crates/ra_ide/src/completion.rs b/crates/ide/src/completion.rs
index 7fb4d687e..7fb4d687e 100644
--- a/crates/ra_ide/src/completion.rs
+++ b/crates/ide/src/completion.rs
diff --git a/crates/ra_ide/src/completion/complete_attribute.rs b/crates/ide/src/completion/complete_attribute.rs
index 603d935de..603d935de 100644
--- a/crates/ra_ide/src/completion/complete_attribute.rs
+++ b/crates/ide/src/completion/complete_attribute.rs
diff --git a/crates/ra_ide/src/completion/complete_dot.rs b/crates/ide/src/completion/complete_dot.rs
index 532665285..532665285 100644
--- a/crates/ra_ide/src/completion/complete_dot.rs
+++ b/crates/ide/src/completion/complete_dot.rs
diff --git a/crates/ra_ide/src/completion/complete_fn_param.rs b/crates/ide/src/completion/complete_fn_param.rs
index 7c63ce58f..7c63ce58f 100644
--- a/crates/ra_ide/src/completion/complete_fn_param.rs
+++ b/crates/ide/src/completion/complete_fn_param.rs
diff --git a/crates/ra_ide/src/completion/complete_keyword.rs b/crates/ide/src/completion/complete_keyword.rs
index a80708935..a80708935 100644
--- a/crates/ra_ide/src/completion/complete_keyword.rs
+++ b/crates/ide/src/completion/complete_keyword.rs
diff --git a/crates/ra_ide/src/completion/complete_macro_in_item_position.rs b/crates/ide/src/completion/complete_macro_in_item_position.rs
index 0447f0511..0447f0511 100644
--- a/crates/ra_ide/src/completion/complete_macro_in_item_position.rs
+++ b/crates/ide/src/completion/complete_macro_in_item_position.rs
diff --git a/crates/ra_ide/src/completion/complete_pattern.rs b/crates/ide/src/completion/complete_pattern.rs
index aceb77cb5..aceb77cb5 100644
--- a/crates/ra_ide/src/completion/complete_pattern.rs
+++ b/crates/ide/src/completion/complete_pattern.rs
diff --git a/crates/ra_ide/src/completion/complete_postfix.rs b/crates/ide/src/completion/complete_postfix.rs
index d50b13c52..d50b13c52 100644
--- a/crates/ra_ide/src/completion/complete_postfix.rs
+++ b/crates/ide/src/completion/complete_postfix.rs
diff --git a/crates/ra_ide/src/completion/complete_qualified_path.rs b/crates/ide/src/completion/complete_qualified_path.rs
index cb7dd23c1..cb7dd23c1 100644
--- a/crates/ra_ide/src/completion/complete_qualified_path.rs
+++ b/crates/ide/src/completion/complete_qualified_path.rs
diff --git a/crates/ra_ide/src/completion/complete_record.rs b/crates/ide/src/completion/complete_record.rs
index 74b94594d..74b94594d 100644
--- a/crates/ra_ide/src/completion/complete_record.rs
+++ b/crates/ide/src/completion/complete_record.rs
diff --git a/crates/ra_ide/src/completion/complete_snippet.rs b/crates/ide/src/completion/complete_snippet.rs
index 4368e4eec..4368e4eec 100644
--- a/crates/ra_ide/src/completion/complete_snippet.rs
+++ b/crates/ide/src/completion/complete_snippet.rs
diff --git a/crates/ra_ide/src/completion/complete_trait_impl.rs b/crates/ide/src/completion/complete_trait_impl.rs
index 478e31262..478e31262 100644
--- a/crates/ra_ide/src/completion/complete_trait_impl.rs
+++ b/crates/ide/src/completion/complete_trait_impl.rs
diff --git a/crates/ra_ide/src/completion/complete_unqualified_path.rs b/crates/ide/src/completion/complete_unqualified_path.rs
index 824227f31..824227f31 100644
--- a/crates/ra_ide/src/completion/complete_unqualified_path.rs
+++ b/crates/ide/src/completion/complete_unqualified_path.rs
diff --git a/crates/ra_ide/src/completion/completion_config.rs b/crates/ide/src/completion/completion_config.rs
index 71b49ace8..71b49ace8 100644
--- a/crates/ra_ide/src/completion/completion_config.rs
+++ b/crates/ide/src/completion/completion_config.rs
diff --git a/crates/ra_ide/src/completion/completion_context.rs b/crates/ide/src/completion/completion_context.rs
index 047ecd9d7..047ecd9d7 100644
--- a/crates/ra_ide/src/completion/completion_context.rs
+++ b/crates/ide/src/completion/completion_context.rs
diff --git a/crates/ra_ide/src/completion/completion_item.rs b/crates/ide/src/completion/completion_item.rs
index 9377cdc57..9377cdc57 100644
--- a/crates/ra_ide/src/completion/completion_item.rs
+++ b/crates/ide/src/completion/completion_item.rs
diff --git a/crates/ra_ide/src/completion/patterns.rs b/crates/ide/src/completion/patterns.rs
index ffc97c076..ffc97c076 100644
--- a/crates/ra_ide/src/completion/patterns.rs
+++ b/crates/ide/src/completion/patterns.rs
diff --git a/crates/ra_ide/src/completion/presentation.rs b/crates/ide/src/completion/presentation.rs
index e1b1ea4ce..e1b1ea4ce 100644
--- a/crates/ra_ide/src/completion/presentation.rs
+++ b/crates/ide/src/completion/presentation.rs
diff --git a/crates/ra_ide/src/completion/test_utils.rs b/crates/ide/src/completion/test_utils.rs
index 1452d7e9e..1452d7e9e 100644
--- a/crates/ra_ide/src/completion/test_utils.rs
+++ b/crates/ide/src/completion/test_utils.rs
diff --git a/crates/ra_ide/src/diagnostics.rs b/crates/ide/src/diagnostics.rs
index a3ec98178..a3ec98178 100644
--- a/crates/ra_ide/src/diagnostics.rs
+++ b/crates/ide/src/diagnostics.rs
diff --git a/crates/ra_ide/src/diagnostics/diagnostics_with_fix.rs b/crates/ide/src/diagnostics/diagnostics_with_fix.rs
index 85b46c995..85b46c995 100644
--- a/crates/ra_ide/src/diagnostics/diagnostics_with_fix.rs
+++ b/crates/ide/src/diagnostics/diagnostics_with_fix.rs
diff --git a/crates/ra_ide/src/display.rs b/crates/ide/src/display.rs
index 41b5bdc49..41b5bdc49 100644
--- a/crates/ra_ide/src/display.rs
+++ b/crates/ide/src/display.rs
diff --git a/crates/ra_ide/src/display/navigation_target.rs b/crates/ide/src/display/navigation_target.rs
index e77106177..e77106177 100644
--- a/crates/ra_ide/src/display/navigation_target.rs
+++ b/crates/ide/src/display/navigation_target.rs
diff --git a/crates/ra_ide/src/display/short_label.rs b/crates/ide/src/display/short_label.rs
index ea49d9f97..ea49d9f97 100644
--- a/crates/ra_ide/src/display/short_label.rs
+++ b/crates/ide/src/display/short_label.rs
diff --git a/crates/ra_ide/src/expand_macro.rs b/crates/ide/src/expand_macro.rs
index 31455709d..31455709d 100644
--- a/crates/ra_ide/src/expand_macro.rs
+++ b/crates/ide/src/expand_macro.rs
diff --git a/crates/ra_ide/src/extend_selection.rs b/crates/ide/src/extend_selection.rs
index 34563a026..34563a026 100644
--- a/crates/ra_ide/src/extend_selection.rs
+++ b/crates/ide/src/extend_selection.rs
diff --git a/crates/ra_ide/src/file_structure.rs b/crates/ide/src/file_structure.rs
index c90247ba6..c90247ba6 100644
--- a/crates/ra_ide/src/file_structure.rs
+++ b/crates/ide/src/file_structure.rs
diff --git a/crates/ra_ide/src/folding_ranges.rs b/crates/ide/src/folding_ranges.rs
index 7523aec55..7523aec55 100644
--- a/crates/ra_ide/src/folding_ranges.rs
+++ b/crates/ide/src/folding_ranges.rs
diff --git a/crates/ra_ide/src/goto_definition.rs b/crates/ide/src/goto_definition.rs
index 15e9b7fad..15e9b7fad 100644
--- a/crates/ra_ide/src/goto_definition.rs
+++ b/crates/ide/src/goto_definition.rs
diff --git a/crates/ra_ide/src/goto_implementation.rs b/crates/ide/src/goto_implementation.rs
index f503f4ec5..f503f4ec5 100644
--- a/crates/ra_ide/src/goto_implementation.rs
+++ b/crates/ide/src/goto_implementation.rs
diff --git a/crates/ra_ide/src/goto_type_definition.rs b/crates/ide/src/goto_type_definition.rs
index 4a151b150..4a151b150 100644
--- a/crates/ra_ide/src/goto_type_definition.rs
+++ b/crates/ide/src/goto_type_definition.rs
diff --git a/crates/ra_ide/src/hover.rs b/crates/ide/src/hover.rs
index 331aa4db0..331aa4db0 100644
--- a/crates/ra_ide/src/hover.rs
+++ b/crates/ide/src/hover.rs
diff --git a/crates/ra_ide/src/inlay_hints.rs b/crates/ide/src/inlay_hints.rs
index 002adf915..002adf915 100644
--- a/crates/ra_ide/src/inlay_hints.rs
+++ b/crates/ide/src/inlay_hints.rs
diff --git a/crates/ra_ide/src/join_lines.rs b/crates/ide/src/join_lines.rs
index e37702acd..e37702acd 100644
--- a/crates/ra_ide/src/join_lines.rs
+++ b/crates/ide/src/join_lines.rs
diff --git a/crates/ra_ide/src/lib.rs b/crates/ide/src/lib.rs
index 4321a6b74..eb6389529 100644
--- a/crates/ra_ide/src/lib.rs
+++ b/crates/ide/src/lib.rs
@@ -1,4 +1,4 @@
1//! ra_ide crate provides "ide-centric" APIs for the rust-analyzer. That is, 1//! ide crate provides "ide-centric" APIs for the rust-analyzer. That is,
2//! it generally operates with files and text ranges, and returns results as 2//! it generally operates with files and text ranges, and returns results as
3//! Strings, suitable for displaying to the human. 3//! Strings, suitable for displaying to the human.
4//! 4//!
diff --git a/crates/ra_ide/src/markup.rs b/crates/ide/src/markup.rs
index 60c193c40..60c193c40 100644
--- a/crates/ra_ide/src/markup.rs
+++ b/crates/ide/src/markup.rs
diff --git a/crates/ra_ide/src/matching_brace.rs b/crates/ide/src/matching_brace.rs
index cb6abb0db..cb6abb0db 100644
--- a/crates/ra_ide/src/matching_brace.rs
+++ b/crates/ide/src/matching_brace.rs
diff --git a/crates/ra_ide/src/mock_analysis.rs b/crates/ide/src/mock_analysis.rs
index 363e6d27e..363e6d27e 100644
--- a/crates/ra_ide/src/mock_analysis.rs
+++ b/crates/ide/src/mock_analysis.rs
diff --git a/crates/ra_ide/src/parent_module.rs b/crates/ide/src/parent_module.rs
index 59ed2967c..59ed2967c 100644
--- a/crates/ra_ide/src/parent_module.rs
+++ b/crates/ide/src/parent_module.rs
diff --git a/crates/ra_ide/src/prime_caches.rs b/crates/ide/src/prime_caches.rs
index c5ab5a1d8..c5ab5a1d8 100644
--- a/crates/ra_ide/src/prime_caches.rs
+++ b/crates/ide/src/prime_caches.rs
diff --git a/crates/ra_ide/src/references.rs b/crates/ide/src/references.rs
index 0a76ec6b4..0a76ec6b4 100644
--- a/crates/ra_ide/src/references.rs
+++ b/crates/ide/src/references.rs
diff --git a/crates/ra_ide/src/references/rename.rs b/crates/ide/src/references/rename.rs
index d73dc9cd0..d73dc9cd0 100644
--- a/crates/ra_ide/src/references/rename.rs
+++ b/crates/ide/src/references/rename.rs
diff --git a/crates/ra_ide/src/runnables.rs b/crates/ide/src/runnables.rs
index c3e07c8de..c3e07c8de 100644
--- a/crates/ra_ide/src/runnables.rs
+++ b/crates/ide/src/runnables.rs
diff --git a/crates/ra_ide/src/status.rs b/crates/ide/src/status.rs
index c23708181..c23708181 100644
--- a/crates/ra_ide/src/status.rs
+++ b/crates/ide/src/status.rs
diff --git a/crates/ra_ide/src/syntax_highlighting.rs b/crates/ide/src/syntax_highlighting.rs
index 5d7c7e8d0..5d7c7e8d0 100644
--- a/crates/ra_ide/src/syntax_highlighting.rs
+++ b/crates/ide/src/syntax_highlighting.rs
diff --git a/crates/ra_ide/src/syntax_highlighting/html.rs b/crates/ide/src/syntax_highlighting/html.rs
index 249368ff8..249368ff8 100644
--- a/crates/ra_ide/src/syntax_highlighting/html.rs
+++ b/crates/ide/src/syntax_highlighting/html.rs
diff --git a/crates/ra_ide/src/syntax_highlighting/injection.rs b/crates/ide/src/syntax_highlighting/injection.rs
index 43f4e6fea..43f4e6fea 100644
--- a/crates/ra_ide/src/syntax_highlighting/injection.rs
+++ b/crates/ide/src/syntax_highlighting/injection.rs
diff --git a/crates/ra_ide/src/syntax_highlighting/tags.rs b/crates/ide/src/syntax_highlighting/tags.rs
index 49ec94bdc..49ec94bdc 100644
--- a/crates/ra_ide/src/syntax_highlighting/tags.rs
+++ b/crates/ide/src/syntax_highlighting/tags.rs
diff --git a/crates/ra_ide/src/syntax_highlighting/tests.rs b/crates/ide/src/syntax_highlighting/tests.rs
index 594f61e85..94f37d773 100644
--- a/crates/ra_ide/src/syntax_highlighting/tests.rs
+++ b/crates/ide/src/syntax_highlighting/tests.rs
@@ -105,7 +105,7 @@ impl<T> Option<T> {
105} 105}
106"# 106"#
107 .trim(), 107 .trim(),
108 expect_file!["crates/ra_ide/test_data/highlighting.html"], 108 expect_file!["crates/ide/test_data/highlighting.html"],
109 false, 109 false,
110 ); 110 );
111} 111}
@@ -128,7 +128,7 @@ fn bar() {
128} 128}
129"# 129"#
130 .trim(), 130 .trim(),
131 expect_file!["crates/ra_ide/test_data/rainbow_highlighting.html"], 131 expect_file!["crates/ide/test_data/rainbow_highlighting.html"],
132 true, 132 true,
133 ); 133 );
134} 134}
@@ -181,7 +181,7 @@ fn main() {
181 ); 181 );
182}"## 182}"##
183 .trim(), 183 .trim(),
184 expect_file!["crates/ra_ide/test_data/highlight_injection.html"], 184 expect_file!["crates/ide/test_data/highlight_injection.html"],
185 false, 185 false,
186 ); 186 );
187} 187}
@@ -264,7 +264,7 @@ fn main() {
264 println!("{ничоси}", ничоси = 92); 264 println!("{ничоси}", ничоси = 92);
265}"# 265}"#
266 .trim(), 266 .trim(),
267 expect_file!["crates/ra_ide/test_data/highlight_strings.html"], 267 expect_file!["crates/ide/test_data/highlight_strings.html"],
268 false, 268 false,
269 ); 269 );
270} 270}
@@ -337,7 +337,7 @@ fn main() {
337} 337}
338"# 338"#
339 .trim(), 339 .trim(),
340 expect_file!["crates/ra_ide/test_data/highlight_unsafe.html"], 340 expect_file!["crates/ide/test_data/highlight_unsafe.html"],
341 false, 341 false,
342 ); 342 );
343} 343}
@@ -413,7 +413,7 @@ macro_rules! noop {
413} 413}
414"# 414"#
415 .trim(), 415 .trim(),
416 expect_file!["crates/ra_ide/test_data/highlight_doctest.html"], 416 expect_file!["crates/ide/test_data/highlight_doctest.html"],
417 false, 417 false,
418 ); 418 );
419} 419}
@@ -430,7 +430,7 @@ fn test_extern_crate() {
430 //- /alloc/lib.rs 430 //- /alloc/lib.rs
431 pub struct A 431 pub struct A
432 "#, 432 "#,
433 expect_file!["crates/ra_ide/test_data/highlight_extern_crate.html"], 433 expect_file!["crates/ide/test_data/highlight_extern_crate.html"],
434 false, 434 false,
435 ); 435 );
436} 436}
diff --git a/crates/ra_ide/src/syntax_tree.rs b/crates/ide/src/syntax_tree.rs
index f80044959..f80044959 100644
--- a/crates/ra_ide/src/syntax_tree.rs
+++ b/crates/ide/src/syntax_tree.rs
diff --git a/crates/ra_ide/src/typing.rs b/crates/ide/src/typing.rs
index 899ce5f26..899ce5f26 100644
--- a/crates/ra_ide/src/typing.rs
+++ b/crates/ide/src/typing.rs
diff --git a/crates/ra_ide/src/typing/on_enter.rs b/crates/ide/src/typing/on_enter.rs
index f7d46146c..f7d46146c 100644
--- a/crates/ra_ide/src/typing/on_enter.rs
+++ b/crates/ide/src/typing/on_enter.rs
diff --git a/crates/ra_ide/test_data/highlight_doctest.html b/crates/ide/test_data/highlight_doctest.html
index 6322d404f..6322d404f 100644
--- a/crates/ra_ide/test_data/highlight_doctest.html
+++ b/crates/ide/test_data/highlight_doctest.html
diff --git a/crates/ra_ide/test_data/highlight_extern_crate.html b/crates/ide/test_data/highlight_extern_crate.html
index 800d894c7..800d894c7 100644
--- a/crates/ra_ide/test_data/highlight_extern_crate.html
+++ b/crates/ide/test_data/highlight_extern_crate.html
diff --git a/crates/ra_ide/test_data/highlight_injection.html b/crates/ide/test_data/highlight_injection.html
index 18addd00d..18addd00d 100644
--- a/crates/ra_ide/test_data/highlight_injection.html
+++ b/crates/ide/test_data/highlight_injection.html
diff --git a/crates/ra_ide/test_data/highlight_strings.html b/crates/ide/test_data/highlight_strings.html
index 1b681b2c6..1b681b2c6 100644
--- a/crates/ra_ide/test_data/highlight_strings.html
+++ b/crates/ide/test_data/highlight_strings.html
diff --git a/crates/ra_ide/test_data/highlight_unsafe.html b/crates/ide/test_data/highlight_unsafe.html
index 552fea668..552fea668 100644
--- a/crates/ra_ide/test_data/highlight_unsafe.html
+++ b/crates/ide/test_data/highlight_unsafe.html
diff --git a/crates/ra_ide/test_data/highlighting.html b/crates/ide/test_data/highlighting.html
index 8e0160eee..8e0160eee 100644
--- a/crates/ra_ide/test_data/highlighting.html
+++ b/crates/ide/test_data/highlighting.html
diff --git a/crates/ra_ide/test_data/rainbow_highlighting.html b/crates/ide/test_data/rainbow_highlighting.html
index 401e87a73..401e87a73 100644
--- a/crates/ra_ide/test_data/rainbow_highlighting.html
+++ b/crates/ide/test_data/rainbow_highlighting.html
diff --git a/crates/ide_db/Cargo.toml b/crates/ide_db/Cargo.toml
index 885212162..692fb6415 100644
--- a/crates/ide_db/Cargo.toml
+++ b/crates/ide_db/Cargo.toml
@@ -25,6 +25,6 @@ text_edit = { path = "../text_edit" }
25base_db = { path = "../base_db" } 25base_db = { path = "../base_db" }
26profile = { path = "../profile" } 26profile = { path = "../profile" }
27test_utils = { path = "../test_utils" } 27test_utils = { path = "../test_utils" }
28# ra_ide should depend only on the top-level `hir` package. if you need 28# ide should depend only on the top-level `hir` package. if you need
29# something from some `hir_xxx` subpackage, reexport the API via `hir`. 29# something from some `hir_xxx` subpackage, reexport the API via `hir`.
30hir = { path = "../hir" } 30hir = { path = "../hir" }
diff --git a/crates/ide_db/src/defs.rs b/crates/ide_db/src/defs.rs
index 7b5d6ac49..0d0affc27 100644
--- a/crates/ide_db/src/defs.rs
+++ b/crates/ide_db/src/defs.rs
@@ -243,7 +243,7 @@ impl NameRefClass {
243} 243}
244 244
245// Note: we don't have unit-tests for this rather important function. 245// Note: we don't have unit-tests for this rather important function.
246// It is primarily exercised via goto definition tests in `ra_ide`. 246// It is primarily exercised via goto definition tests in `ide`.
247pub fn classify_name_ref( 247pub fn classify_name_ref(
248 sema: &Semantics<RootDatabase>, 248 sema: &Semantics<RootDatabase>,
249 name_ref: &ast::NameRef, 249 name_ref: &ast::NameRef,
diff --git a/crates/paths/Cargo.toml b/crates/paths/Cargo.toml
index cbe2c26e2..5ac18d63b 100644
--- a/crates/paths/Cargo.toml
+++ b/crates/paths/Cargo.toml
@@ -1,9 +1,9 @@
1[package] 1[package]
2name = "paths" 2name = "paths"
3version = "0.1.0" 3version = "0.0.0"
4license = "MIT OR Apache-2.0"
4authors = ["rust-analyzer developers"] 5authors = ["rust-analyzer developers"]
5edition = "2018" 6edition = "2018"
6license = "MIT OR Apache-2.0"
7 7
8[lib] 8[lib]
9doctest = false 9doctest = false
diff --git a/crates/proc_macro_api/Cargo.toml b/crates/proc_macro_api/Cargo.toml
index c1abb5627..a3a4c1103 100644
--- a/crates/proc_macro_api/Cargo.toml
+++ b/crates/proc_macro_api/Cargo.toml
@@ -1,10 +1,9 @@
1[package] 1[package]
2edition = "2018"
3name = "proc_macro_api" 2name = "proc_macro_api"
4version = "0.1.0" 3version = "0.0.0"
5authors = ["rust-analyzer developers"]
6publish = false
7license = "MIT OR Apache-2.0" 4license = "MIT OR Apache-2.0"
5authors = ["rust-analyzer developers"]
6edition = "2018"
8 7
9[lib] 8[lib]
10doctest = false 9doctest = false
diff --git a/crates/rust-analyzer/Cargo.toml b/crates/rust-analyzer/Cargo.toml
index 749cf648c..c7c1eda0f 100644
--- a/crates/rust-analyzer/Cargo.toml
+++ b/crates/rust-analyzer/Cargo.toml
@@ -1,10 +1,10 @@
1[package] 1[package]
2edition = "2018"
3name = "rust-analyzer" 2name = "rust-analyzer"
4version = "0.1.0" 3version = "0.0.0"
4license = "MIT OR Apache-2.0"
5authors = ["rust-analyzer developers"] 5authors = ["rust-analyzer developers"]
6autobins = false 6autobins = false
7license = "MIT OR Apache-2.0" 7edition = "2018"
8 8
9[lib] 9[lib]
10doctest = false 10doctest = false
@@ -30,12 +30,11 @@ serde_json = "1.0.48"
30threadpool = "1.7.1" 30threadpool = "1.7.1"
31rayon = "1.3.1" 31rayon = "1.3.1"
32mimalloc = { version = "0.1.19", default-features = false, optional = true } 32mimalloc = { version = "0.1.19", default-features = false, optional = true }
33lsp-server = "0.3.3"
33 34
34stdx = { path = "../stdx" } 35stdx = { path = "../stdx" }
35
36lsp-server = "0.3.3"
37flycheck = { path = "../flycheck" } 36flycheck = { path = "../flycheck" }
38ra_ide = { path = "../ra_ide" } 37ide = { path = "../ide" }
39profile = { path = "../profile" } 38profile = { path = "../profile" }
40project_model = { path = "../project_model" } 39project_model = { path = "../project_model" }
41syntax = { path = "../syntax" } 40syntax = { path = "../syntax" }
diff --git a/crates/rust-analyzer/src/cargo_target_spec.rs b/crates/rust-analyzer/src/cargo_target_spec.rs
index 5ba30dbad..3041915e1 100644
--- a/crates/rust-analyzer/src/cargo_target_spec.rs
+++ b/crates/rust-analyzer/src/cargo_target_spec.rs
@@ -1,8 +1,8 @@
1//! See `CargoTargetSpec` 1//! See `CargoTargetSpec`
2 2
3use cfg::CfgExpr; 3use cfg::CfgExpr;
4use ide::{FileId, RunnableKind, TestId};
4use project_model::{self, TargetKind}; 5use project_model::{self, TargetKind};
5use ra_ide::{FileId, RunnableKind, TestId};
6use vfs::AbsPathBuf; 6use vfs::AbsPathBuf;
7 7
8use crate::{global_state::GlobalStateSnapshot, Result}; 8use crate::{global_state::GlobalStateSnapshot, Result};
diff --git a/crates/rust-analyzer/src/cli.rs b/crates/rust-analyzer/src/cli.rs
index b237a94d1..6966ee576 100644
--- a/crates/rust-analyzer/src/cli.rs
+++ b/crates/rust-analyzer/src/cli.rs
@@ -10,7 +10,7 @@ mod ssr;
10use std::io::Read; 10use std::io::Read;
11 11
12use anyhow::Result; 12use anyhow::Result;
13use ra_ide::Analysis; 13use ide::Analysis;
14use syntax::{AstNode, SourceFile}; 14use syntax::{AstNode, SourceFile};
15 15
16pub use self::{ 16pub use self::{
diff --git a/crates/rust-analyzer/src/cli/analysis_bench.rs b/crates/rust-analyzer/src/cli/analysis_bench.rs
index b20a1675e..0f614f9e0 100644
--- a/crates/rust-analyzer/src/cli/analysis_bench.rs
+++ b/crates/rust-analyzer/src/cli/analysis_bench.rs
@@ -7,7 +7,7 @@ use base_db::{
7 salsa::{Database, Durability}, 7 salsa::{Database, Durability},
8 FileId, 8 FileId,
9}; 9};
10use ra_ide::{Analysis, AnalysisChange, AnalysisHost, CompletionConfig, FilePosition, LineCol}; 10use ide::{Analysis, AnalysisChange, AnalysisHost, CompletionConfig, FilePosition, LineCol};
11use vfs::AbsPathBuf; 11use vfs::AbsPathBuf;
12 12
13use crate::{ 13use crate::{
diff --git a/crates/rust-analyzer/src/cli/diagnostics.rs b/crates/rust-analyzer/src/cli/diagnostics.rs
index 56403cabe..3371c4fd3 100644
--- a/crates/rust-analyzer/src/cli/diagnostics.rs
+++ b/crates/rust-analyzer/src/cli/diagnostics.rs
@@ -8,7 +8,7 @@ use rustc_hash::FxHashSet;
8 8
9use base_db::SourceDatabaseExt; 9use base_db::SourceDatabaseExt;
10use hir::Crate; 10use hir::Crate;
11use ra_ide::Severity; 11use ide::Severity;
12 12
13use crate::cli::{load_cargo::load_cargo, Result}; 13use crate::cli::{load_cargo::load_cargo, Result};
14 14
diff --git a/crates/rust-analyzer/src/cli/load_cargo.rs b/crates/rust-analyzer/src/cli/load_cargo.rs
index 542734803..c47cf6ef3 100644
--- a/crates/rust-analyzer/src/cli/load_cargo.rs
+++ b/crates/rust-analyzer/src/cli/load_cargo.rs
@@ -5,8 +5,8 @@ use std::{path::Path, sync::Arc};
5use anyhow::Result; 5use anyhow::Result;
6use base_db::CrateGraph; 6use base_db::CrateGraph;
7use crossbeam_channel::{unbounded, Receiver}; 7use crossbeam_channel::{unbounded, Receiver};
8use ide::{AnalysisChange, AnalysisHost};
8use project_model::{CargoConfig, ProcMacroClient, ProjectManifest, ProjectWorkspace}; 9use project_model::{CargoConfig, ProcMacroClient, ProjectManifest, ProjectWorkspace};
9use ra_ide::{AnalysisChange, AnalysisHost};
10use vfs::{loader::Handle, AbsPath, AbsPathBuf}; 10use vfs::{loader::Handle, AbsPath, AbsPathBuf};
11 11
12use crate::reload::{ProjectFolders, SourceRootConfig}; 12use crate::reload::{ProjectFolders, SourceRootConfig};
diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs
index bfc84147c..33fb5e9c2 100644
--- a/crates/rust-analyzer/src/config.rs
+++ b/crates/rust-analyzer/src/config.rs
@@ -10,9 +10,9 @@
10use std::{ffi::OsString, path::PathBuf}; 10use std::{ffi::OsString, path::PathBuf};
11 11
12use flycheck::FlycheckConfig; 12use flycheck::FlycheckConfig;
13use ide::{AssistConfig, CompletionConfig, HoverConfig, InlayHintsConfig};
13use lsp_types::ClientCapabilities; 14use lsp_types::ClientCapabilities;
14use project_model::{CargoConfig, ProjectJson, ProjectJsonData, ProjectManifest}; 15use project_model::{CargoConfig, ProjectJson, ProjectJsonData, ProjectManifest};
15use ra_ide::{AssistConfig, CompletionConfig, HoverConfig, InlayHintsConfig};
16use serde::Deserialize; 16use serde::Deserialize;
17use vfs::AbsPathBuf; 17use vfs::AbsPathBuf;
18 18
diff --git a/crates/rust-analyzer/src/diagnostics.rs b/crates/rust-analyzer/src/diagnostics.rs
index d24c55cee..108df3eb0 100644
--- a/crates/rust-analyzer/src/diagnostics.rs
+++ b/crates/rust-analyzer/src/diagnostics.rs
@@ -3,7 +3,7 @@ pub(crate) mod to_proto;
3 3
4use std::{mem, sync::Arc}; 4use std::{mem, sync::Arc};
5 5
6use ra_ide::FileId; 6use ide::FileId;
7use rustc_hash::{FxHashMap, FxHashSet}; 7use rustc_hash::{FxHashMap, FxHashSet};
8 8
9use crate::lsp_ext; 9use crate::lsp_ext;
diff --git a/crates/rust-analyzer/src/from_proto.rs b/crates/rust-analyzer/src/from_proto.rs
index 945a353dd..5b9f52993 100644
--- a/crates/rust-analyzer/src/from_proto.rs
+++ b/crates/rust-analyzer/src/from_proto.rs
@@ -2,7 +2,7 @@
2use std::convert::TryFrom; 2use std::convert::TryFrom;
3 3
4use base_db::{FileId, FilePosition, FileRange}; 4use base_db::{FileId, FilePosition, FileRange};
5use ra_ide::{AssistKind, LineCol, LineIndex}; 5use ide::{AssistKind, LineCol, LineIndex};
6use syntax::{TextRange, TextSize}; 6use syntax::{TextRange, TextSize};
7use vfs::AbsPathBuf; 7use vfs::AbsPathBuf;
8 8
diff --git a/crates/rust-analyzer/src/global_state.rs b/crates/rust-analyzer/src/global_state.rs
index f04a0a59f..212f98a30 100644
--- a/crates/rust-analyzer/src/global_state.rs
+++ b/crates/rust-analyzer/src/global_state.rs
@@ -8,10 +8,10 @@ use std::{sync::Arc, time::Instant};
8use base_db::{CrateId, VfsPath}; 8use base_db::{CrateId, VfsPath};
9use crossbeam_channel::{unbounded, Receiver, Sender}; 9use crossbeam_channel::{unbounded, Receiver, Sender};
10use flycheck::FlycheckHandle; 10use flycheck::FlycheckHandle;
11use ide::{Analysis, AnalysisChange, AnalysisHost, FileId};
11use lsp_types::{SemanticTokens, Url}; 12use lsp_types::{SemanticTokens, Url};
12use parking_lot::{Mutex, RwLock}; 13use parking_lot::{Mutex, RwLock};
13use project_model::{CargoWorkspace, ProcMacroClient, ProjectWorkspace, Target}; 14use project_model::{CargoWorkspace, ProcMacroClient, ProjectWorkspace, Target};
14use ra_ide::{Analysis, AnalysisChange, AnalysisHost, FileId};
15use rustc_hash::FxHashMap; 15use rustc_hash::FxHashMap;
16 16
17use crate::{ 17use crate::{
diff --git a/crates/rust-analyzer/src/handlers.rs b/crates/rust-analyzer/src/handlers.rs
index 4b5ca7eec..74f73655a 100644
--- a/crates/rust-analyzer/src/handlers.rs
+++ b/crates/rust-analyzer/src/handlers.rs
@@ -1,12 +1,16 @@
1//! This module is responsible for implementing handlers for Language Server 1//! This module is responsible for implementing handlers for Language Server
2//! Protocol. The majority of requests are fulfilled by calling into the 2//! Protocol. The majority of requests are fulfilled by calling into the
3//! `ra_ide` crate. 3//! `ide` crate.
4 4
5use std::{ 5use std::{
6 io::Write as _, 6 io::Write as _,
7 process::{self, Stdio}, 7 process::{self, Stdio},
8}; 8};
9 9
10use ide::{
11 FileId, FilePosition, FileRange, HoverAction, HoverGotoTypeData, NavigationTarget, Query,
12 RangeInfo, Runnable, RunnableKind, SearchScope, TextEdit,
13};
10use lsp_server::ErrorCode; 14use lsp_server::ErrorCode;
11use lsp_types::{ 15use lsp_types::{
12 CallHierarchyIncomingCall, CallHierarchyIncomingCallsParams, CallHierarchyItem, 16 CallHierarchyIncomingCall, CallHierarchyIncomingCallsParams, CallHierarchyItem,
@@ -19,10 +23,6 @@ use lsp_types::{
19 TextDocumentIdentifier, Url, WorkspaceEdit, 23 TextDocumentIdentifier, Url, WorkspaceEdit,
20}; 24};
21use project_model::TargetKind; 25use project_model::TargetKind;
22use ra_ide::{
23 FileId, FilePosition, FileRange, HoverAction, HoverGotoTypeData, NavigationTarget, Query,
24 RangeInfo, Runnable, RunnableKind, SearchScope, TextEdit,
25};
26use serde::{Deserialize, Serialize}; 26use serde::{Deserialize, Serialize};
27use serde_json::to_value; 27use serde_json::to_value;
28use stdx::{format_to, split_once}; 28use stdx::{format_to, split_once};
@@ -212,7 +212,7 @@ pub(crate) fn handle_on_type_formatting(
212 let line_index = snap.analysis.file_line_index(position.file_id)?; 212 let line_index = snap.analysis.file_line_index(position.file_id)?;
213 let line_endings = snap.file_line_endings(position.file_id); 213 let line_endings = snap.file_line_endings(position.file_id);
214 214
215 // in `ra_ide`, the `on_type` invariant is that 215 // in `ide`, the `on_type` invariant is that
216 // `text.char_at(position) == typed_char`. 216 // `text.char_at(position) == typed_char`.
217 position.offset -= TextSize::of('.'); 217 position.offset -= TextSize::of('.');
218 let char_typed = params.ch.chars().next().unwrap_or('\0'); 218 let char_typed = params.ch.chars().next().unwrap_or('\0');
diff --git a/crates/rust-analyzer/src/lib.rs b/crates/rust-analyzer/src/lib.rs
index 8d2e76cc2..87f72b497 100644
--- a/crates/rust-analyzer/src/lib.rs
+++ b/crates/rust-analyzer/src/lib.rs
@@ -1,6 +1,6 @@
1//! Implementation of the LSP for rust-analyzer. 1//! Implementation of the LSP for rust-analyzer.
2//! 2//!
3//! This crate takes Rust-specific analysis results from ra_ide and translates 3//! This crate takes Rust-specific analysis results from ide and translates
4//! into LSP types. 4//! into LSP types.
5//! 5//!
6//! It also is the root of all state. `world` module defines the bulk of the 6//! It also is the root of all state. `world` module defines the bulk of the
@@ -41,7 +41,7 @@ use serde::de::DeserializeOwned;
41 41
42pub type Result<T, E = Box<dyn std::error::Error + Send + Sync>> = std::result::Result<T, E>; 42pub type Result<T, E = Box<dyn std::error::Error + Send + Sync>> = std::result::Result<T, E>;
43pub use crate::{caps::server_capabilities, main_loop::main_loop}; 43pub use crate::{caps::server_capabilities, main_loop::main_loop};
44use ra_ide::AnalysisHost; 44use ide::AnalysisHost;
45use std::fmt; 45use std::fmt;
46use vfs::Vfs; 46use vfs::Vfs;
47 47
diff --git a/crates/rust-analyzer/src/lsp_utils.rs b/crates/rust-analyzer/src/lsp_utils.rs
index 17d1550cd..85c661571 100644
--- a/crates/rust-analyzer/src/lsp_utils.rs
+++ b/crates/rust-analyzer/src/lsp_utils.rs
@@ -2,8 +2,8 @@
2use std::{error::Error, ops::Range}; 2use std::{error::Error, ops::Range};
3 3
4use base_db::Canceled; 4use base_db::Canceled;
5use ide::LineIndex;
5use lsp_server::Notification; 6use lsp_server::Notification;
6use ra_ide::LineIndex;
7 7
8use crate::{from_proto, global_state::GlobalState}; 8use crate::{from_proto, global_state::GlobalState};
9 9
diff --git a/crates/rust-analyzer/src/main_loop.rs b/crates/rust-analyzer/src/main_loop.rs
index 5726820f9..66e04653a 100644
--- a/crates/rust-analyzer/src/main_loop.rs
+++ b/crates/rust-analyzer/src/main_loop.rs
@@ -7,9 +7,9 @@ use std::{
7 7
8use base_db::VfsPath; 8use base_db::VfsPath;
9use crossbeam_channel::{select, Receiver}; 9use crossbeam_channel::{select, Receiver};
10use ide::{Canceled, FileId};
10use lsp_server::{Connection, Notification, Request, Response}; 11use lsp_server::{Connection, Notification, Request, Response};
11use lsp_types::notification::Notification as _; 12use lsp_types::notification::Notification as _;
12use ra_ide::{Canceled, FileId};
13 13
14use crate::{ 14use crate::{
15 config::Config, 15 config::Config,
diff --git a/crates/rust-analyzer/src/reload.rs b/crates/rust-analyzer/src/reload.rs
index fd133e312..a2cfb4e0d 100644
--- a/crates/rust-analyzer/src/reload.rs
+++ b/crates/rust-analyzer/src/reload.rs
@@ -3,8 +3,8 @@ use std::{mem, sync::Arc};
3 3
4use base_db::{CrateGraph, SourceRoot, VfsPath}; 4use base_db::{CrateGraph, SourceRoot, VfsPath};
5use flycheck::FlycheckHandle; 5use flycheck::FlycheckHandle;
6use ide::AnalysisChange;
6use project_model::{ProcMacroClient, ProjectWorkspace}; 7use project_model::{ProcMacroClient, ProjectWorkspace};
7use ra_ide::AnalysisChange;
8use vfs::{file_set::FileSetConfig, AbsPath, AbsPathBuf, ChangeKind}; 8use vfs::{file_set::FileSetConfig, AbsPath, AbsPathBuf, ChangeKind};
9 9
10use crate::{ 10use crate::{
diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs
index 93a4b1f27..8a2cfa2ae 100644
--- a/crates/rust-analyzer/src/to_proto.rs
+++ b/crates/rust-analyzer/src/to_proto.rs
@@ -5,13 +5,13 @@ use std::{
5}; 5};
6 6
7use base_db::{FileId, FileRange}; 7use base_db::{FileId, FileRange};
8use itertools::Itertools; 8use ide::{
9use ra_ide::{
10 Assist, AssistKind, CallInfo, CompletionItem, CompletionItemKind, Documentation, 9 Assist, AssistKind, CallInfo, CompletionItem, CompletionItemKind, Documentation,
11 FileSystemEdit, Fold, FoldKind, Highlight, HighlightModifier, HighlightTag, HighlightedRange, 10 FileSystemEdit, Fold, FoldKind, Highlight, HighlightModifier, HighlightTag, HighlightedRange,
12 Indel, InlayHint, InlayKind, InsertTextFormat, LineIndex, Markup, NavigationTarget, 11 Indel, InlayHint, InlayKind, InsertTextFormat, LineIndex, Markup, NavigationTarget,
13 ReferenceAccess, ResolvedAssist, Runnable, Severity, SourceChange, SourceFileEdit, TextEdit, 12 ReferenceAccess, ResolvedAssist, Runnable, Severity, SourceChange, SourceFileEdit, TextEdit,
14}; 13};
14use itertools::Itertools;
15use syntax::{SyntaxKind, TextRange, TextSize}; 15use syntax::{SyntaxKind, TextRange, TextSize};
16 16
17use crate::{ 17use crate::{
@@ -761,7 +761,7 @@ pub(crate) fn markup_content(markup: Markup) -> lsp_types::MarkupContent {
761 761
762#[cfg(test)] 762#[cfg(test)]
763mod tests { 763mod tests {
764 use ra_ide::Analysis; 764 use ide::Analysis;
765 765
766 use super::*; 766 use super::*;
767 767
diff --git a/crates/ssr/Cargo.toml b/crates/ssr/Cargo.toml
index cd05eeecc..56c1f7761 100644
--- a/crates/ssr/Cargo.toml
+++ b/crates/ssr/Cargo.toml
@@ -1,6 +1,6 @@
1[package] 1[package]
2name = "ssr" 2name = "ssr"
3version = "0.1.0" 3version = "0.0.0"
4description = "Structural search and replace of Rust code" 4description = "Structural search and replace of Rust code"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6repository = "https://github.com/rust-analyzer/rust-analyzer" 6repository = "https://github.com/rust-analyzer/rust-analyzer"
diff --git a/crates/stdx/Cargo.toml b/crates/stdx/Cargo.toml
index 4c0b85861..b186b46f2 100644
--- a/crates/stdx/Cargo.toml
+++ b/crates/stdx/Cargo.toml
@@ -1,9 +1,9 @@
1[package] 1[package]
2name = "stdx" 2name = "stdx"
3version = "0.1.0" 3version = "0.0.0"
4license = "MIT OR Apache-2.0"
4authors = ["rust-analyzer developers"] 5authors = ["rust-analyzer developers"]
5edition = "2018" 6edition = "2018"
6license = "MIT OR Apache-2.0"
7 7
8[lib] 8[lib]
9doctest = false 9doctest = false
diff --git a/crates/test_utils/Cargo.toml b/crates/test_utils/Cargo.toml
index e719f4f7c..45e5fb97f 100644
--- a/crates/test_utils/Cargo.toml
+++ b/crates/test_utils/Cargo.toml
@@ -1,9 +1,9 @@
1[package] 1[package]
2edition = "2018"
3name = "test_utils" 2name = "test_utils"
4version = "0.1.0" 3version = "0.0.0"
5authors = ["rust-analyzer developers"]
6license = "MIT OR Apache-2.0" 4license = "MIT OR Apache-2.0"
5authors = ["rust-analyzer developers"]
6edition = "2018"
7 7
8[lib] 8[lib]
9doctest = false 9doctest = false
@@ -14,4 +14,5 @@ difference = "2.0.0"
14text-size = "1.0.0" 14text-size = "1.0.0"
15serde_json = "1.0.48" 15serde_json = "1.0.48"
16rustc-hash = "1.1.0" 16rustc-hash = "1.1.0"
17
17stdx = { path = "../stdx" } 18stdx = { path = "../stdx" }
diff --git a/crates/vfs-notify/Cargo.toml b/crates/vfs-notify/Cargo.toml
index fce7bae3a..c1e53f4b1 100644
--- a/crates/vfs-notify/Cargo.toml
+++ b/crates/vfs-notify/Cargo.toml
@@ -1,9 +1,9 @@
1[package] 1[package]
2name = "vfs-notify" 2name = "vfs-notify"
3version = "0.1.0" 3version = "0.0.0"
4license = "MIT OR Apache-2.0"
4authors = ["rust-analyzer developers"] 5authors = ["rust-analyzer developers"]
5edition = "2018" 6edition = "2018"
6license = "MIT OR Apache-2.0"
7 7
8[lib] 8[lib]
9doctest = false 9doctest = false
diff --git a/crates/vfs/Cargo.toml b/crates/vfs/Cargo.toml
index b74cdb7ff..9ae8f19b6 100644
--- a/crates/vfs/Cargo.toml
+++ b/crates/vfs/Cargo.toml
@@ -1,9 +1,9 @@
1[package] 1[package]
2name = "vfs" 2name = "vfs"
3version = "0.1.0" 3version = "0.0.0"
4license = "MIT OR Apache-2.0"
4authors = ["rust-analyzer developers"] 5authors = ["rust-analyzer developers"]
5edition = "2018" 6edition = "2018"
6license = "MIT OR Apache-2.0"
7 7
8[lib] 8[lib]
9doctest = false 9doctest = false
diff --git a/docs/dev/README.md b/docs/dev/README.md
index 04bebbfca..ad18217f1 100644
--- a/docs/dev/README.md
+++ b/docs/dev/README.md
@@ -14,7 +14,7 @@ To learn more about how rust-analyzer works, see
14 14
15We also publish rustdoc docs to pages: 15We also publish rustdoc docs to pages:
16 16
17https://rust-analyzer.github.io/rust-analyzer/ra_ide/ 17https://rust-analyzer.github.io/rust-analyzer/ide/
18 18
19Various organizational and process issues are discussed in this document. 19Various organizational and process issues are discussed in this document.
20 20
@@ -159,7 +159,7 @@ IDE should use only types from `hir`, and should not depend on the underling com
159 159
160## IDE API 160## IDE API
161 161
162The main IDE crate (`ra_ide`) uses "Plain Old Data" for the API. 162The main IDE crate (`ide`) uses "Plain Old Data" for the API.
163Rather than talking in definitions and references, it talks in Strings and textual offsets. 163Rather than talking in definitions and references, it talks in Strings and textual offsets.
164In 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. 164In 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.
165The results are 100% Rust specific though. 165The results are 100% Rust specific though.
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.
diff --git a/docs/dev/guide.md b/docs/dev/guide.md
index 29d84bf3f..b5a5d7c93 100644
--- a/docs/dev/guide.md
+++ b/docs/dev/guide.md
@@ -40,8 +40,8 @@ terms of files and offsets, and **not** in terms of Rust concepts like structs,
40traits, etc. The "typed" API with Rust specific types is slightly lower in the 40traits, etc. The "typed" API with Rust specific types is slightly lower in the
41stack, we'll talk about it later. 41stack, we'll talk about it later.
42 42
43[`AnalysisHost`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/lib.rs#L265-L284 43[`AnalysisHost`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/lib.rs#L265-L284
44[`Analysis`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/lib.rs#L291-L478 44[`Analysis`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/lib.rs#L291-L478
45 45
46The reason for this separation of `Analysis` and `AnalysisHost` is that we want to apply 46The reason for this separation of `Analysis` and `AnalysisHost` is that we want to apply
47changes "uniquely", but we might also want to fork an `Analysis` and send it to 47changes "uniquely", but we might also want to fork an `Analysis` and send it to
@@ -69,7 +69,7 @@ the `AnalysisHost::apply_change` method, which accepts a single argument, a
69"transaction", so it suffices to study its methods to understand all of the 69"transaction", so it suffices to study its methods to understand all of the
70input data. 70input data.
71 71
72[`AnalysisChange`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/lib.rs#L119-L167 72[`AnalysisChange`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/lib.rs#L119-L167
73 73
74The `(add|change|remove)_file` methods control the set of the input files, where 74The `(add|change|remove)_file` methods control the set of the input files, where
75each file has an integer id (`FileId`, picked by the client), text (`String`) 75each file has an integer id (`FileId`, picked by the client), text (`String`)
@@ -253,7 +253,7 @@ All analyzer information is stored in a salsa database. `Analysis` and
253`AnalysisHost` types are newtype wrappers for [`RootDatabase`] -- a salsa 253`AnalysisHost` types are newtype wrappers for [`RootDatabase`] -- a salsa
254database. 254database.
255 255
256[`RootDatabase`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/db.rs#L88-L134 256[`RootDatabase`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/db.rs#L88-L134
257 257
258Salsa input queries are defined in [`FilesDatabase`] (which is a part of 258Salsa input queries are defined in [`FilesDatabase`] (which is a part of
259`RootDatabase`). They closely mirror the familiar `AnalysisChange` structure: 259`RootDatabase`). They closely mirror the familiar `AnalysisChange` structure:
@@ -565,11 +565,11 @@ the type to completion.
565[schedule it on the threadpool]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_lsp_server/src/main_loop.rs#L428 565[schedule it on the threadpool]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_lsp_server/src/main_loop.rs#L428
566[catch]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_lsp_server/src/main_loop.rs#L436-L442 566[catch]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_lsp_server/src/main_loop.rs#L436-L442
567[the handler]: https://salsa.zulipchat.com/#narrow/stream/181542-rfcs.2Fsalsa-query-group/topic/design.20next.20steps 567[the handler]: https://salsa.zulipchat.com/#narrow/stream/181542-rfcs.2Fsalsa-query-group/topic/design.20next.20steps
568[ask analysis for completion]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/lib.rs#L439-L444 568[ask analysis for completion]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/lib.rs#L439-L444
569[completion implementation]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/completion.rs#L46-L62 569[completion implementation]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/completion.rs#L46-L62
570[`CompletionContext`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/completion/completion_context.rs#L14-L37 570[`CompletionContext`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/completion/completion_context.rs#L14-L37
571["IntelliJ Trick"]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/completion/completion_context.rs#L72-L75 571["IntelliJ Trick"]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/completion/completion_context.rs#L72-L75
572[find an ancestor `fn` node]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/completion/completion_context.rs#L116-L120 572[find an ancestor `fn` node]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/completion/completion_context.rs#L116-L120
573[semantic model]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/completion/completion_context.rs#L123 573[semantic model]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/completion/completion_context.rs#L123
574[series of independent completion routines]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/completion.rs#L52-L59 574[series of independent completion routines]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/completion.rs#L52-L59
575[`complete_dot`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_ide_api/src/completion/complete_dot.rs#L6-L22 575[`complete_dot`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ide_api/src/completion/complete_dot.rs#L6-L22
diff --git a/xtask/tests/tidy.rs b/xtask/tests/tidy.rs
index 97a11a01e..76895aeca 100644
--- a/xtask/tests/tidy.rs
+++ b/xtask/tests/tidy.rs
@@ -194,7 +194,7 @@ impl TidyDocs {
194 let poorly_documented = [ 194 let poorly_documented = [
195 "hir", 195 "hir",
196 "hir_expand", 196 "hir_expand",
197 "ra_ide", 197 "ide",
198 "mbe", 198 "mbe",
199 "parser", 199 "parser",
200 "profile", 200 "profile",