aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Move LSP bits from flycheck to rust-analyzerAleksey Kladov2020-05-1517-1504/+1503
| | | | | There should be only one place that knows about LSP, and that place is right before we spit JSON on stdout.
* Merge #4273bors[bot]2020-05-142-4/+532
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4273: Trigger add_vis assist on paths/record fields as well r=flodiebold a=TimoFreiberg Resolves #4037. - [x] Function defs - [x] ADT defs - [x] Enum variants - [x] Consts - [x] Statics - [x] Traits - [x] Type aliases - [x] Modules - [x] Record fields (using different implementation) - [x] struct fields - [x] enum variant fields - :x: union fields (`Semantics::resolve_record_field` seems to not work for union fields, so I think this can be handled in a future PR) - [x] More tests? - [x] Improve test fixture code and documentation a bit (see [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/resolve_path.20between.20fixture.20files)) Co-authored-by: Timo Freiberg <[email protected]>
| * Expand fixture documentation a littleTimo Freiberg2020-05-101-3/+17
| |
| * Trigger change_visibility assist when on an invisible struct fieldTimo Freiberg2020-05-101-61/+248
| | | | | | | | Union fields apparently don't work :(
| * Trigger change_visibility assist when on a path to an invisible defTimo Freiberg2020-05-101-1/+328
| |
* | MinorAleksey Kladov2020-05-141-10/+8
| |
* | Put preselect items on topAleksey Kladov2020-05-141-1/+3
| |
* | Prioritize locals with correct typesAleksey Kladov2020-05-142-5/+55
| |
* | Merge #4445bors[bot]2020-05-145-2/+92
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 4445: Correctly fill default type parameters r=flodiebold a=montekki Fixes #3877 So, basically even if the parameters are omitted from the `impl` block, check the parameters in `trait` if they have a default type, and if they do go from `hir` to `ast::TypeArg`. I've added a helper for that but I am not sure that it's a proper way to go from `hir` to `ast` here. Co-authored-by: Fedor Sakharov <[email protected]>
| * | Ty -> TypeFedor Sakharov2020-05-141-2/+7
| | |
| * | Adds a param_idx helperFedor Sakharov2020-05-142-2/+7
| | |
| * | Fix formattingFedor Sakharov2020-05-141-1/+1
| | |
| * | Change type_arg to type_ref funcFedor Sakharov2020-05-142-4/+3
| | |
| * | Use generic_defaults and display_source_codeFedor Sakharov2020-05-143-13/+16
| | |
| * | Correctly fill default type parametersFedor Sakharov2020-05-135-1/+79
| | |
* | | Merge #4405bors[bot]2020-05-145-9/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4405: Make some stuff public so that they can be reused by other tools r=pksunkara a=pksunkara So, my little experiment of building a code analysis tool using rust-analyzer is successful. I am going to proceed to build the tool now. This PR makes the needed things public. I know there were some things about trying to change stuff regarding loading workspaces, which would make it more easier for other tools to reuse. But, until then, it should be okay using this `load_cargo` fn. Btw, if I were publish my tool, I would need the `ra` crates to be released. Since @matklad told me that he doesn't want to care about breaking stuff, I would propose the following. Every monday, during the weekly release, we release a new pre v1 minor version of all the crates. That way, we don't need to care about breaking stuff but still have rust-analyzer on crates.io. I made https://github.com/pksunkara/cargo-workspaces to help release workspace crates easily. So, coming week, we start with `0.1.0`, then week after that, we release `0.2.0` and then `0.3.0` etc.. until we decide on `1.0.0` which is probably when the compiler team also starts using the crates. There is no limit to the minor versions (we can even have `0.150.0` or `0.1500.0`), so I don't see anything wrong with this strategy. Co-authored-by: Pavan Kumar Sunkara <[email protected]>
| * | | Make some stuff public so that they can be reused by other toolsPavan Kumar Sunkara2020-05-145-9/+6
| | | |
* | | | Use back ticks instead of single quotes around codeTrevor Spiteri2020-05-144-4/+4
|/ / /
* / / Remove hidden VARIATION SELECTOR-16Laurențiu Nicola2020-05-131-2/+2
|/ /
* | Merge #4434bors[bot]2020-05-131-15/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | 4434: add more specific match postfix for Result and Option r=matklad a=bnjjj In order to have the same behavior than `if let` and `while let` Co-authored-by: Benjamin Coenen <[email protected]>
| * | add more specific match postfix for Result and OptionBenjamin Coenen2020-05-121-15/+43
| | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | Merge #4083bors[bot]2020-05-131-138/+1366
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4083: Smol documentation for ast nodes r=matklad a=Veetaha There is a tremendous amount of TODOs to clarify the topics I am not certain about. Please @matklad, @edwin0cheng review carefully, I even left some mentions of your names in todos to put your attention where you most probably can give comments. In order to simplify the review, I separated the codegen (i.e. changes in `ast/generated/nodes.rs`) from `ast_src` changes (they in fact just duplicate one another) into two commits. Also, I had to hack a little bit to let the docs be generated as doc comments and not as doc attributes because it's easier to read them this way and IIRC we don't support hints for `#[doc = ""]` attributes for now... Closes #3682 Co-authored-by: veetaha <[email protected]>
| * | | Remove an equals sign from `ConstArg` (this probably pertains only to ↵veetaha2020-05-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | ConstParam) (As per matklad)
| * | | Convert TODO to a Note(matklad)veetaha2020-05-121-0/+1
| | | |
| * | | Convert to TODOs to FIXMEs as per matkladveetaha2020-05-121-4/+2
| | | |
| * | | Revert "Remove MacroStmts as per edwin0cheng" (cc @edwin0cheng) and add a ↵veetaha2020-05-121-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixme to document it. This reverts commit 7a49165f5d5c8186edd04f874eae8a98e39d3df6. MacroStmts ast node is not used by itself, but it pertains to SyntaxNodeKind MACRO_STMTS that is used by ra_paser, so even tho the node itself is not used, it is better to keep it with a FIXME to actually add a doc comment when it becomes useful.
| * | | Add a doc comment on the difference between Name and NameRef ast nodesveetaha2020-05-121-1/+16
| | | |
| * | | Resolve TODO about macro 2.0 defveetaha2020-05-101-6/+4
| | | |
| * | | Fix typoveetaha2020-05-101-1/+1
| | | |
| * | | Carify on a semicolon in macro callveetaha2020-05-101-1/+6
| | | |
| * | | Resolve TODO about curly-braced constructions in expression statementveetaha2020-05-101-1/+3
| | | |
| * | | Resolve todos about refs and empty statementsveetaha2020-05-101-4/+4
| | | |
| * | | Converted TODO about MacroItems to FIXME as per edwin0chengveetaha2020-05-101-6/+2
| | | |
| * | | Verified ConstArg example, waiting for response on what `=` sign pertains toveetaha2020-05-101-1/+1
| | | |
| * | | Correcy use tree and type args docsveetaha2020-05-101-3/+3
| | | |
| * | | Correct `use` cannot have type args as per flodieboldveetaha2020-05-101-1/+1
| | | |
| * | | Correct path docs and add colon2 token to Path ast nodeveetaha2020-05-101-8/+14
| | | |
| * | | Add example with const in TypeBound as per flodieboldveetaha2020-05-101-1/+1
| | | |
| * | | Properly document const impl as per flodieboldveetaha2020-05-101-2/+2
| | | |
| * | | Remove MacroStmts as per edwin0chengveetaha2020-05-101-32/+0
| | | |
| * | | Add proper docs for TokenTree as per edwin0chengveetaha2020-05-101-1/+2
| | | |
| * | | Run codegen of ast types with documentationveetaha2020-05-101-138/+1345
| | | |
* | | | fix typo unimplementated -> unimplementedTrevor Spiteri2020-05-121-2/+2
| |/ / |/| | | | | | | | | | | Pretty harmless typo, but it does get exposed in lsp-rust-analyzer-expand-macro.
* | | Merge #4423bors[bot]2020-05-111-0/+26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4423: add tests module snippet r=bnjjj a=bnjjj Request from a friend coming from intellij Rust Co-authored-by: Benjamin Coenen <[email protected]>
| * | | add tests module snippetBenjamin Coenen2020-05-111-0/+8
| | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | | add tests module snippetBenjamin Coenen2020-05-111-0/+18
| | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | Merge #4358bors[bot]2020-05-112-3/+207
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4358: add if let and while let postfix for Option and Result #4348 r=matklad a=bnjjj close #4348 I also added `while let` for iterator or stream it could be useful ![iflet](https://user-images.githubusercontent.com/5719034/81278000-676c6b80-9055-11ea-87ad-6b8476dd983f.gif) Co-authored-by: Benjamin Coenen <[email protected]>
| * | | | add if let and while let postfix for Option and ResultBenjamin Coenen2020-05-103-62/+46
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | | | Merge branch 'master' of github.com:rust-analyzer/rust-analyzer into feat_4348Benjamin Coenen2020-05-1071-968/+1748
| |\ \ \ \ | | | |_|/ | | |/| |
| * | | | add if let and while let postfix for Option and Result #4348Benjamin Coenen2020-05-072-1/+221
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>