aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug for ident to lifetimeEdwin Cheng2019-04-191-0/+7
|
* Add vis matcherEdwin Cheng2019-04-196-1/+33
|
* Add literal matcherEdwin Cheng2019-04-193-0/+35
|
* Add lifetime matcherEdwin Cheng2019-04-194-2/+25
|
* add tt matcherEdwin Cheng2019-04-192-0/+28
|
* add block matcherEdwin Cheng2019-04-196-0/+64
|
* Add block matcherEdwin Cheng2019-04-196-0/+35
|
* Merge #1148bors[bot]2019-04-198-20/+295
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1148: Add token_tree_to_xxx functions r=matklad a=edwin0cheng <del>As discus in PR #1147 , this PR added a `mbe::MacroKind` . Currently only 2 kind of macro are supported, `SourceFile` and `Block`.</del> Added following functions for `tt::TokenTree` and `ast::Node` conversion: * token_tree_to_expr * token_tree_to_pat * token_tree_to_ty * token_tree_to_macro_stmts * token_tree_to_macro_items And added two new syntax kind: * MACRO_ITEMS * MACRO_STMTS Co-authored-by: Edwin Cheng <[email protected]>
| * Return Result for token_tree_to_xx functionsEdwin Cheng2019-04-182-14/+24
| |
| * Add expr, pat, ty and macro_stmtsEdwin Cheng2019-04-185-15/+156
| |
| * Add MacroItems and MacroStmts in grammer.ronEdwin Cheng2019-04-187-8/+132
| |
* | Merge #1164bors[bot]2019-04-182-1/+24
|\ \ | |/ |/| | | | | | | | | | | | | | | 1164: Fix missing last token in mbe $repeat parsing r=matklad a=edwin0cheng The `mbe parser` incorrectly eat one more token in $repeat parsing, described in #1141. Remove incorrect token eating, and add related test. Co-authored-by: Edwin Cheng <[email protected]>
| * Fix missing last token in mbe $repeat parsingEdwin Cheng2019-04-182-1/+24
|/
* Merge #1161bors[bot]2019-04-186-0/+70
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 1161: Add mbe 'item' matcher r=matklad a=edwin0cheng Add `item` matcher in `ra_mbe` , and added corresponding `item()` parser in `ra_syntax`. This PR also help PR #1148 for `Items` parsing. And hopefully fix #1149 ?! Co-authored-by: Edwin Cheng <[email protected]>
| * Add `item` matcher in mbeEdwin Cheng2019-04-186-0/+70
|/
* Merge #1160bors[bot]2019-04-171-8/+23
|\ | | | | | | | | | | | | | | 1160: better formatting when adding trait members r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * better formatting when adding trait membersAleksey Kladov2019-04-171-8/+23
| | | | | | | | | | | | * it's conventional not to use one-liners * new placement is more predictable, b/c it does not depend on header's length
* | Merge #1145bors[bot]2019-04-172-8/+117
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1145: Fix #1099, plug self type type parameters in infer_path_expr r=flodiebold a=edwin0cheng As discussed in #1099, this PR try to "plug" a `self type` type parameters in `infer_path_expr`. All the cases in 1099 was fixed and tested. And luckily, this PR fixed bug #1030 again and make the test output correct. Co-authored-by: Edwin Cheng <[email protected]>
| * | RefactoringEdwin Cheng2019-04-171-51/+46
| | |
| * | Simpliy codeEdwin Cheng2019-04-171-60/+32
| | |
| * | Bug fix and add more commentsEdwin Cheng2019-04-171-22/+60
| | |
| * | Fix 1099Edwin Cheng2019-04-172-5/+109
| | |
* | | Merge #1159bors[bot]2019-04-171-52/+63
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 1159: :arrow_up: vfs r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: vfsAleksey Kladov2019-04-171-52/+63
|/ /
* | Merge #1158bors[bot]2019-04-172-13/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 1158: cleanup cancellation r=matklad a=matklad Now that we explicitelly exit the reading loop on exit notification, we can assume that the sender is always alive Co-authored-by: Aleksey Kladov <[email protected]>
| * | cleanup cancellationAleksey Kladov2019-04-172-13/+6
|/ / | | | | | | | | Now that we explicitelly exit the reading loop on exit notification, we can assume that the sender is always alive
* | Merge #1153bors[bot]2019-04-174-1/+29
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 1153: "Restart server" command r=jrvidal a=jrvidal The only tricky aspect is that fact that once the `exit` command has been received, we no longer need to join on the reader thread. Also, I think `terminateProcesses.sh` was not working properly. In fact, the very same script from the vscode language server implementation is not working either! It's because of that I noticed the reader thread issue :open_mouth: Co-authored-by: Roberto Vidal <[email protected]>
| * | Breaks read loop on 'exit'Roberto Vidal2019-04-163-5/+17
| | |
| * | Fixes doctestRoberto Vidal2019-04-161-1/+1
| | |
| * | PrettierRoberto Vidal2019-04-161-2/+1
| | |
| * | Fixes unrelated process termination quirkRoberto Vidal2019-04-161-0/+0
| | |
| * | Adds "restart server" commandRoberto Vidal2019-04-164-7/+24
| |/
* | Merge #1157bors[bot]2019-04-177-72/+119
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1157: Add mbe stmt matcher r=matklad a=edwin0cheng Add `stmt` matcher in `ra_mbe` , and added corresponding `stmt()` parser in `ra_syntax`. This PR also help PR #1148 for `MarcoKind::Items` parsing. Note: * According [the book](https://doc.rust-lang.org/reference/macros-by-example.html), mbe `stmt` matcher will only match statement without the trailing semicolon * `item` is a valid statement. Co-authored-by: Edwin Cheng <[email protected]>
| * Add mbe stmt matcherEdwin Cheng2019-04-177-72/+119
|/
* Merge #1146bors[bot]2019-04-147-42/+91
|\ | | | | | | | | | | | | | | 1146: Moar profiling r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * fix testAleksey Kladov2019-04-141-17/+6
| |
| * add a couple of profiling pointsAleksey Kladov2019-04-144-0/+7
| |
| * more intuitive nameAleksey Kladov2019-04-141-11/+15
| |
| * filter by timeAleksey Kladov2019-04-143-28/+43
| |
| * cleanup syntaxAleksey Kladov2019-04-143-8/+34
| |
| * fast path for disabled profilerAleksey Kladov2019-04-141-8/+16
| |
| * switch to modern pathsAleksey Kladov2019-04-141-5/+5
|/
* Merge #1144bors[bot]2019-04-144-55/+176
|\ | | | | | | | | | | | | | | | | 1144: Refactor method candidate generation a bit r=flodiebold a=flodiebold This fixes the order in which candidates are chosen a bit (not completely though, as the ignored test demonstrates), and makes autoderef work with trait methods. As a side effect, this also makes completion of trait methods work :) Co-authored-by: Florian Diebold <[email protected]>
| * Refactor method candidate generation a bitFlorian Diebold2019-04-144-55/+176
|/ | | | | | This fixes the order in which candidates are chosen a bit (not completely though, as the ignored test demonstrates), and makes autoderef work with trait methods. As a side effect, this also makes completion of trait methods work :)
* Merge #1137bors[bot]2019-04-1411-63/+144
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1137: Adds support for multiple editor workspaces on initialization r=matklad a=jrvidal OK, so this "simple hack" turned out to be way more contrived than I expected :joy: ### What works This patch only handles multi-folder editor workspaces _on initialization_. * I've found that modifying the layout of a workspace in VSCode just reloads the extension, so this hack should be enough for now. * Not sure about how emacs-lsp behaves, but we fallback gracefully to the mono-folder workspace, so it should be fine. ### What doesn't work * [x] `cargo watch` can only watch a single root folder with a `Cargo.toml`. I've left this part untouched but we could either warn that it's not supported or launch _multiple_ `cargo-watch` processes. * [x] The `rust-analyzer/runnables` command is not functional, since we don't send the correct `cwd`. * [x] Should we add some happy path test to `heavy_tests`? * [ ] Going from a single `root` to multiple `roots` leaves us with a couple of `n * m` loops that smell a bit. The number of folders in the editor workspace is probably low though. Co-authored-by: Roberto Vidal <[email protected]>
| * Modifies runnables test to use multi-workspace rootRoberto Vidal2019-04-142-29/+68
| |
| * Sends cwd info for runnables and code lensesRoberto Vidal2019-04-148-5/+38
| |
| * Adds support for multiple editor workspaces on initializationRoberto Vidal2019-04-145-32/+41
| | | | | | | | This is a quick, partial fix for #1104
* | Merge #1138bors[bot]2019-04-1413-243/+560
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1138: Add L_DOLLAR and R_DOLLAR r=matklad a=edwin0cheng As discussion in issue https://github.com/rust-analyzer/rust-analyzer/issues/1132 and PR #1125 , this PR add 2 `Syntax::Kind` : `L_DOLLAR` and `R_DOLLAR` for representing `Delimiter::None` in mbe and proc_marco. By design, It should not affect the final syntax tree, and will be discard in `TreeSink`. My original idea is handling these 2 tokens case by case, but i found that they will appear in every place in the parser (imagine `tt` matcher). So this PR only handle it in `Parser::do_bump` and `Parser::start`, although It will not fix the `expr` matcher executing order problem in original idea. Co-authored-by: Edwin Cheng <[email protected]>
| * | Fix bug and add expr , pat , ty matcherEdwin Cheng2019-04-1410-33/+307
| | |