aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Don't use Substs for Ref/Raw/Array/SliceFlorian Diebold2021-03-1410-116/+103
| | | | | |
| * | | | | Make Ty wrap TyKind in an ArcFlorian Diebold2021-03-148-27/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... like it will be in Chalk. We still keep `interned_mut` and `into_inner` methods that will probably not exist with Chalk. This worsens performance slightly (5ginstr inference on RA), but doesn't include other simplifications we can do yet.
* | | | | | Merge #8026bors[bot]2021-03-155-45/+33
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8026: Simplify source maps for fields r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Simplify source maps for fieldsAleksey Kladov2021-03-155-45/+33
| | | | | |
* | | | | | Merge #8025bors[bot]2021-03-152-3/+33
|\| | | | | | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8025: Goto definition works for `S { a: }` case r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Goto definition works for `S { a: }` caseAleksey Kladov2021-03-152-3/+33
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | What happens here is that we lower `: ` to a missing expression, and then correctly record that the corresponding field expression resolves to a specific field. Where we fail is in the mapping of syntax to this missing expression. Doing it via `ast_field.expr()` fails, as that expression is `None`. Instead, we go in the opposite direcition and ask each lowered field about its source. This works, but has wrong complexity `O(N)` and, really, the implementation is just too complex. We need some better management of data here.
| | | |
| \ \ \
*-. \ \ \ Merge #8021 #8022bors[bot]2021-03-1514-40/+59
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8021: Enable searching for builtin types r=matklad a=Veykril Not too sure how useful this is for reference search overall, but for completeness sake it should be there ![image](https://user-images.githubusercontent.com/3757771/111132711-f69db600-8579-11eb-8c90-22fd6862d11f.png) Also enables document highlighting for them. 8022: some clippy::performance fixes r=matklad a=matthiaskrgr use vec![] instead of Vec::new() + push() avoid redundant clones use chars instead of &str for single char patterns in ends_with() and starts_with() allocate some Vecs with capacity to avoid unnecessary resizing Co-authored-by: Lukas Wirth <[email protected]> Co-authored-by: Matthias Krüger <[email protected]>
| | * | | | some clippy::performance fixesMatthias Krüger2021-03-159-19/+13
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | use vec![] instead of Vec::new() + push() avoid redundant clones use chars instead of &str for single char patterns in ends_with() and starts_with() allocate some Vecs with capacity to avoid unneccessary resizing
| * | | | Enable searching for builtin typesLukas Wirth2021-03-155-21/+46
| | | | |
* | | | | Merge #8023bors[bot]2021-03-155-13/+12
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8023: Move code to the appropriate layer r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Move code to the appropriate layerAleksey Kladov2021-03-155-13/+12
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | StructureNodeKind is a type which is specific to a particular feature, file_structure. It shouldn't be in the "code shared by all ide features" part.
* | | | | Merge #7975bors[bot]2021-03-155-50/+207
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7975: Provide regions in file structure r=ivan770 a=ivan770 Closes #7913 https://user-images.githubusercontent.com/14003886/110819163-96b3c080-8296-11eb-993e-a7cdb574a12d.mp4 Co-authored-by: ivan770 <[email protected]>
| * | | | Make CI happyivan7702021-03-141-1/+1
| | | | |
| * | | | Introduce StructureNodeKindivan7702021-03-147-57/+110
| | | | |
| * | | | Added region intersection testivan7702021-03-141-0/+53
| | | | |
| * | | | Shorten trim callivan7702021-03-141-1/+1
| | | | |
| * | | | Provide regions in file structureivan7702021-03-145-4/+55
| | | | |
* | | | | Merge #7966bors[bot]2021-03-153-3/+317
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7966: Diagnose files that aren't in the module tree r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6377 I'm not sure if this is the best way to do this. It will cause false positives for all `include!`d files (though I'm not sure how much IDE functionality we have for these). Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | Add module commentJonas Schievink2021-03-151-0/+2
| | | | | |
| * | | | | Use pub(crate)Jonas Schievink2021-03-151-3/+3
| | | | | |
| * | | | | Redo it properly and add a quickfixJonas Schievink2021-03-153-7/+309
| | | | | |
| * | | | | Diagnose files that aren't in the module treeJonas Schievink2021-03-101-3/+13
| | | | | |
* | | | | | Merge #8017bors[bot]2021-03-141-4/+51
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8017: Don't drop type params in doc-test paths r=Veykril a=Veykril Closes #7995 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Don't drop type params in doc-test pathsLukas Wirth2021-03-141-4/+51
| | | | | |
* | | | | | Merge #8014bors[bot]2021-03-143-32/+88
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8014: increase completion relevance for items in local scope r=matklad a=JoshMcguigan This PR provides a small completion relevance score bonus for items in local scope. The changes here are relatively minimal, since `coc` by default pre-sorts by position in file. But as we move toward fully server side sorting #7935 I think we'll want some relevance score bump for items in local scope. ### Before Note `let~` and `syntax` are both ahead of locals. Ultimately we may decide that `let~` is a high relevance completion given my cursor position here, but that should be done with some explicit scoring on the server side, rather than being caused by (I think) `coc` preferring shorter completions. ![pre-local-score](https://user-images.githubusercontent.com/22216761/111073414-c97ad600-849b-11eb-84e7-fcee130536f0.png) ### After ![post-local-score](https://user-images.githubusercontent.com/22216761/111073422-d0094d80-849b-11eb-92ec-7ae5ec3b190d.png) Co-authored-by: Josh Mcguigan <[email protected]>
| * | | | | increase completion relevance for items in local scopeJosh Mcguigan2021-03-143-32/+88
| | | | | |
* | | | | | Merge #8016bors[bot]2021-03-1411-84/+89
|\ \ \ \ \ \ | |/ / / / / |/| | | / / | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | 8016: More Chalk adaptations r=flodiebold a=flodiebold - rename a bunch of fields - use `chalk_ir::FnSig` Co-authored-by: Florian Diebold <[email protected]>
| * | | | More renamingFlorian Diebold2021-03-145-19/+23
| | | | |
| * | | | Use chalk_ir::FnSigFlorian Diebold2021-03-145-21/+22
| | | | |
| * | | | Rename some fields to their Chalk namesFlorian Diebold2021-03-1411-47/+47
|/ / / /
* | | | Merge #7993bors[bot]2021-03-141-21/+137
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7993: Use auto-deref in completion scoring r=JoshMcguigan a=ivan770 Closes #7982 Co-authored-by: ivan770 <[email protected]>
| * | | | Skip ref_match on same types, remove sorting in testsivan7702021-03-141-38/+25
| | | | |
| * | | | Added both references and original matches to testsivan7702021-03-131-34/+42
| | | | |
| * | | | Fix incorrect DerefMut test reference typeivan7702021-03-131-1/+1
| | | | |
| * | | | Make relevance tests display references, suggest derefs only when neededivan7702021-03-132-16/+84
| | | | |
| * | | | Simplify call site and deref completion testivan7702021-03-131-85/+16
| | | | |
| * | | | Count derefs as matched types if possibleivan7702021-03-132-4/+126
| | | | |
* | | | | Merge #8013bors[bot]2021-03-141-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8013: Fix `cargo xtask lint` references r=matklad a=lnicola Co-authored-by: LaurenÈ›iu Nicola <[email protected]>
| * | | | | Fix `cargo xtask lint` referencesLaurențiu Nicola2021-03-141-2/+2
|/ / / / /
* | | | | Merge #8012bors[bot]2021-03-143-22/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8012: xtask: replace "lint" command by a simply cargo alias r=matklad a=matthiaskrgr This strips the run_clippy implementation out of xtask and replaces it by a simple "cargo lint" alias which runs clippy with the corresponding flags. Unfortunately I could not name the alias "clippy" because that would lead to infinite recursion. :sweat_smile: Co-authored-by: Matthias Krüger <[email protected]>
| * | | | | xtask: replace "lint" command by a simply cargo aliasMatthias Krüger2021-03-143-22/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This strips the run_clippy implementation out of xtask and replaces it by a simple "cargo lint" alias which runs clippy with the corresponding flags. Unfortunately I could not name the alias "clippy" because that would lead to infinite recursion.
* | | | | Merge #8011bors[bot]2021-03-143-1/+8
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8011: Add no-sysroot flag for analysis-stats r=edwin0cheng a=edwin0cheng Add `no-sysroot` flag for `rust-analyzer analysis-stats`. It is very useful for debugging propose. bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * | | | | Add no-sysroot flag for analysis-statsEdwin Cheng2021-03-143-1/+8
| | | | | |
* | | | | | Merge #8010bors[bot]2021-03-141-2/+2
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8010: Attach trivia to ast::Union nodes r=Veykril a=Veykril Closes #8007 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Attach trivia to ast::Union nodesLukas Wirth2021-03-141-2/+2
| | |_|/ / | |/| | |
* | | | | Merge #8006bors[bot]2021-03-141-63/+57
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8006: Simpify mbe bindings builder r=edwin0cheng a=edwin0cheng bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * | | | | Simpify mbe bindings builderEdwin Cheng2021-03-141-63/+57
|/ / / / /
* | | | | Merge #8005bors[bot]2021-03-141-2/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8005: Make sure ill-form macro handle propely r=edwin0cheng a=edwin0cheng Fix #7987 bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * | | | | Make sure ill-form macro handle propelyEdwin Cheng2021-03-141-2/+5
|/ / / / /
* | | | | Merge #8003bors[bot]2021-03-135-289/+249
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8003: Move type lowering methods to TyLoweringContext r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>