aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* 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 #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
| |
* | rename type to type_alias in the AST as wellAleksey Kladov2019-02-2545-108/+293
|/
* complete patternsAleksey Kladov2019-02-243-0/+103
|
* Rename Type => TypeAliasFlorian Diebold2019-02-2412-44/+58
|
* Add test for recursive type aliasesFlorian Diebold2019-02-241-0/+14
|
* Implement support for type aliasesFlorian Diebold2019-02-248-11/+102
|
* 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
| |
| * complete struct literalsAleksey Kladov2019-02-244-0/+78
| |
| * support upcastig in AST enumAleksey Kladov2019-02-242-0/+407
| |
* | Clean up imports a bitFlorian Diebold2019-02-242-6/+4
|/
* add marks to assistsAleksey Kladov2019-02-244-47/+41
|
* dont show introduce variable everywhereAleksey Kladov2019-02-242-46/+42
|
* Assign IDs to assistsAleksey Kladov2019-02-2416-43/+102
|
* Merge #885bors[bot]2019-02-249-47/+287
|\ | | | | | | | | | | | | | | 885: Parse token trees directy r=matklad a=matklad This takes advantage of the recent macro refactoring to directly parse token stream into a syntax tree. Co-authored-by: Aleksey Kladov <[email protected]>
| * renameAleksey Kladov2019-02-241-8/+8
| |
| * Add a test for macro parsingAleksey Kladov2019-02-232-10/+80
| |
| * implement tt -> astAleksey Kladov2019-02-232-5/+55
| |
| * keep-textAleksey Kladov2019-02-231-10/+17
| |
| * flatten ttAleksey Kladov2019-02-231-6/+55
| |
| * token source scaffoldAleksey Kladov2019-02-231-1/+22
| |
| * add dependency on the parserAleksey Kladov2019-02-231-0/+1
| |
| * add interfaceAleksey Kladov2019-02-231-0/+5
| |
| * introduce tree builderAleksey Kladov2019-02-233-20/+61
| |
| * renameAleksey Kladov2019-02-234-23/+19
| |
* | Refactor associated method resolution a bit and make it work with genericsFlorian Diebold2019-02-234-64/+98
| |
* | Split ty.rs into several modulesFlorian Diebold2019-02-235-1450/+1500
| | | | | | | | | | | | | | | | | | It was just getting too big. We now have: - ty: the `Ty` enum and helpers - ty::infer: actual type inference - ty::lower: lowering from HIR to `Ty` - ty::op: helpers for binary operations, currently
* | Simplify test_fill_match_arm_refs test casesVille Penttinen2019-02-231-24/+0
| |
* | Fix fill_match_arms not working with referencesVille Penttinen2019-02-231-0/+103
|/
* Merge #879bors[bot]2019-02-233-11/+139
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 879: Fixes to goto definition r=vipentti a=vipentti Previously goto definition would fail when the cursor was over the name of the definition. Now we should properly resolve to a `NavigationTarget` when on top of the name of a definition. In addition this adds `name_range` field to `FileSymbol`, this further fixes goto_definition and symbol based navigation by allowing the `NavigationTarget` to actually have a `focus_range`, meaning instead of focusing on the start of the `full_range`, we can have the cursor focus on the name. e.g. goto definition ```rust fn bar() { fn foo() { } foo<|>(); } ``` Previously this would put the cursor at the start of the FN_DEF: ```rust fn bar() { <|>fn foo() { } foo(); } ``` Now when using the symbol based resolving, we'll have a proper focus range and instead put the cursor at the start of the name. ```rust fn bar() { fn <|>foo() { } foo(); } ``` This fixes #877 but doesn't contain the refactoring of the return type for `goto_definition` Co-authored-by: Ville Penttinen <[email protected]>
| * Remove unnecessary to_nav_targetVille Penttinen2019-02-231-16/+12
| |
| * Add name_range field to FileSymbolVille Penttinen2019-02-232-7/+17
| | | | | | | | | | | | This contains the syntax range of the name itself, allowing NavigationTarget to properly set the focus_range. This should make it so that when using symbol based navigation, we should always focus on the name, instead of the full range.
| * Fix NavigationTarget debug_render container_name outputVille Penttinen2019-02-231-1/+1
| |
| * Fix goto def not working when cursor was over the name of a defVille Penttinen2019-02-232-4/+126
| | | | | | | | | | We now allow goto_definition to return the named NavigationTarget if the cursor is on the name of a definition.