diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -37,24 +37,28 @@ doesn't hurt too much :-) | |||
37 | 37 | ||
38 | * syntax highlighting (LSP does not have API for it, so impl is hacky | 38 | * syntax highlighting (LSP does not have API for it, so impl is hacky |
39 | and sometimes fall-backs to the horrible built-in highlighting) | 39 | and sometimes fall-backs to the horrible built-in highlighting) |
40 | 40 | ||
41 | * commands (`ctrl+shift+p` or keybindings) | 41 | * commands (`ctrl+shift+p` or keybindings) |
42 | - **Show Rust Syntax Tree** (use it to verify that plugin works) | 42 | - **Show Rust Syntax Tree** (use it to verify that plugin works) |
43 | - **Rust Extend Selection** (works with multiple cursors) | 43 | - **Rust Extend Selection** (works with multiple cursors) |
44 | - **Rust Matching Brace** (knows the difference between `<` and `<`) | 44 | - **Rust Matching Brace** (knows the difference between `<` and `<`) |
45 | - **Rust Parent Module** | 45 | - **Rust Parent Module** |
46 | - **Rust Join Lines** (deals with trailing commas) | 46 | - **Rust Join Lines** (deals with trailing commas) |
47 | 47 | ||
48 | * **Go to symbol in file** | 48 | * **Go to symbol in file** |
49 | 49 | ||
50 | * **Go to symbol in workspace** (no support for Cargo deps yet) | 50 | * **Go to symbol in workspace** |
51 | - `#Foo` searches for `Foo` type in the current workspace | ||
52 | - `#foo#` searches for `foo` function in the current workspace | ||
53 | - `#Foo*` searches for `Foo` type among dependencies, excluding `stdlib` | ||
54 | - Sorry for a weired UI, neither LSP, not VSCode have any sane API for filtering! :) | ||
51 | 55 | ||
52 | * code actions: | 56 | * code actions: |
53 | - Flip `,` in comma separated lists | 57 | - Flip `,` in comma separated lists |
54 | - Add `#[derive]` to struct/enum | 58 | - Add `#[derive]` to struct/enum |
55 | - Add `impl` block to struct/enum | 59 | - Add `impl` block to struct/enum |
56 | - Run tests at caret | 60 | - Run tests at caret |
57 | 61 | ||
58 | * **Go to definition** ("correct" for `mod foo;` decls, index-based for functions). | 62 | * **Go to definition** ("correct" for `mod foo;` decls, index-based for functions). |
59 | 63 | ||
60 | 64 | ||
@@ -71,7 +75,7 @@ doesn't hurt too much :-) | |||
71 | space tree traversal (this is cool) and `visit` for type-driven | 75 | space tree traversal (this is cool) and `visit` for type-driven |
72 | visiting the nodes (this is double plus cool, if you understand how | 76 | visiting the nodes (this is double plus cool, if you understand how |
73 | `Visitor` works, you understand libsyntax2). | 77 | `Visitor` works, you understand libsyntax2). |
74 | 78 | ||
75 | 79 | ||
76 | ### `crates/libeditor` | 80 | ### `crates/libeditor` |
77 | 81 | ||
@@ -84,7 +88,7 @@ single-file and is basically a bunch of pure functions. | |||
84 | A stateful library for analyzing many Rust files as they change. | 88 | A stateful library for analyzing many Rust files as they change. |
85 | `WorldState` is a mutable entity (clojure's atom) which holds current | 89 | `WorldState` is a mutable entity (clojure's atom) which holds current |
86 | state, incorporates changes and handles out `World`s --- immutable | 90 | state, incorporates changes and handles out `World`s --- immutable |
87 | consistent snapshots of `WorldState`, which actually power analysis. | 91 | consistent snapshots of `WorldState`, which actually power analysis. |
88 | 92 | ||
89 | 93 | ||
90 | ### `crates/server` | 94 | ### `crates/server` |