aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Merge #3309bors[bot]2020-02-292-10/+70
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3309: Find cargo toml up the fs r=matklad a=not-much-io Currently rust-analyzer will look for Cargo.toml in the root of the project and if failing that then go down the filesystem until root. This unfortunately wouldn't work automatically with (what I imagine is) a fairly common project structure. As an example with multiple languages like: ``` js/ .. rust/ Cargo.toml ... ``` Added this small change so rust-analyzer would glance one level up if not found in root or down the filesystem. ## Why not go deeper? Could be problematic with large project vendored dependencies etc. ## Why not add a Cargo.toml manual setting option? Loosely related and a good idea, however the convenience of having this automated also is hard to pass up. ## Testing? Build a binary with various logs and checked it in a project with such a structure: ``` [ERROR ra_project_model] find_cargo_toml() [ERROR ra_project_model] find_cargo_toml_up_the_fs() [ERROR ra_project_model] entities: ReadDir("/workspaces/my-project") [ERROR ra_project_model] candidate: "/workspaces/my-project/rust/Cargo.toml", exists: true ``` ## Edge Cases? If you have multiple Cargo.toml files one level deeper AND not in the root, will get whatever comes first (order undefined), example: ``` crate1/ Cargo.toml crate2/ Cargo.toml ... (no root Cargo.toml) ``` However this is quite unusual and wouldn't have worked before either. This is only resolvable via manually choosing. Co-authored-by: nmio <[email protected]>
| * lint warn fixnmio2020-02-291-4/+2
| |
| * keep one CargoTomlNotFoundErrornmio2020-02-292-29/+37
| |
| * remove code used for testingnmio2020-02-271-1/+1
| |
| * fix unneeded bodynmio2020-02-271-6/+2
| |
| * fixes and improvementsnmio2020-02-272-24/+50
| |
| * clean upnmio2020-02-251-7/+2
| |
| * Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into ↵nmio2020-02-2519-146/+402
| |\ | | | | | | | | | find-cargo-toml-up-the-fs
| * | Initial debugging codenmio2020-02-241-5/+42
| | |
* | | Fix a common false-positive type mismatchFlorian Diebold2020-02-294-18/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | E.g. for `&{ some_string() }` in a context where a `&str` is expected, we reported a mismatch inside the block. The problem is that we're passing an expectation of `str` down, but the expectation is more of a hint in this case. There's a long comment in rustc about this, which I just copied. Also, fix reported location for type mismatches in macros.
* | | Fix typoAleksey Kladov2020-02-293-3/+3
| | |
* | | Cleanup editing APIAleksey Kladov2020-02-295-12/+36
| | |
* | | More orthogonal API for building pathsAleksey Kladov2020-02-293-15/+25
| | |
* | | SimplifyAleksey Kladov2020-02-283-23/+3
| | |
* | | Move insert_use util to utilsAleksey Kladov2020-02-285-533/+538
| | |
* | | Reduce visibilityAleksey Kladov2020-02-282-3/+3
| | |
* | | Merge #3367bors[bot]2020-02-2813-71/+144
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3367: Fix highlighting of const patterns r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Correctly flag 'lifetime definitions as definitionsAleksey Kladov2020-02-286-40/+47
| | | |
| * | | Fix highlighting of const patternsAleksey Kladov2020-02-285-16/+61
| | | |
| * | | Classify name takes const patterns into accountAleksey Kladov2020-02-286-23/+44
| | | |
* | | | Merge #3366bors[bot]2020-02-282-38/+51
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3366: Simpilfy original_range logic r=matklad a=edwin0cheng This PR fixed another [bug](https://github.com/rust-analyzer/rust-analyzer/issues/3000#issuecomment-592474844) which incorrectly map the wrong range of `punct` in macro_call and simplify the logic a little bit by introducing an `ascend_call_token` function. Co-authored-by: Edwin Cheng <[email protected]>
| * | | Simpilfy origin_range logicEdwin Cheng2020-02-282-38/+51
| | | |
* | | | Fix union classificationAleksey Kladov2020-02-282-1/+5
| | | |
* | | | Merge #3363bors[bot]2020-02-288-136/+167
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3363: Cleanup highlighting tags r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Fix highlighting testAleksey Kladov2020-02-285-49/+55
| | | |
| * | | Cleanup highlighting tagsAleksey Kladov2020-02-284-85/+99
| | | |
| * | | add more tagsAleksey Kladov2020-02-284-21/+32
| | | |
* | | | Merge #3360bors[bot]2020-02-283-8/+37
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 3360: Parse attribues in RHS of let statments r=matklad a=edwin0cheng Fixed #3315 Co-authored-by: Edwin Cheng <[email protected]>
| * | | Parse attr in rhs of let stmtsEdwin Cheng2020-02-283-8/+37
| | | |
* | | | Merge #3359bors[bot]2020-02-282-79/+24
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3359: Remove AnalysisHost::type_of r=matklad a=edwin0cheng This PR remove ` AnalysisHost::type_of` (It is subsume by hover now) and use `Semantics::type_of_x` to infer the type inside `hover` directly. And this also solved a bug : Right now hovering on a string literal inside a macro will show up a `&str` popup correctly. (Except if that involved builtin macro, e.g. `println`) Co-authored-by: Edwin Cheng <[email protected]>
| * | | | Fix typoEdwin Cheng2020-02-281-1/+1
| | | | |
| * | | | Remove hover::type_ofEdwin Cheng2020-02-282-79/+24
| |/ / /
* / / / introduce const visibility assistDouglas Campos2020-02-281-4/+9
|/ / /
* | | Refactor string literalsAleksey Kladov2020-02-273-63/+80
| | |
* | | Merge pull request #3350 from edwin0cheng/give-up-hover-in-builtin-macroAleksey Kladov2020-02-271-0/+25
|\ \ \ | | | | | | | | Ignore hover on builtin macro
| * | | Ignore hover on builtin macroEdwin Cheng2020-02-271-0/+25
| | | |
* | | | Basic injectionsAleksey Kladov2020-02-275-23/+120
| | | |
* | | | Ensure that semantic tokens are single-lineAleksey Kladov2020-02-272-3/+52
|/ / /
* | | Move tests to a new fileAleksey Kladov2020-02-272-134/+129
| | |
* | | More cleanupAleksey Kladov2020-02-271-114/+108
| | |
* | | Split loop into orthogonal phasesAleksey Kladov2020-02-271-44/+43
| | |
* | | CleanupAleksey Kladov2020-02-271-37/+34
| | |
* | | Minor cleanupAleksey Kladov2020-02-271-15/+18
| | |
* | | Merge #3285bors[bot]2020-02-271-26/+115
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3285: Handle trivia in Structural Search and Replace r=matklad a=adamrk Addresses the second point of https://github.com/rust-analyzer/rust-analyzer/issues/3186. Structural search and replace will now match code that has varies from the pattern in whitespace or comments. One issue is that it's not clear where comments in the matched code should go in the replacement. With this change they're just tacked on at the end, which can cause some unexpected moving of comments (see the last test example). Co-authored-by: adamrk <[email protected]>
| * | | get matches from code.descendantsadamrk2020-02-251-7/+9
| | | |
| * | | save comments as ra_syntax::ast::Commentadamrk2020-02-251-10/+6
| | | |
| * | | Handle trivia in strucural search and replaceadamrk2020-02-231-27/+118
| | | |
* | | | Renam moduleAleksey Kladov2020-02-272-2/+2
| | | |
* | | | Merge #3335bors[bot]2020-02-2711-305/+450
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3335: Refactor highlighting a bit r=matklad a=matklad bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Color constantsAleksey Kladov2020-02-272-2/+4
| | | | |