aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #1110bors[bot]2019-04-0916-231/+391
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 1110: Introduce display module and implement new FunctionSignature for CallInfo's r=matklad a=vipentti This introduces a new module `display` in `ra_ide_api` that contains UI-related things, in addition this refactors CallInfo's function signatures into a new `FunctionSignature` type, which implements `Display` and can be converted into `lsp_types::SignatureInformation` in the `conv` layer. Currently only `CallInfo` uses the `FunctionSignature` directly, but `function_label` now uses the same signature and returns it as a string, using the `Display` implementation. This also fixes #960 I think this similar structure could be applied to other UI-displayable items, so instead of the `ra_ide_api` returning `Strings` we could return some intermediate structures that can be converted into a UI-displayable `String` easily, but that could also provide some additional information. Co-authored-by: Ville Penttinen <[email protected]>
| * Fix doc commentVille Penttinen2019-04-091-1/+1
| |
| * Move display related things from hover to displayVille Penttinen2019-04-093-109/+110
| |
| * Move FunctionSignature to display/function_signatureVille Penttinen2019-04-092-100/+104
| |
| * Make display modules privateVille Penttinen2019-04-092-5/+6
| |
| * Move structure to display/structureVille Penttinen2019-04-094-9/+9
| |
| * Move navigation_target to display/navigation_targetVille Penttinen2019-04-094-4/+6
| |
| * Move completion label functions to displayVille Penttinen2019-04-094-31/+32
| |
| * Add FunctionSignature::from_hirVille Penttinen2019-04-092-6/+11
| |
| * Normalize line-endings in display.rsVille Penttinen2019-04-091-112/+112
| | | | | | | | This changes from CRLF to LF
| * Move FunctionSignature creation to displayVille Penttinen2019-04-093-50/+54
| |
| * Add no parameter test to call_infoVille Penttinen2019-04-091-0/+19
| |
| * Move FunctionSignature to display, remove write_joinedVille Penttinen2019-04-092-49/+36
| | | | | | | | | | write_joined is replaced with `join_to_string::join` which provides the necessary functionality.
| * Move test specific thingsVille Penttinen2019-04-092-16/+11
| |
| * Update test snapshotsVille Penttinen2019-04-092-10/+10
| |
| * 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
|/ /