aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #2297 from kiljacken/masterAleksey Kladov2019-11-202-4/+59
|\ | | | | Add fancy truncation of type hints.
| * Move type inlay hint truncation to language serverEmil Lauridsen2019-11-192-4/+59
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Change to use Expansion::file_id and reorderingEdwin Cheng2019-11-191-6/+1
| |
* | RebaseEdwin Cheng2019-11-191-0/+5
|/
* Publicise GenericParamsAleksey Kladov2019-11-181-3/+3
| | | | See https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Exposing.20GenericParam.2Ename
* More correct expansion mappingAleksey Kladov2019-11-171-4/+9
| | | | We can't really map arbitrary ranges, we only can map tokens
* Disable doctestsAleksey Kladov2019-11-171-2/+2
|
* Goto definition works inside macrosAleksey Kladov2019-11-161-1/+22
|
* Upgrade Chalk againFlorian Diebold2019-11-163-24/+34
|
* Fix handling of the binders in dyn/impl TraitFlorian Diebold2019-11-164-45/+116
| | | | | | | | | We need to be more careful now when substituting bound variables (previously, we didn't have anything that used bound variables except Chalk, so it was not a problem). This is obviously quite ad-hoc; Chalk has more infrastructure for handling this in a principled way, which we maybe should adopt.
* Use Chalk's dyn/impl trait supportFlorian Diebold2019-11-163-13/+16
|
* Upgrade ChalkFlorian Diebold2019-11-164-110/+210
| | | | | Associated type values (in impls) are now a separate entity in Chalk, so we have to intern separate IDs for them.
* Merge #2271bors[bot]2019-11-152-39/+29
|\ | | | | | | | | | | | | | | 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-152-38/+29
| |
| * Prepare SourceAnalyzer for macrosAleksey Kladov2019-11-151-1/+0
| |
* | Merge #2268bors[bot]2019-11-151-4/+19
|\ \ | |/ |/| | | | | | | | | | | 2268: Handle ast::MacroCall in classify_name and impl FromSource for MacroDef r=matklad a=kjeremy Fixes #2260 Co-authored-by: kjeremy <[email protected]>
| * Handle ast::MacroCall in classify_name and impl FromSource for MacroDefkjeremy2019-11-151-4/+19
| | | | | | | | Fixes #2260
* | Prepare SourceAnalyzer for macrosAleksey Kladov2019-11-151-7/+6
| |
* | Sourcify some moreAleksey Kladov2019-11-151-13/+21
|/
* Sourcify some thingsAleksey Kladov2019-11-152-11/+9
| | | | | If we want to support macros properly, we need to get rid of those FileIds everywhere...
* Remove old impls infrastructureAleksey Kladov2019-11-1510-345/+84
|
* Flatten expr moduleAleksey Kladov2019-11-153-141/+130
|
* Move scope tests to hir_defAleksey Kladov2019-11-152-208/+5
|
* Reduce visibilityAleksey Kladov2019-11-151-3/+3
|
* Auto-upgrade some insta snapshotsAleksey Kladov2019-11-151-49/+5
|
* Reduce visibilityAleksey Kladov2019-11-151-3/+3
|
* Use Local moreAleksey Kladov2019-11-153-16/+11
|
* Privatize modulesAleksey Kladov2019-11-151-1/+1
|
* Refactor Module::from_source to properly descend from root fileAleksey Kladov2019-11-152-33/+37
|
* Move body queries to hir_defAleksey Kladov2019-11-148-71/+48
|
* Move scopes to hir_defAleksey Kladov2019-11-145-368/+202
|
* Handle macro-generated expressions slightly less wrongAleksey Kladov2019-11-143-15/+38
|
* Rename MacroResolver -> ExpanderAleksey Kladov2019-11-141-2/+2
|
* Move current file to MacroResolverAleksey Kladov2019-11-141-2/+2
|
* Normalize dataAleksey Kladov2019-11-141-14/+9
| | | | No need to store derivable info
* Reduce duplication between uncertain floats & intsAleksey Kladov2019-11-137-70/+55
|
* Move expression lowering to hir_defAleksey Kladov2019-11-125-730/+37
|
* Remove owner from BodyAleksey Kladov2019-11-125-28/+19
|
* Move definition of exprs to hir_defAleksey Kladov2019-11-125-502/+56
|
* Minor refactoringAleksey Kladov2019-11-121-3/+3
|
* Minor cleanupAleksey Kladov2019-11-125-45/+42
|
* Introduce hir::GenericParamAleksey Kladov2019-11-113-7/+16
| | | | Unlike existing hir::GenericParams, this is a global ID.
* Don't reexport generics from HIRAleksey Kladov2019-11-115-12/+13
|
* Merge #2200bors[bot]2019-11-115-19/+90
|\ | | | | | | | | | | | | | | | | | | 2200: Add variables to HIR r=matklad a=matklad Introduce a `hir::Variable`, which should cover locals, parameters and `self`. Unlike `PatId`, variable knows it's owner so it is self-contained, and should be more convenient to use from `ra_ide_api`. The goal here is to hide more details about `Body` from hir, which should make it easier to move `Body` into `hir_def`. I don't think that `ra_ide_api` intrracts with bodies directly at the moment anyway, but the glue layer is based basically on `ast::BindPat`, which seems pretty brittle. Co-authored-by: Aleksey Kladov <[email protected]>
| * Add hir::LocalAleksey Kladov2019-11-115-19/+90
| |
* | Merge #2205bors[bot]2019-11-111-0/+19
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | 2205: Implement bulitin line! macro r=matklad a=edwin0cheng This PR implements bulitin macro `line!` and add basic infra-structure for other bulitin macros: 1. Extend `MacroDefId` to support builtin macros 2. Add a `quote!` macro for simple quasi quoting. Note that for support others builtin macros, eager macro expansion have to be supported first, this PR not try to handle it. :) Co-authored-by: Edwin Cheng <[email protected]>
| * Add MacroDefKindEdwin Cheng2019-11-111-8/+3
| |
| * Add line macro and testsEdwin Cheng2019-11-111-0/+19
| |
| * Add basic bultin macro infrastructureEdwin Cheng2019-11-111-3/+8
| |
* | Make primitive tys publicAleksey Kladov2019-11-111-1/+5
| |