| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
When range is provided, instead of showing the syntax for the whole file, we'll
show the syntax tree for the given range.
|
|
|
|
| |
Since the latter could actually be a real type...
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| |
| |
| |
| |
| | |
This adds highlighting when hovering over items which are resolved using
`type_of`.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
Additionally add type ascription for const and statics as well.
|
|
|
|
|
| |
Now goto definition should work when done on a named field in a struct
initializer.
|
| |
|
| |
|
|
|
|
|
| |
This makes testing hovers easier as well as allows us to do more things with the
results if needed.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This module should remove completion rendering boilerplate from the
"brains" of completion engine.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
We now allow goto_definition to return the named NavigationTarget if the cursor
is on the name of a definition.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
866: Implement basic support for Associated Methods r=flodiebold a=vipentti
This is my attempt at learning to understand how the type inference works by adding basic support for associated methods. Currently it does not resolve associated types or constants.
The basic idea is that `Resolver::resolve_path` returns a new `PathResult` type, which has two variants, `FullyResolved` and `PartiallyResolved`, fully resolved matches the previous behavior, where as `PartiallyResolved` contains the `PerNs<Resolution` in addition to a `segment_index` which contains the index of the segment which we failed to resolve. This index can then be used to continue inference in `infer_path_expr` using the `Type` we managed to resolve.
This changes some of the previous apis, so looking for feedback and suggestions.
This should enable fixing #832
Co-authored-by: Ville Penttinen <[email protected]>
|
| |
| |
| |
| |
| |
| | |
This also adds new pub(crate) resolve_path_segments which returns the
PathResult, which may or may not be fully resolved. PathResult is also now
pub(crate) since it is an implementation detail.
|
| |
| |
| |
| |
| |
| |
| | |
This is done in `infer_path_expr`. When `Resolver::resolve_path` returns
`PartiallyResolved`, we use the returned `Resolution` together with the given
`segment_index` to check if we can find something matching the segment at
segment_index in the impls for that particular type.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
864: Fix handling of generics in tuple variants and refactor a bit r=matklad a=flodiebold
(The problem was that we created separate substitutions for the return value, so we lost the connection between the type arguments in the constructor call and the type arguments of the result.)
Also make them display a tiny bit nicer.
Fixes #860.
Co-authored-by: Florian Diebold <[email protected]>
Co-authored-by: Florian Diebold <[email protected]>
|
| |/
| |
| |
| |
| |
| | |
Also make them display a tiny bit nicer.
Fixes #860.
|
|/ |
|
|
|
|
|
| |
we need to significantly reengineer macros, so the tests as they exist
are useless
|
| |
|
| |
|
| |
|