aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Refactor CallInfo function signatures to new FunctionSignature typeVille Penttinen2019-04-098-69/+210
| | | | | This is used by CallInfo to create a pretty printed function signature that can be used with completions and other places as well.
* Merge #1123bors[bot]2019-04-0910-158/+192
|\ | | | | | | | | | | | | | | 1123: migrate to untyped rowan r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * migrate to untyped rowanAleksey Kladov2019-04-0910-158/+192
|/
* Merge #1105bors[bot]2019-04-088-231/+683
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1105: [WIP] Implement ra_mbe meta variables support r=matklad a=edwin0cheng This PR implements the following meta variable support in `ra_mba` crate (issue #720): - [x] `path` - [ ] `expr` - [ ] `ty` - [ ] `pat` - [ ] `stmt` - [ ] `block` - [ ] `meta` - [ ] `item` *Implementation Details* In the macro expanding lhs phase, if we see a meta variable type, we try to create a `tt:TokenTree` from the remaining input. And then we use a special set of `ra_parser` to parse it to `SyntaxNode`. Co-authored-by: Edwin Cheng <[email protected]>
| * Refactoring and add some docsEdwin Cheng2019-04-082-83/+106
| |
| * Fixed infintite loop bugEdwin Cheng2019-04-081-30/+4
| |
| * Fixed empty node bugEdwin Cheng2019-04-081-10/+49
| |
| * Use SubtreeWalker instread of flatten TtTokenEdwin Cheng2019-04-084-258/+421
| |
| * Combine all tokensource to one and refactoringEdwin Cheng2019-04-075-86/+94
| |
| * Refactoring subtree_sourceEdwin Cheng2019-04-074-364/+386
| |
| * Add TtCursorTokenSource and TtCursorTokenSinkEdwin Cheng2019-04-064-24/+216
| |
| * Add path test and empty eat_path handlingEdwin Cheng2019-04-063-0/+31
| |
* | Merge #1121bors[bot]2019-04-081-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 1121: Avoid two-phase borrow conflict r=matklad a=lnicola See https://github.com/rust-lang/rust/issues/59159. Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | Avoid two-phase borrow conflictLaurențiu Nicola2019-04-081-2/+2
|/ /
* | Merge #1103bors[bot]2019-04-076-55/+124
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1103: Array inference r=flodiebold a=Lapz Fixes the final item in #394. The only problem is that infering the repeat cause some types to be infered twices. i.e ```rust fn test() { let y = unknown; [y, &y]; } ``` results in the following diff: ```diff [11; 48) '{ ...&y]; }': () [21; 22) 'y': &{unknown} [25; 32) 'unknown': &{unknown} -[38; 45) '[y, &y]': [&&{unknown}] +[38; 45) '[y, &y]': [&&{unknown};usize] [39; 40) 'y': &{unknown} +[39; 40) 'y': &{unknown} [42; 44) '&y': &&{unknown} [43; 44) 'y': &{unknown} ``` Should the code produce two inference results for 'y' and if not could any tell me what needs to change. Co-authored-by: Lenard Pratt <[email protected]>
| * | updated snapshotsLenard Pratt2019-04-076-77/+44
| | |
| * | Added ArrayExprKind,Lenard Pratt2019-04-075-31/+76
| | | | | | | | | | | | | | | changed the display for fixed array types, Added Array Enum to ra_hir/expr
| * | Added inference of array lengthLenard Pratt2019-04-076-5/+62
|/ /
* | Merge #1119bors[bot]2019-04-071-6/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1119: Add warning when open file outside workspace r=matklad a=edwin0cheng When file is not found in `ra_vfs` but exist, use `LspError` for warning instead of `error_fmt` to bail out error, Temporarily fix #967 . edit: typo Co-authored-by: Edwin Cheng <[email protected]>
| * | Remove checking file existsEdwin Cheng2019-04-071-13/+6
| | |
| * | fix formattingEdwin Cheng2019-04-071-1/+2
| | |
| * | Add warning when open file outside workspaceEdwin Cheng2019-04-061-5/+15
| |/
* | Merge #1117bors[bot]2019-04-0615-14/+248
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1117: [WIP] Tuple struct index inference r=matklad a=robojumper The first commit adds a helper struct `ast::FieldKind` to facilitate inference. The second commit adds a slightly modified test from #1109 while mentioning that there is a problem with how we're handling tuple indexing / floats. cc #1109 Co-authored-by: robojumper <[email protected]>
| * | Rudimentarily autocomplete tuple struct field accessrobojumper2019-04-062-0/+38
| | |
| * | Parse and infer tuple indicesrobojumper2019-04-0613-14/+210
| |/
* | Merge #1118bors[bot]2019-04-051-0/+1
|\ \ | |/ |/| | | | | | | | | | | 1118: Updated the gitignore r=flodiebold a=Lapz Updated the gitignore to ignore *.rs.pending-snap Co-authored-by: Lenard Pratt <[email protected]>
| * Updated the gitignoreLenard Pratt2019-04-051-0/+1
| |
* | Merge #1115bors[bot]2019-04-051-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 1115: Add .gitattributes for fix Windows Line-ending problem in `generated_grammar_is_fresh` r=matklad a=edwin0cheng Although https://github.com/rust-analyzer/rust-analyzer/issues/937 is marked as `Closed` . But it should work without setting `core.autocrlf` to `false` by this PR. Co-authored-by: Edwin Cheng <[email protected]>
| * | add .gitattributesEdwin Cheng2019-04-051-0/+1
| | |
* | | Merge #1114bors[bot]2019-04-051-119/+119
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1114: Crate updates r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Update depskjeremy2019-04-051-119/+119
| | |
* | | Merge #1112bors[bot]2019-04-055-7/+101
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1112: Fix literal support in token tree to ast item list r=matklad a=edwin0cheng This PR implements following things : 1. Expose `next_token` from `ra_parse` 2. Fix the literal conversion in `token_tree_to_ast_item_list` 3. Add test for the conversion Co-authored-by: Edwin Cheng <[email protected]>
| * | Add proper test for literals and fixed typo bugEdwin Cheng2019-04-053-5/+51
| | |
| * | Add classify_literal and undo expose next_tokenEdwin Cheng2019-04-055-8/+15
| | |
| * | Fix literal support in token tree to ast item listEdwin Cheng2019-04-054-4/+45
|/ /
* | Merge #1111bors[bot]2019-04-053-20/+139
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1111: Add multi-byte token support in token tree to ast item list r=matklad a=edwin0cheng As discusion in https://github.com/rust-analyzer/rust-analyzer/pull/1105 , this PR add implement all multi-byte tokens in `ra_mbe` crate. Co-authored-by: Edwin Cheng <[email protected]>
| * | Clean upEdwin Cheng2019-04-041-29/+29
| | |
| * | Add multi-byte token support in tkn tree to astEdwin Cheng2019-04-043-20/+139
|/ /
* | Merge #1108bors[bot]2019-04-041-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 1108: Fix issue label link in docs/dev/README.md r=matklad a=pcpthm Co-authored-by: pcpthm <[email protected]>
| * | Fix issue label link in docs/dev/README.mdpcpthm2019-04-041-1/+1
|/ /
* | Merge #1107bors[bot]2019-04-041-4/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 1107: Fix test fails when different target directory is used r=matklad a=pcpthm Co-authored-by: pcpthm <[email protected]>
| * | Make robust about target directorypcpthm2019-04-041-4/+1
|/ /
* | Merge #1106bors[bot]2019-04-042-7/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | 1106: :arrow_up: salsa r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: salsaAleksey Kladov2019-04-042-7/+7
| | |
* | | Merge #1101bors[bot]2019-04-035-6/+95
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1101: Parse unsafe async / const unsafe fns properly r=matklad a=robojumper Also adds tests that `unsafe async fn` as well as `const unsafe fn` parse properly and that these keywords in the reversed order cause parse errors. [Playground link to verify that this is the correct order.](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=7850b8d92579de31c38f835f76afa4ce) Closes #1086. Co-authored-by: robojumper <[email protected]>
| * | | Parse unsafe async / const unsafe fns properlyrobojumper2019-04-035-6/+95
| | | |
* | | | Merge #1098bors[bot]2019-04-031-1/+46
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 1098: added some docs to public functions r=matklad a=pasa some docs for #961 Co-authored-by: Sergey Parilin <[email protected]>
| * | | added some docs to public functionsSergey Parilin2019-04-031-1/+46
| | | |
* | | | Merge #1068bors[bot]2019-04-0310-10/+193
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1068: profiling crate first draft r=matklad a=pasa I've made this first draft for #961 Could you look at it? Is this something what you are looking for? It has lack of tests. I can't figure out how to test stderr output in rust right now. Do you have some clues? Additionally I'm thinking about to implement procedural macros to annotate methods with this profiler. Will it be helpful? Co-authored-by: Sergey Parilin <[email protected]>
| * | | Merge remote-tracking branch 'upstream/master' into issue961_profilingSergey Parilin2019-04-0254-1180/+1943
| |\ \ \