aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* improve error recoveryAleksey Kladov2019-03-044-59/+77
| | | | parse the contents of error block as an expression
* extract block contents into a functionAleksey Kladov2019-03-041-2/+6
|
* Merge #916bors[bot]2019-03-044-72/+220
|\ | | | | | | | | | | | | | | 916: Error handling for macros r=matklad a=detrumi Part of #720 Co-authored-by: Wilco Kusee <[email protected]>
| * Add expander unit testsWilco Kusee2019-03-031-4/+69
| |
| * Add parser unit testsWilco Kusee2019-03-033-6/+58
| |
| * Split parse and expand errorsWilco Kusee2019-03-034-72/+74
| |
| * FormattingWilco Kusee2019-03-021-10/+20
| |
| * Replace option with result in mbeWilco Kusee2019-03-024-74/+93
| |
* | Merge #924bors[bot]2019-03-0410-43/+423
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 924: Improve show syntax tree r=matklad a=vipentti This implements some of the features discussed in #820. You can now select a range of syntax in a file and then use "Show Syntax Tree" to show its syntax. In addition you can select a range of syntax that is inside a string (typically test cases) and show its syntax as well. Previous behavior is still available, simply use "Show Syntax Tree" without a selection, and you get the live updating syntax tree. Additionally now the live updating tree will update when the active file is changed. Previously you had to type something in the new file to get the syntax tree to update. Co-authored-by: Ville Penttinen <[email protected]>
| * | Allow syntax strings to contain test markersVille Penttinen2019-03-041-1/+3
| | | | | | | | | | | | | | | We simply remove all the CUSTOM_MARKERS before attempting to parse the file. This allows for the syntax selection to work with most of the test strings.
| * | Implement syntax tree support for syntax inside stringVille Penttinen2019-03-043-8/+206
| | | | | | | | | | | | | | | | | | This allows us to select a string or portions of it and try parsing it as rust syntax. This is mostly helpful when developing tests where the test itself contains some rust syntax as a string.
| * | Allow syntax tree to update when changing filesVille Penttinen2019-03-032-17/+26
| | | | | | | | | | | | | | | | | | Previously when using the file based syntax tree, it would not update until a change had been made in the new file. Now we automatically update the syntax tree to match the current file.
| * | Rename syntaxtree text provider to SyntaxTreeContentProviderVille Penttinen2019-03-033-13/+11
| | |
| * | Add vscode support for range in SyntaxTreeParamsVille Penttinen2019-03-033-11/+41
| | | | | | | | | | | | | | | | | | This enables the client to use a command to either show the live-updating version of the syntax tree for the current file. Or optionally when a selected range is provided, we then provide a snapshot of the syntax tree for the range.
| * | Add optional range parameter to SyntaxTreeParamsVille Penttinen2019-03-034-5/+148
|/ / | | | | | | | | When range is provided, instead of showing the syntax for the whole file, we'll show the syntax tree for the given range.
* | Merge #917bors[bot]2019-03-0350-1291/+1286
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 917: Trait tests r=flodiebold a=flodiebold This adds a bunch of basic tests for trait functionality, just to outline what seems like the first goals for that ;) It also changes the display of `Ty::Unknown` to `{unknown}`, since `[unknown]` could be confused with a slice, and fixes an error in the emacs runnables code. Co-authored-by: Florian Diebold <[email protected]>
| * | Inline type inference test snapshotsFlorian Diebold2019-03-0359-1504/+1096
| | |
| * | emacs: Fix (void-variable rust-analyzer--last-runnable)Florian Diebold2019-03-031-1/+1
| | |
| * | Represent unknown types as {unknown} instead of [unknown]Florian Diebold2019-03-0329-172/+172
| | | | | | | | | | | | Since the latter could actually be a real type...
| * | Add a bunch of tests for type inference involving traitsFlorian Diebold2019-03-0213-0/+403
|/ / | | | | | | None of them works correctly yet, of course.
* | Merge #908bors[bot]2019-03-021-8/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 908: Enable markup for hover on expressions which resolve using type_of r=matklad a=vipentti This adds highlighting when hovering over items which are resolved using `type_of`. This adds basic highlighting, discussed in #904. Co-authored-by: Ville Penttinen <[email protected]>
| * | Enable markup for hover on expressions which resolve using type_ofVille Penttinen2019-02-281-8/+27
| | | | | | | | | | | | | | | This adds highlighting when hovering over items which are resolved using `type_of`.
* | | Merge #915bors[bot]2019-03-0216-133/+108
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 915: Bring BodySyntaxMapping in line with other source-map instances r=flodiebold a=matklad * rename to SourceMap * don't store the actual body inline, just return a pair r? @flodiebold Co-authored-by: Aleksey Kladov <[email protected]>
| * | | remove commentAleksey Kladov2019-03-021-1/+0
| | | |
| * | | remove second way to get the bodyAleksey Kladov2019-03-022-5/+1
| | | |
| * | | rename syntax_mapping as wellAleksey Kladov2019-03-026-19/+18
| | | |
| * | | align lower module query namesAleksey Kladov2019-03-027-23/+15
| | | |
| * | | rename scopesAleksey Kladov2019-03-024-9/+9
| | | |
| * | | rename to source_mapAleksey Kladov2019-03-022-17/+13
| | | |
| * | | dont store body inside source mapAleksey Kladov2019-03-025-61/+54
| | | |
| * | | rename syntax-mapping -> source-mapAleksey Kladov2019-03-0211-32/+32
| | |/ | |/|
* | | Merge #914bors[bot]2019-03-021-28/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 914: A bit of cleanup in ty.rs r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * | A bit of cleanup in ty.rsFlorian Diebold2019-03-021-28/+1
|/ /
* | Merge #910bors[bot]2019-02-281-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 910: Update hover message since we do support globs r=matklad a=kjeremy #909 drew attention to this. Co-authored-by: kjeremy <[email protected]>
| * | Update hover message since we do support globskjeremy2019-02-281-1/+1
|/ /
* / add syntax-trees videoAleksey Kladov2019-02-281-0/+3
|/
* Merge #906bors[bot]2019-02-273-3/+124
|\ | | | | | | | | | | | | | | 906: Add support for goto definition and hover for struct fields r=matklad a=vipentti This works partially towards fixing #512 Co-authored-by: Ville Penttinen <[email protected]>
| * Enable hover support for NamedFieldDefsVille Penttinen2019-02-271-3/+79
| | | | | | | | Additionally add type ascription for const and statics as well.
| * Allow goto-definition to work for named fields in struct initializerVille Penttinen2019-02-272-0/+45
| | | | | | | | | | Now goto definition should work when done on a named field in a struct initializer.
* | Merge #905bors[bot]2019-02-272-61/+63
|\ \ | |/ |/| | | | | | | | | | | 905: Update deps r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * Fix the buildkjeremy2019-02-271-1/+3
| |
| * Update depskjeremy2019-02-271-60/+60
|/
* Merge #900bors[bot]2019-02-279-61/+72
|\ | | | | | | | | | | | | | | | | | | | | 900: Add new trait ast::TypeAscriptionOwner r=vipentti a=vipentti This trait should be implemented for nodes which have an ascribed type, e.g. thing : Type. Such as let, const, static, param, named struct fields. In addition, we update some places where previously we used node + node.type_ref() with `TypeAscriptionOwner` in the trait bounds. Co-authored-by: Ville Penttinen <[email protected]>
| * Remove `TypeRef` from item opts which implement TypeAscriptionOwnerVille Penttinen2019-02-276-43/+24
| |
| * Use TypeAscriptionOwnerVille Penttinen2019-02-262-12/+15
| | | | | | | | | | | | This replaces places where we would use node + node.type_ref() with things that have an ascribed type, with using the TypeAscriptionOwner as the trait bound so we can simply pass the node.
| * Add new trait TypeAscriptionOwnerVille Penttinen2019-02-263-9/+36
| | | | | | | | | | This trait should be implemented for nodes which have an ascribed type, e.g. thing : Type. Such as let, const, static, param, named struct fields.
* | Merge #901bors[bot]2019-02-274-21/+179
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 901: Add basic support for showing fn signature when hovering r=matklad a=vipentti This adds basic support for displaying function signature when hovering over a usage of a function. Additionally refactored `hover` to return `HoverResult` to ease with testing and in general to be more robust. Co-authored-by: Ville Penttinen <[email protected]>
| * | Add support for hovering over the name of an itemVille Penttinen2019-02-272-2/+28
| | |
| * | Replace visit_fn with crate::completion::function_labelVille Penttinen2019-02-261-43/+2
| | |
| * | Add new type HoverResult to contain the results of hoveringVille Penttinen2019-02-263-16/+149
| | | | | | | | | | | | | | | This makes testing hovers easier as well as allows us to do more things with the results if needed.