aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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 #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.
| * | Add support for showing fn signature when hoveringVille Penttinen2019-02-261-3/+43
| | |
* | | Merge #903bors[bot]2019-02-271-4/+13
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 903: Work around for issue in vscode reporting a failure in request r=matklad a=vipentti 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. Co-authored-by: Ville Penttinen <[email protected]>
| * | | 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.
* | | Merge #902bors[bot]2019-02-261-4/+4
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 902: Fix a typo r=matklad a=dwijnand Co-authored-by: Dale Wijnand <[email protected]>
| * | Fix a typoDale Wijnand2019-02-261-4/+4
|/ /
* | Merge #899bors[bot]2019-02-261-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | 899: Change default value of highlightingOn to false r=matklad a=vipentti This changes the default value for the vscode setting `rust-analyzer.highlightingOn` to `false`. Since currently the highlighting only supports Zenburn, which people may not be using, I think it makes sense to have this feature disabled by default. This was discussed in #896 Co-authored-by: Ville Penttinen <[email protected]>
| * Change default value of highlightingOn to falseVille Penttinen2019-02-261-1/+1
|/
* 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]>
| * Move ConstSignature creation to a single methodVille Penttinen2019-02-251-17/+13
| |
| * Add static type inferenceVille Penttinen2019-02-256-12/+54
| |
| * Add const type inferenceVille Penttinen2019-02-2511-20/+168
| |
* | kill accidently commited fileAleksey Kladov2019-02-251-182/+0
| |
* | Merge #898bors[bot]2019-02-2545-108/+293
|\ \ | |/ |/| | | | | | | | | | | 898: rename type to type_alias in the AST as well r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * rename type to type_alias in the AST as wellAleksey Kladov2019-02-2545-108/+293
|/
* Merge #895bors[bot]2019-02-243-0/+103
|\ | | | | | | | | | | | | | | 895: complete patterns r=matklad a=matklad bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| * complete patternsAleksey Kladov2019-02-243-0/+103
|/
* Merge #894bors[bot]2019-02-2412-44/+58
|\ | | | | | | | | | | | | | | 894: Rename Type => TypeAlias r=matklad a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * Rename Type => TypeAliasFlorian Diebold2019-02-2412-44/+58
|/
* Merge #892bors[bot]2019-02-248-11/+116
|\ | | | | | | | | | | | | | | | | | | 892: Type aliases r=matklad a=flodiebold This implements type aliases (i.e. `type` definitions). There's just one snag: handling recursion. E.g. `type Foo = Foo` makes type inference panic with a query cycle. I think the best way to handle this would be if Salsa provided the ability to catch cycle errors? It seems that there's some work underway to support this [here](https://github.com/salsa-rs/salsa/issues/6) and [here](https://github.com/salsa-rs/salsa/pull/147). Should we wait for this? I don't see a good way to handle this without help from Salsa. Co-authored-by: Florian Diebold <[email protected]>
| * Add test for recursive type aliasesFlorian Diebold2019-02-241-0/+14
| |
| * Implement support for type aliasesFlorian Diebold2019-02-248-11/+102
|/
* Merge #893bors[bot]2019-02-2414-331/+295
|\ | | | | | | | | | | | | | | 893: Completion presentation r=matklad a=matklad Just moves completion code around a bit, to keep logic for producing completions and logic for rendering them into completion items separate. Co-authored-by: Aleksey Kladov <[email protected]>
| * move testing functionsAleksey Kladov2019-02-2410-20/+14
| |
| * move the rest of presentation to presentationAleksey Kladov2019-02-242-50/+20
| |
| * move more code to presentationAleksey Kladov2019-02-242-88/+57
| |
| * move res completion to presentationAleksey Kladov2019-02-243-41/+42
| |
| * simplifyAleksey Kladov2019-02-241-31/+31
| |
| * move enum-variants to presentationAleksey Kladov2019-02-242-21/+21
| |
| * simplifyAleksey Kladov2019-02-244-35/+31
| |
| * move presentaion completion to presentationAleksey Kladov2019-02-242-80/+80
| |
| * move function rendering to presentationAleksey Kladov2019-02-245-24/+49
| |
| * introduce completion presentationAleksey Kladov2019-02-245-33/+42
|/ | | | | This module should remove completion rendering boilerplate from the "brains" of completion engine.
* Merge #891bors[bot]2019-02-246-0/+494
|\ | | | | | | | | | | | | | | 891: Field completion r=matklad a=matklad bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| * complete fields in struct literalsAleksey Kladov2019-02-241-7/+16
| |