mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 06:11:35 +00:00
Fix some typos
This commit is contained in:
parent
a36e310229
commit
4fd3613434
26 changed files with 69 additions and 65 deletions
|
@ -5,20 +5,20 @@
|
|||
//! symbols. The backbone of the index is the **awesome** `fst` crate by
|
||||
//! @BurntSushi.
|
||||
//!
|
||||
//! In a nutshell, you give a set of strings to the `fst`, and it builds a
|
||||
//! In a nutshell, you give a set of strings to `fst`, and it builds a
|
||||
//! finite state machine describing this set of strings. The strings which
|
||||
//! could fuzzy-match a pattern can also be described by a finite state machine.
|
||||
//! What is freakingly cool is that you can now traverse both state machines in
|
||||
//! What is freaking cool is that you can now traverse both state machines in
|
||||
//! lock-step to enumerate the strings which are both in the input set and
|
||||
//! fuzz-match the query. Or, more formally, given two languages described by
|
||||
//! fsts, one can build an product fst which describes the intersection of the
|
||||
//! FSTs, one can build a product FST which describes the intersection of the
|
||||
//! languages.
|
||||
//!
|
||||
//! `fst` does not support cheap updating of the index, but it supports unioning
|
||||
//! of state machines. So, to account for changing source code, we build an fst
|
||||
//! for each library (which is assumed to never change) and an fst for each rust
|
||||
//! of state machines. So, to account for changing source code, we build an FST
|
||||
//! for each library (which is assumed to never change) and an FST for each Rust
|
||||
//! file in the current workspace, and run a query against the union of all
|
||||
//! those fsts.
|
||||
//! those FSTs.
|
||||
use std::{
|
||||
cmp::Ordering,
|
||||
hash::{Hash, Hasher},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue