aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Don't insert !() if there's already someAleksey Kladov2020-04-073-3/+45
|
* Reorder importsAleksey Kladov2020-04-071-3/+6
|
* 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 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
| | |
* | | fix cargo check config with custom commandJosh Mcguigan2020-04-071-15/+25
| | |
* | | 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-067-12/+38
|\ \ \ | | | | | | | | Check for eprintlns on CI
| * | | Check for eprintln on CIAleksey Kladov2020-04-067-12/+38
| |/ /
* | | Add bridge::TokenStream to crate scopeEdwin Cheng2020-04-061-0/+1
| | |
* | | Add proc_macro mod (copy from lib_proc_macro)Edwin Cheng2020-04-0611-0/+2943
| | |
* | | Refactor depsEdwin Cheng2020-04-061-3/+2
|/ /
* / Use log info in trait_solve_queryEdwin Cheng2020-04-061-1/+1
|/
* Merge pull request #3853 from matklad/cfAleksey Kladov2020-04-064-8/+8
|\ | | | | Make control token modifier less ambiguous
| * Make control token modifier less ambiguousAleksey Kladov2020-04-064-8/+8
| | | | | | | | | | | | | | | | | | In textmate, keyword.control is used for all kinds of things; in fact, the default scope mapping for keyword is keyword.control! So let's add a less ambiguous controlFlow modifier See Microsoft/vscode#94367
* | Merge #3843bors[bot]2020-04-061-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 3843: Remove rustc_lexer dependency in favour of rustc-ap-rustc_lexer r=est31 a=est31 The latter is auto-published on a regular schedule (Right now weekly). See also https://github.com/alexcrichton/rustc-auto-publish Co-authored-by: est31 <[email protected]>
| * | Remove rustc_lexer dependency in favour of rustc-ap-rustc_lexerest312020-04-061-1/+1
| | | | | | | | | | | | The latter is auto-published on a regular schedule (Right now weekly).
* | | Merge #3829bors[bot]2020-04-061-12/+110
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3829: Adds to SSR match for semantically equivalent call and method call r=matklad a=mikhail-m1 #3186 maybe I've missed some corner cases, but it works in general Co-authored-by: Mikhail Modin <[email protected]>
| * | | Adds to SSR match for semantically equivalent call and method callMikhail Modin2020-04-021-12/+110
| | | |
* | | | Merge #3744bors[bot]2020-04-0611-136/+294
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 3744: Upgrade Chalk r=matklad a=flodiebold Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * | | Upgrade Chalk againFlorian Diebold2020-04-0511-109/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The big change here is counting binders, not variables (https://github.com/rust-lang/chalk/pull/360). We have to adapt to the same scheme for our `Ty::Bound`. It's mostly fine though, even makes some things more clear.
| * | | Upgrade ChalkFlorian Diebold2020-04-053-30/+105
| | | |
* | | | Hide unit fn return typesLaurențiu Nicola2020-04-055-20/+28
|/ / /
* | | Fix inference of function pointer return typesLaurențiu Nicola2020-04-052-1/+31
| | |
* | | Merge #3848bors[bot]2020-04-041-3/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3848: Remove unused dependencies r=kjeremy a=est31 Found by cargo-udeps Co-authored-by: est31 <[email protected]>
| * | | Remove unused dependenciesest312020-04-041-3/+0
| | |/ | |/|
* | | Remove explicit generic type parameterveetaha2020-04-041-1/+1
| | |
* | | Simplify configveetaha2020-04-041-9/+8
|/ /
* | Add parens for enumsAleksey Kladov2020-04-034-46/+175
| |
* | Generalize call parenthesis insertionAleksey Kladov2020-04-031-27/+46
| |
* | Remove the second code-path for completing names in patternsAleksey Kladov2020-04-034-70/+31
| |
* | Macro patterns are not confused with expressions.Aleksey Kladov2020-04-036-17/+85
| | | | | | | | | | | | | | | | | | | | | | We treat macro calls as expressions (there's appropriate Into impl), which causes problem if there's expresison and non-expression macro in the same node (like in the match arm). We fix this problem by nesting macor patterns into another node (the same way we nest path into PathExpr or PathPat). Ideally, we probably should add a similar nesting for macro expressions, but that needs some careful thinking about macros in blocks: `{ am_i_expression!() }`.
* | CleanupsAleksey Kladov2020-04-032-14/+13
| |
* | Add doc comment on main.rsEdwin Cheng2020-04-031-0/+2
| |
* | Introduce ra_proc_macro_srvEdwin Cheng2020-04-034-2/+99
| |
* | Merge #3746bors[bot]2020-04-034-0/+842
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3746: Add create_function assist r=flodiebold a=TimoFreiberg The function part of #3639, creating methods will come later - [X] Function arguments - [X] Function call arguments - [x] Method call arguments - [x] Literal arguments - [x] Variable reference arguments - [X] Migrate to `ast::make` API Done, but there are some ugly spots. Issues to handle in another PR: - function reference arguments: Their type isn't printed properly right now. The "insert explicit type" assist has the same issue and this is probably a relatively rare usecase. - generating proper names for all kinds of argument expressions (if, loop, ...?) Without this, it's totally possible for the assist to generate invalid argument names. I think the assist it's already helpful enough to be shipped as it is, at least for me the main usecase involves passing in named references. Besides, the Rust tooling ecosystem is immature enough that some janky behaviour in a new assist probably won't scare anyone off. - select the generated placeholder body so it's a bit easier to overwrite it - create method (`self.foo<|>(..)` or `some_foo.foo<|>(..)`) instead of create_function. The main difference would be finding (or creating) the impl block and inserting the `self` argument correctly - more specific default arg names for literals. So far, every generated argument whose name can't be taken from the call site is called `arg` (with a number suffix if necessary). - creating functions in another module of the same crate. E.g. when typing `some_mod::foo<|>(...)` when in `lib.rs`, I'd want to have `foo` generated in `some_mod.rs` and jump there. Issues: the mod could exist in `some_mod.rs`, in `lib.rs` as `mod some_mod`, or inside another mod but be imported via `use other_mod::some_mod`. - refer to arguments of the generated function with a qualified path if the types aren't imported yet (alternative: run autoimport. i think starting with a qualified path is cleaner and there's already an assist to replace a qualified path with an import and an unqualified path) - add type arguments of the arguments to the generated function - Autocomplete functions with information from unresolved calls (see https://github.com/rust-analyzer/rust-analyzer/pull/3746#issuecomment-605281323) Issues: see https://github.com/rust-analyzer/rust-analyzer/pull/3746#issuecomment-605282542. The unresolved call could be anywhere. But just offering this autocompletion for unresolved calls in the same module would already be cool. Co-authored-by: Timo Freiberg <[email protected]>
| * | Use ast::make API in add_function assistTimo Freiberg2020-04-012-67/+73
| | |
| * | Add create_function assistTimo Freiberg2020-04-013-0/+836
| | |
* | | Merge #3814bors[bot]2020-04-034-1/+230
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 3814: Add impl From for enum variant assist r=flodiebold a=mattyhall Basically adds a From impl for tuple enum variants with one field. It was recommended to me on the zulip to maybe try using the trait solver, but I had trouble with that as, although it could resolve the trait impl, it couldn't resolve the variable unambiguously in real use. I'm also unsure of how it would work if there were already multiple From impls to resolve - I can't see a way we could get more than one solution to my query. Fixes #3766 Co-authored-by: Matthew Hall <[email protected]>
| * | Cleanup checking for existing impls in impl From assistMatthew Hall2020-04-022-48/+24
| | | | | | | | | | | | | | | Use the trait solver to check if there's an existing implementation of From<type_in_enum_variant> for the enum.
| * | Add impl From for enum variant assistMatthew Hall2020-04-014-2/+255
| | | | | | | | | | | | | | | | | | Basically adds a From impl for tuple enum variants with one field. Added to cover the fairly common case of implementing your own Error that can be created from another one, although other use cases exist.
* | | Apply cargo xtask formatveetaha2020-04-021-1/+0
| | |
* | | Migrate to privacy as per review commetsveetaha2020-04-026-15/+25
| | |
* | | Less mutabilityveetaha2020-04-021-19/+23
| | |
* | | Migrate to iters some moreveetaha2020-04-021-18/+11
| | |
* | | Migrate to iteratorsveetaha2020-04-021-15/+3
| | |
* | | Simpify workspace handlingveetaha2020-04-027-83/+63
| | |