diff options
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_ide_api/src/symbol_index.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/ra_ide_api/src/symbol_index.rs b/crates/ra_ide_api/src/symbol_index.rs index bfa2f3469..b563dfe88 100644 --- a/crates/ra_ide_api/src/symbol_index.rs +++ b/crates/ra_ide_api/src/symbol_index.rs | |||
@@ -6,19 +6,19 @@ | |||
6 | //! @BurntSushi. | 6 | //! @BurntSushi. |
7 | //! | 7 | //! |
8 | //! In a nutshell, you give a set of strings to the `fst`, and it builds a | 8 | //! In a nutshell, you give a set of strings to the `fst`, and it builds a |
9 | //! finite state machine describing this set of strtings. The strings which | 9 | //! finite state machine describing this set of strings. The strings which |
10 | //! could fuzzy-match a pattern can also be described by a finite state machine. | 10 | //! could fuzzy-match a pattern can also be described by a finite state machine. |
11 | //! What is freakingly cool is that you can now traverse both state machines in | 11 | //! What is freakingly cool is that you can now traverse both state machines in |
12 | //! lock-step to enumerate the strings which are both in the input set and | 12 | //! lock-step to enumerate the strings which are both in the input set and |
13 | //! fuzz-match the query. Or, more formally, given two langauges described by | 13 | //! fuzz-match the query. Or, more formally, given two languages described by |
14 | //! fsts, one can build an product fst which describes the intersection of the | 14 | //! fsts, one can build an product fst which describes the intersection of the |
15 | //! languages. | 15 | //! languages. |
16 | //! | 16 | //! |
17 | //! `fst` does not support cheap updating of the index, but it supports unioning | 17 | //! `fst` does not support cheap updating of the index, but it supports unioning |
18 | //! of state machines. So, to account for changing source code, we build an fst | 18 | //! of state machines. So, to account for changing source code, we build an fst |
19 | //! for each library (which is assumed to never change) and an fst for each rust | 19 | //! for each library (which is assumed to never change) and an fst for each rust |
20 | //! file in the current workspace, and run a query aginst the union of all | 20 | //! file in the current workspace, and run a query against the union of all |
21 | //! thouse fsts. | 21 | //! those fsts. |
22 | use std::{ | 22 | use std::{ |
23 | cmp::Ordering, | 23 | cmp::Ordering, |
24 | hash::{Hash, Hasher}, | 24 | hash::{Hash, Hasher}, |