aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src
Commit message (Collapse)AuthorAgeFilesLines
* Move type inlay hint truncation to language serverEmil Lauridsen2019-11-192-17/+30
| | | | | | | | | | | | This commit implements a general truncation framework for HirFormatter that keeps track of how much has been output so far. This information can then be used to perform truncation inside the language server, instead of relying on the client. Initial support is implemented for truncating types hints using the maxInlayHintLength server config option. The existing solution in the VSCode extension has been removed in favor of letting the server truncate type hints.
* Merge #2309bors[bot]2019-11-181-7/+29
|\ | | | | | | | | | | | | | | 2309: Goto type def through macros r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * Goto type def through macroskjeremy2019-11-181-7/+29
| |
* | Fix testkjeremy2019-11-181-10/+6
| |
* | Support hover through macrokjeremy2019-11-181-42/+66
|/
* Use Source<&ast::Name> in classify_namekjeremy2019-11-184-25/+22
|
* Token-based reverse-mappingAleksey Kladov2019-11-181-8/+25
|
* More sourcesAleksey Kladov2019-11-182-41/+32
|
* Add ra_ide_api::expandAleksey Kladov2019-11-184-55/+69
| | | | | This module should handle all tricky bits with mapping macro-expanded HirFileId to original files the user actually can see in the editor
* More SourceAleksey Kladov2019-11-181-19/+18
|
* More correct expansion mappingAleksey Kladov2019-11-171-22/+26
| | | | We can't really map arbitrary ranges, we only can map tokens
* Better factoring of macro expansion machinery in goto defAleksey Kladov2019-11-161-11/+20
|
* Goto definition works inside macrosAleksey Kladov2019-11-161-10/+40
|
* Source-ify name_definitionAleksey Kladov2019-11-161-20/+19
|
* Sourcify classify_name_refAleksey Kladov2019-11-165-21/+22
|
* Merge #2271bors[bot]2019-11-156-12/+17
|\ | | | | | | | | | | | | | | 2271: Force passing Source when creating a SourceAnalyzer r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Force passing Source when creating a SourceAnalyzerAleksey Kladov2019-11-156-12/+17
| |
* | Add a test that uses classify_namekjeremy2019-11-151-0/+15
| |
* | Handle ast::MacroCall in classify_name and impl FromSource for MacroDefkjeremy2019-11-151-1/+13
|/ | | | Fixes #2260
* Sourcify some thingsAleksey Kladov2019-11-152-4/+4
| | | | | If we want to support macros properly, we need to get rid of those FileIds everywhere...
* Remove old impls infrastructureAleksey Kladov2019-11-152-12/+8
|
* Auto-upgrade some insta snapshotsAleksey Kladov2019-11-1516-1547/+1638
|
* Use Local moreAleksey Kladov2019-11-151-8/+6
|
* Cleanup hoverJeremy Kolb2019-11-151-111/+93
| | | | Take advantage of classify_name
* Minor cleanupAleksey Kladov2019-11-121-2/+2
|
* fix typoGreg2019-11-121-1/+1
|
* Implement postfix completions feature flagGreg2019-11-122-0/+5
|
* Introduce hir::GenericParamAleksey Kladov2019-11-111-2/+3
| | | | Unlike existing hir::GenericParams, this is a global ID.
* Add hir::LocalAleksey Kladov2019-11-119-154/+81
|
* Refactor highlighting to use classify_nameAleksey Kladov2019-11-111-72/+73
|
* Introduce ToNav traitAleksey Kladov2019-11-117-177/+200
|
* impl fmt::Display for BuiltinTypeAleksey Kladov2019-11-111-6/+2
|
* Merge #2203bors[bot]2019-11-111-19/+31
|\ | | | | | | | | | | | | | | 2203: Hover for builtins r=matklad a=kjeremy Fixes #2192 Co-authored-by: Jeremy Kolb <[email protected]>
| * Hover for builtinsJeremy Kolb2019-11-101-19/+31
| |
* | Add tests for resolving types in core and std preludesMatthias Einwag2019-11-101-0/+62
|/
* Merge #2169bors[bot]2019-11-093-47/+154
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 2169: MBE: Mapping spans for goto definition r=matklad a=edwin0cheng Currently, go to definition gives the wrong span in MBE. This PR implement a mapping mechanism to fix it and it could be used for future MBE hygiene implementation. The basic idea of the mapping is: 1. When expanding the macro, generated 2 `TokenMap` which maps the macro args and macro defs between tokens and input text-ranges. 2. Before converting generated `TokenTree` to `SyntaxNode`, generated a `ExpandedRangeMap` which is a mapping between token and output text-ranges. 3. Using these 3 mappings to construct an `ExpansionInfo` which can map between input text ranges and output text ranges. Co-authored-by: Edwin Cheng <[email protected]>
| * Remove map_ranges in RevTokenMapEdwin Cheng2019-11-091-1/+1
| |
| * Refactor and simpfilyEdwin Cheng2019-11-082-6/+3
| |
| * Add note for recurseive macro generated codeEdwin Cheng2019-11-041-0/+1
| |
| * Add testsEdwin Cheng2019-11-041-0/+40
| |
| * Use new expansion feature in goto_definitionEdwin Cheng2019-11-042-45/+114
| |
* | Merge #2179bors[bot]2019-11-061-14/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2179: Use HirDatabase to compute `is_deprecated` r=matklad a=martskins This PR fixes #2167 by introducing `attributes_query` and adding `fn attrs(&self, def: crate::AttrDef) -> Option<Arc<[Attr]>>;` to the `DefDatabase` trait. I'm a little concerned about the two spots in `attributes_query` where code is repeated, but I couldn't figure out a way to avoid that, so.. I welcome suggestions :smile: Co-authored-by: Martin Asquino <[email protected]>
| * | HirDatabase stored attributesMartin Asquino2019-11-041-14/+13
| |/
* / Cleanup complete_postfixAleksey Kladov2019-11-061-52/+57
|/
* Reexport relative_path from ra_dbAleksey Kladov2019-11-036-11/+8
|
* Move CrateDefMap to hir_defAleksey Kladov2019-11-031-4/+4
|
* Use `bool` instead of `Option<bool>` and print it's value only when `true`Martin Asquino2019-11-028-78/+5
|
* Set `deprecated` field on `CompletionItem`sMartin Asquino2019-11-028-1/+185
|
* Change SourceAnalyzer method resoltion APIFlorian Diebold2019-11-012-32/+18
|
* Complete items on traits as wellFlorian Diebold2019-11-011-2/+46
|