aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Provide regions in file structureivan7702021-03-145-4/+55
|
* 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`.
* | | Merge #7799bors[bot]2021-03-138-17/+391
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7799: Related tests r=matklad a=vsrs ![tests](https://user-images.githubusercontent.com/62505555/109397453-a9013680-7947-11eb-8b11-ac03079f7645.gif) This adds an ability to look for tests for the item under the cursor: function, constant, data type, etc The LSP part is bound to change. But the feature itself already works and I'm looking for a feedback :) Co-authored-by: vsrs <[email protected]>
| * | | Add `Feature: Related Tests` commentvsrs2021-03-111-0/+13
| | | |
| * | | Apply review suggestionsvsrs2021-03-114-14/+10
| | | |
| * | | Remove erroneous commentvsrs2021-02-271-10/+0
| | | |
| * | | Add LSP request and VSCode commandvsrs2021-02-273-0/+39
| | | |
| * | | Remove unnecessary file_id argumentvsrs2021-02-272-10/+7
| | | |
| * | | Add runnables::related_testsvsrs2021-02-274-7/+346
| | | |
* | | | Merge #7981bors[bot]2021-03-131-11/+76
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7981: Allow applying De Morgan's law to multiple terms at once r=matklad a=shepmaster Co-authored-by: Jake Goulding <[email protected]>
| * | | | Allow applying De Morgan's law to multiple terms at onceJake Goulding2021-03-121-11/+76
| | |/ / | |/| |
* | | | Merge #7984bors[bot]2021-03-131-3/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7984: Improve version display r=matklad a=lnicola Maybe closes #7854 The version string for unreleased builds looks like this now: ``` $ rust-analyzer --version rust-analyzer 2021-03-08-159-gc0459c535 ``` Release builds should only have the tag name (`2021-03-15`). Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | Improve version displayLaurențiu Nicola2021-03-121-3/+2
| |/ / /
* | | | Merge #7994bors[bot]2021-03-135-67/+270
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7994: Speed up mbe matching in heavy recursive cases r=edwin0cheng a=edwin0cheng In some cases (e.g. #4186), mbe matching is very slow due to a lot of copy and allocation for bindings, this PR try to solve this problem by introduce a semi "link-list" approach for bindings building. I used this [test case](https://github.com/weiznich/minimal_example_for_rust_81262) (for `features(32-column-tables)`) to run following command to benchmark: ``` time rust-analyzer analysis-stats --load-output-dirs ./ ``` Before this PR : 2 mins After this PR: 3 seconds. However, for 64-column-tables cases, we still need 4 mins to complete. I will try to investigate in the following weeks. bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * | | Add bindings builder for speed up matchingEdwin Cheng2021-03-133-67/+221
| | | |
| * | | add expand logEdwin Cheng2021-03-132-0/+49
| | | |
* | | | Simplify hir_def TestDBJonas Schievink2021-03-131-7/+2
| | | |
* | | | Remove `ItemTree::source`Jonas Schievink2021-03-122-18/+4
| | | | | | | | | | | | | | | | `HasSource` should be used instead
* | | | Simplify a bitFlorian Diebold2021-03-121-10/+5
| | | |
* | | | Use Chalk Environment more directlyFlorian Diebold2021-03-125-55/+44
| |/ / |/| |
* | | Merge #7956bors[bot]2021-03-124-0/+283
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7956: Add assist to convert for_each into for loops r=Veykril a=SaiintBrisson This PR resolves #7821. Adds an assist to that converts an `Iterator::for_each` into a for loop: ```rust fn main() { let vec = vec![(1, 2), (2, 3), (3, 4)]; x.iter().for_each(|(x, y)| { println!("x: {}, y: {}", x, y); }) } ``` becomes ```rust fn main() { let vec = vec![(1, 2), (2, 3), (3, 4)]; for (x, y) in x.iter() { println!("x: {}, y: {}", x, y); }); } ``` Co-authored-by: Luiz Carlos Mourão Paes de Carvalho <[email protected]> Co-authored-by: Luiz Carlos <[email protected]> Co-authored-by: Lukas Wirth <[email protected]>