aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Introduce pattern_list to parse pipe separated patternsVille Penttinen2019-03-052-10/+18
| | | | | pattern_list comes in two variants, one uses the default PAT_RECOVERY_SET as the recovery set, while other allows the user to provide a recovery set.
* Add support for parsing multiple if and while-let patternsVille Penttinen2019-03-043-1/+174
|
* allow `mut ident` patterns in trait methodsAleksey Kladov2019-03-043-12/+28
| | | | closes #928
* allow aliases in underscoresAleksey Kladov2019-03-044-2/+21
| | | | | | | | this helps with use foo::Trait as _; syntax
* Merge #926bors[bot]2019-03-043-1/+56
|\ | | | | | | | | | | | | | | 926: allow vararg functions r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * allow vararg functionsAleksey Kladov2019-03-043-1/+56
| |
* | 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
| |
* | 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.
* | 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.
* | Inline type inference test snapshotsFlorian Diebold2019-03-0359-1504/+1096
| |
* | 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
| | |/ | |/|
* / | A bit of cleanup in ty.rsFlorian Diebold2019-03-021-28/+1
|/ /
* / Update hover message since we do support globskjeremy2019-02-281-1/+1
|/
* 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.
* | Fix the buildkjeremy2019-02-271-1/+3
|/
* 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.
| * | Add support for showing fn signature when hoveringVille Penttinen2019-02-261-3/+43
| |/
* | Remove RawResponse::empty()Ville Penttinen2019-02-272-7/+5
| |
* | Work around for issue in vscode reporting a failure in requestVille Penttinen2019-02-272-5/+16
| | | | | | | | | | | | vscode would report "A request has failed" when it got "Content modified" message and this would cause a pop-up to appear. This works around the issue by returning an "empty" response that vscode can ignore.
* | Fix a typoDale Wijnand2019-02-261-4/+4
|/
* Merge #897bors[bot]2019-02-2511-20/+206
|\ | | | | | | | | | | | | | | | | | | 897: Add basic const/static type inference r=flodiebold a=vipentti This adds basic const/static type inference discussed in #887. Currently the inference does not work for const/static declared inside a block. In addition the inference does not work inside the bodies of const/static. Co-authored-by: Ville Penttinen <[email protected]>