aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | 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.
* | | | | | | Simplify source maps for fieldsAleksey Kladov2021-03-155-45/+33
| |/ / / / / |/| | | | |
* | | | | | 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
| | | | | |
* | | | | | 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
| | | | | |
* | | | | | 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 #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
| | |_|/ / / | |/| | | |
* | | | | | Simpify mbe bindings builderEdwin Cheng2021-03-141-63/+57
| | | | | |
* | | | | | Make sure ill-form macro handle propelyEdwin Cheng2021-03-141-2/+5
| | | | | |
* | | | | | Move type lowering methods to TyLoweringContextFlorian Diebold2021-03-135-289/+249
| | | | | |
* | | | | | Create TraitEnvironment through a queryFlorian Diebold2021-03-136-50/+76
| | | | | |
* | | | | | Use chalk_ir::OpaqueTyIdFlorian Diebold2021-03-137-63/+53
| | | | | |
* | | | | | Use chalk_ir::PlaceholderIndexFlorian Diebold2021-03-138-44/+53
| | | | | |
* | | | | | Use chalk_ir::ClosureIdFlorian Diebold2021-03-135-23/+17
| | | | | |
* | | | | | Handle `cfg_attr` gating multiple attributesJonas Schievink2021-03-131-29/+19
| | | | | |
* | | | | | Extend cfg_attr testJonas Schievink2021-03-131-0/+3
| | | | | |
* | | | | | Use chalk_ir::FnDefIdFlorian Diebold2021-03-1310-30/+48
| | | | | |
* | | | | | Use chalk_ir::AssocTypeIdFlorian Diebold2021-03-1310-76/+87
| | | | | |
* | | | | | Use chalk_ir::ForeignDefIdFlorian Diebold2021-03-136-38/+32
| | | | | |
* | | | | | fix folding range kindAleksey Kladov2021-03-131-1/+2
| | | | | |
* | | | | | Separate `Ty` and `TyKind` like in ChalkFlorian Diebold2021-03-1320-619/+755
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`.