aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add AstElement trait, generate tokens, support tokens in enumsLuca Barbieri2020-04-083-94/+380
| | | | | | | | | - Adds a new AstElement trait that is implemented by all generated node, token and enum structs - Overhauls the code generators to code-generate all tokens, and also enhances enums to support including tokens, node, and nested enums
* Merge #3895bors[bot]2020-04-081-1/+1
|\ | | | | | | | | | | | | | | | | | | | | 3895: Fix warnings emitted when compiling as part of rustc r=matklad a=matklad bors r+ 🤖 Co-authored-by: Luca Barbieri <[email protected]>
| * Fix warnings emitted when compiling as part of rustcLuca Barbieri2020-04-081-1/+1
|/
* Merge #3826bors[bot]2020-04-085-51/+148
|\ | | | | | | | | | | | | | | | | | | | | | | | | 3826: Flatten nested highlight ranges during DFS traversal r=matklad a=ltentrup Implements the flattening of nested highlights from #3447. There is a caveat: I needed to add `Clone` to `HighlightedRange` to split highlight ranges ~and the nesting does not appear in the syntax highlighting test (it does appear in the accidental-quadratic test but there it is not checked against a ground-truth)~. I have added a test case for the example mentioned in #3447. Co-authored-by: Leander Tentrup <[email protected]>
| * Simplify HTML highlighter and add test case for highlight_injection logicLeander Tentrup2020-04-065-59/+97
| |
| * Flatten nested highlight ranges during DFS traversalLeander Tentrup2020-04-032-6/+65
| |
* | Merge #3892bors[bot]2020-04-082-1/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 3892: Add L_DOLLAR for TYPE_RECOVERY_SET r=matklad a=edwin0cheng This PR is a hot fix for issue #3861 that just prevent it make the parser being stuck. The actual problem described in https://github.com/rust-analyzer/rust-analyzer/pull/3873#issuecomment-610208693 is a very deep rabbit hole I don't want to dig right now :( Co-authored-by: Edwin Cheng <[email protected]>
| * | Add L_DOLLAR for TYPE_RECOVERY_SETEdwin Cheng2020-04-082-1/+18
| | |
* | | fmtAleksey Kladov2020-04-083-6/+7
| | |
* | | Don't strip nightly releasesAleksey Kladov2020-04-085-24/+21
|/ /
* | Merge #3879bors[bot]2020-04-072-25/+25
|\ \ | | | | | | | | | | | | | | | | | | | | | 3879: Update some packages r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Update some packageskjeremy2020-04-072-25/+25
| | |
* | | Merge #3882bors[bot]2020-04-075-168/+198
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3882: Move computation of missing fields into hir r=matklad a=matklad cc @SomeoneToIgnore, this is that refactoring that moves computation of missing fields to hir. it actually removes meaningful duplication between diagnostics code and the completion code. Nontheless, it's a net addition of code :( Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Move computation of missing fields into hirAleksey Kladov2020-04-075-168/+198
| | | |
* | | | Merge #3881bors[bot]2020-04-071-2/+35
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3881: Add functional update test r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Add functional update testAleksey Kladov2020-04-071-0/+33
| | | |
| * | | Fix names of test modulesAleksey Kladov2020-04-071-2/+2
|/ / /
* | | Merge #3878bors[bot]2020-04-074-7/+52
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 3878: A more precise panic macro r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | A more precise panic macroAleksey Kladov2020-04-071-1/+1
| | |
| * | Don't insert !() if there's already someAleksey Kladov2020-04-073-3/+45
| | |
| * | Reorder importsAleksey Kladov2020-04-071-3/+6
| | |
* | | Merge #3706bors[bot]2020-04-0712-11/+1552
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3706: missing match arms diagnostic r=flodiebold a=JoshMcguigan Following up on https://github.com/rust-analyzer/rust-analyzer/pull/3689#issuecomment-602718222, this PR creates a missing match arms diagnostic. At the moment this is a very early draft, but I wanted to open it just to get some initial feedback. Initial questions: * Have I roughly created the correct boilerplate? * Inside the new `validate_match` function: * Am I correct in thinking I want to do validation by comparing the match arms against `match_expr`? And when analyzing `match_expr` I should be looking at it as a `hir_def::expr::Expr`? * I mostly copied the chained if-let statements from the struct validation. Shouldn't there be a non-failable way to get an AstPtr from the hir data structures? Thanks for all the guidance. Co-authored-by: Josh Mcguigan <[email protected]>
| * | add fixme to use type checker rather than manually comparing typesJosh Mcguigan2020-04-071-0/+7
| | |
| * | PR feedback implementationJosh Mcguigan2020-04-071-94/+331
| | |
| * | missing match arms diagnostic change source to match expressionJosh Mcguigan2020-04-073-3/+7
| | |
| * | handle match auto-derefJosh Mcguigan2020-04-072-1/+45
| | |
| * | improving documentationJosh Mcguigan2020-04-071-16/+64
| | |
| * | handle non matching enum pattern typesJosh Mcguigan2020-04-072-41/+57
| | |
| * | remove panicsJosh Mcguigan2020-04-072-66/+214
| | |
| * | missing match arms diagnosticJosh Mcguigan2020-04-0712-11/+1048
|/ /
* | Merge #3876bors[bot]2020-04-073-6/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3876: Better naming for scope completion r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Better naming for scope completionAleksey Kladov2020-04-073-4/+4
| | |
| * | Better naming for path completionAleksey Kladov2020-04-073-4/+4
|/ /
* | Merge pull request #3863 from Veetaha/feature/migrate-to-rastAleksey Kladov2020-04-07278-25/+23
|\ \ | | | | | | Migrate tests .txt -> .rast
| * | Migrate tests .txt -> .rastveetaha2020-04-06278-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | The sytax tree output files now use .rast extension (rust-analyzer syntax tree or rust abstract syntax tree (whatever)). This format has a editors/code/ra_syntax_tree.tmGrammar.json declaration that supplies nice syntax highlighting for .rast files.
* | | Merge #3875bors[bot]2020-04-071-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3875: When making a release, just promote the latest nightly r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | When making a release, just promote the latest nightlyAleksey Kladov2020-04-071-2/+2
|/ / /
* | | Fix yamlAleksey Kladov2020-04-071-1/+1
| | |
* | | Fix yamlAleksey Kladov2020-04-071-1/+1
| | |
* | | Merge pull request #3866 from lnicola/fewer-bracesAleksey Kladov2020-04-0712-73/+73
|\ \ \ | | | | | | | | Fix unnecessary braces warnings
| * | | Fix unnecessary braces warningsLaurențiu Nicola2020-04-0612-73/+73
| | | |
* | | | Merge #3874bors[bot]2020-04-071-6/+14
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3874: Better config scheme & defaults r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Better config scheme & defaultsAleksey Kladov2020-04-071-6/+14
| | | | |
* | | | | Run analysis-stats nightlyAleksey Kladov2020-04-071-0/+4
| | | | |
* | | | | Merge #3872bors[bot]2020-04-071-15/+25
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3872: fix cargo check config with custom command r=matklad a=JoshMcguigan fixes #3871 Previously if `get::<Vec<String>>(value, "/checkOnSave/overrideCommand")` returned `Some` we'd never execute `set(value, "/checkOnSave/command", command)`, even if the `overrideCommand` was empty. I am not sure of the best way to prove this, but I believe the LSP clients send this config with a default value if it is not set by the user, which means `get::<Vec<String>>(value, "/checkOnSave/overrideCommand")` would return `Some(vec![])` and thus we'd never set the command to the user specified value (in the case of #3871, "clippy"). I have tested this fix manually by installing this modified version of rust-analyzer and verifying I can see clippy lints in my editor (`coc.nvim`) with `rust-analyzer.checkOnSave.command": "clippy"`. As best I can tell this would have affected rustfmt extra args too, so this PR also applies the same fix there. Co-authored-by: Josh Mcguigan <[email protected]>
| * | | | fix cargo check config with custom commandJosh Mcguigan2020-04-071-15/+25
|/ / / /
* | | | Merge #3868bors[bot]2020-04-063-2/+33
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3868: Fix Chalk panic r=flodiebold a=flodiebold Fixes #3865. Basically I forgot to shift 'back' when we got `dyn Trait`s back from Chalk, so after going through Chalk a few times, the panic happened. And yes, I did run `analysis-stats` now ;) cc @edwin0cheng Co-authored-by: Florian Diebold <[email protected]>
| * | | | Fix Chalk panicFlorian Diebold2020-04-063-2/+33
|/ / / / | | | | | | | | | | | | | | | | Fixes #3865. Basically I forgot to shift 'back' when we got `dyn Trait`s back from Chalk, so after going through Chalk a few times, the panic happened.
* | | | Merge pull request #3867 from matklad/deny-eprintlnAleksey Kladov2020-04-068-13/+39
|\ \ \ \ | | | | | | | | | | Check for eprintlns on CI
| * | | | More general CI env varAleksey Kladov2020-04-061-1/+1
| | | | |