aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Actually test include!(concant!(env!()));Aleksey Kladov2020-06-051-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | It triggered index-based goto definition before :-(
* | | | | | Cleanup testAleksey Kladov2020-06-051-50/+12
| | | | | |
* | | | | | More direct signature for resolve_pathAleksey Kladov2020-06-057-19/+24
| | | | | |
* | | | | | Rename resolve_relative_path -> resolve_pathAleksey Kladov2020-06-057-33/+12
| | | | | | | | | | | | | | | | | | | | | | | | For things like `concant!(env!("OUT_DIR"))`, we need to support abs paths
* | | | | | Inlay Hints: more directly account for self paramAleksey Kladov2020-06-051-2/+1
|/ / / / /
* | | | | Merge #4750bors[bot]2020-06-051-2/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4750: introduce_named_lifetime assist wasn't applicable when type parameter r=matklad a=jbalint followed anonymous lifetime token (fixes #4684) Co-authored-by: Jess Balint <jbalint@gmail.com>
| * | | | | introduce_named_lifetime assist wasn't applicable when type parameterJess Balint2020-06-041-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | followed anonymous lifetime token (fixes #4684)
* | | | | | Merge #4737bors[bot]2020-06-048-15/+143
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4737: Parse default unsafe & default const r=matklad a=Avi-D-coder Closes: #4718 #4264 Co-authored-by: Avi Dessauer <avi.the.coder@gmail.com>
| * | | | | Move default const test out of lineAvi Dessauer2020-06-045-10/+0
| | | | | |
| * | | | | Address reviewAvi Dessauer2020-06-041-5/+4
| | | | | |
| * | | | | Update testsAvi Dessauer2020-06-046-0/+109
| | | | | |
| * | | | | Parse default unsafe & default constAvi Dessauer2020-06-042-15/+45
| |/ / / /
* | | | | Merge #4740bors[bot]2020-06-041-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4740: Remove unneeded "./" prefix affecting error messages r=kjeremy a=dtolnay I noticed this in the error in the commit message of https://github.com/rust-analyzer/rust-analyzer/pull/4739. Before: ```console error[E0599]: no method named `initialize_finish` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/./src/bin/main.rs:99:16 | 99 | connection.initialize_finish(initialize_id, initialize_result)?; | ^^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection` ``` After: ```console error[E0599]: no method named `initialize_finish` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/src/bin/main.rs:99:16 | 99 | connection.initialize_finish(initialize_id, initialize_result)?; | ^^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection` ``` ```diff - --> crates/rust-analyzer/./src/bin/main.rs:99:16 + --> crates/rust-analyzer/src/bin/main.rs:99:16 ``` Co-authored-by: David Tolnay <dtolnay@gmail.com>
| * | | | | Remove unneeded "./" prefix affecting error messagesDavid Tolnay2020-06-041-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: error[E0599]: no method named `initialize_finish` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/./src/bin/main.rs:99:16 | 99 | connection.initialize_finish(initialize_id, initialize_result)?; | ^^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection` After: error[E0599]: no method named `initialize_finish` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/src/bin/main.rs:99:16 | 99 | connection.initialize_finish(initialize_id, initialize_result)?; | ^^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection`
* | | | | Merge #4739bors[bot]2020-06-041-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4739: Declare required lsp-server dependency of rust-analyzer crate r=jonas-schievink a=dtolnay My codebase already depended on lsp-server and introducing a dependency on rust-analyzer failed at first because it assumes some functions that were first present in lsp-server 0.3.2. Without this change: ```console error[E0599]: no method named `initialize_start` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/./src/bin/main.rs:83:57 | 83 | let (initialize_id, initialize_params) = connection.initialize_start()?; | ^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection` error[E0599]: no method named `initialize_finish` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/./src/bin/main.rs:99:16 | 99 | connection.initialize_finish(initialize_id, initialize_result)?; | ^^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection` ``` Co-authored-by: David Tolnay <dtolnay@gmail.com>
| * | | | | Declare required lsp-server dependency of rust-analyzer crateDavid Tolnay2020-06-041-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My codebase already depended on lsp-server and introducing a dependency on rust-analyzer failed at first because it assumes some functions that were first present in lsp-server 0.3.2. Without this change: error[E0599]: no method named `initialize_start` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/./src/bin/main.rs:83:57 | 83 | let (initialize_id, initialize_params) = connection.initialize_start()?; | ^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection` error[E0599]: no method named `initialize_finish` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/./src/bin/main.rs:99:16 | 99 | connection.initialize_finish(initialize_id, initialize_result)?; | ^^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection`
* / / / / Fix type inference failure when built with log/kv_unstableDavid Tolnay2020-06-041-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code is broken by an `impl From<kv::Error> for fmt::Error` in the log crate when building in a codebase that has the log/kv_unstable feature enabled. $ cargo check --manifest-path crates/ra_hir_def/Cargo.toml Checking ra_hir_def v0.1.0 Finished dev [unoptimized] target(s) in 0.75s $ cargo check --manifest-path crates/ra_hir_def/Cargo.toml --features log/kv_unstable Checking ra_hir_def v0.1.0 error[E0282]: type annotations needed for the closure `fn(&str) -> std::result::Result<(), _>` --> crates/ra_hir_def/src/path.rs:278:17 | 278 | f.write_str("::")?; | ^^^^^^^^^^^^^^^^^^ cannot infer type | help: give this closure an explicit return type without `_` placeholders | 276 | let mut add_segment = |s| -> std::result::Result<(), _> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* | | | Fix more commentsMikhail Rakhmanov2020-06-031-5/+4
| | | |
* | | | Merge branch 'master' into compute-lazy-assitsMikhail Rakhmanov2020-06-0338-477/+979
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | # Conflicts: # crates/rust-analyzer/src/main_loop/handlers.rs # crates/rust-analyzer/src/to_proto.rs
| * | | Merge #4502bors[bot]2020-06-032-2/+9
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4502: Mark fixes from diagnostics as quick fixes r=kjeremy a=kjeremy Populates the diagnostic UI with fixes: Before: ![quickfix-before](https://user-images.githubusercontent.com/4325700/82165183-0e38df00-9882-11ea-96cf-7dab5faec4d4.PNG) After: ![image](https://user-images.githubusercontent.com/4325700/82165193-1a24a100-9882-11ea-97d7-be1b64b135e0.png) Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
| | * | | Mark fixes from diagnostics as quick fixesJeremy Kolb2020-06-032-2/+9
| | | | |
| * | | | Merge #4730bors[bot]2020-06-033-20/+48
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4730: Document rust-project.json r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
| | * | | Document rust-project.jsonAleksey Kladov2020-06-033-20/+48
| | | | |
| * | | | Merge #4678bors[bot]2020-06-034-8/+19
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4678: Unsquish parameter types in tooltips for macro-generated functions r=aloucks a=aloucks Note the missing whitespace between `:` and the parameter type. Before: ![image](https://user-images.githubusercontent.com/221559/83364680-faf13d80-a370-11ea-96b7-a041969a4954.png) After: ![image](https://user-images.githubusercontent.com/221559/83364685-03e20f00-a371-11ea-9668-4e6ebcb81947.png) Co-authored-by: Aaron Loucks <aloucks@cofront.net>
| | * | | | Use split1 when formatting function signature paramsAaron Loucks2020-06-034-11/+11
| | | | | |
| | * | | | Unsquish parameter types in tooltips for macro-generated functionsAaron Loucks2020-05-311-1/+12
| | | | | |
| * | | | | Merge #4660bors[bot]2020-06-036-18/+259
| |\ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4660: Enable hover and autocomplete docs on macro generated items r=aloucks a=aloucks Enable hover and autocomplete docs on macro generated items. This de-sugars doc comments into `doc` attributes in some cases, but not all. Comments and `doc` attributes are then merged together. This PR is essentially a partial implementation of what's being suggested #3182, but it's not all the way there yet. ~I still need to add unit tests~, but I wanted to first get feedback on whether or not this was an acceptable path forward. Fixes #4564 Fixes #3984 Fixes #3180 Related #3182 ![macro_item_docs](https://user-images.githubusercontent.com/221559/83336760-15012200-a284-11ea-8d0d-b6a615850044.gif) Co-authored-by: Aaron Loucks <aloucks@cofront.net>
| | * | | | Consolidate documentation expansion and mergingAaron Loucks2020-06-032-53/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the duplicated `expand_doc_attrs` and `merge_doc_comments_and_attrs` functions from `ra_ide` and exposes the same functionality via `ra_hir::Documentation::from_ast`.
| | * | | | Add basic hover and completion doc tests for macro generated itemsAaron Loucks2020-06-033-2/+182
| | | | | |
| | * | | | Enable hover and autocomplete docs on macro generated itemsAaron Loucks2020-06-035-10/+110
| | | | | |
| * | | | | Drop test for old formatAleksey Kladov2020-06-031-2/+0
| |/ / / /
| * | | | Groundwork for specifying the set of projects via configAleksey Kladov2020-06-035-46/+83
| | | | |
| * | | | Rename ProjectRoot -> ProjectManifestAleksey Kladov2020-06-033-19/+19
| | | | |
| * | | | Move project discoveryAleksey Kladov2020-06-032-8/+16
| | | | |
| * | | | Rename WorldState -> GlobalStateAleksey Kladov2020-06-037-273/+291
| | | | |
| * | | | Drop no-project testAleksey Kladov2020-06-031-49/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eventually, we should support "just open random rust file" use case, we don't really do this now, so let's avoid spending time on it until we fix it properly.
| * | | | Derive local roots from WorkspacesAleksey Kladov2020-06-032-11/+14
| | | | |
| * | | | Put important things on topAleksey Kladov2020-06-031-7/+7
| | | | |
| * | | | Merge pull request #4382 from woody77/json_cfgsAleksey Kladov2020-06-033-2/+92
| |\ \ \ \ | | | | | | | | | | | | Begin transition to new fields for JsonProject crate cfgs
| | * | | | Begin transition to new fields for JsonProject crate cfgsAaron Wood2020-05-093-2/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This starts the transition to a new method of documenting the cfgs that are enabled for a given crate in the json file. This is changing from a list of atoms and a dict of key:value pairs, to a list of strings that is equivalent to that returned by `rustc --print cfg ..`, and parsed in the same manner by rust-analyzer. This is the first of two changes, which adds the new field that contains the list of strings. Next change will complete the transition and remove the previous fields.
| * | | | | Merge #4679bors[bot]2020-06-031-3/+4
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4679: Update a comment for the new source organization r=matklad a=nelhage Co-authored-by: Nelson Elhage <nelhage@nelhage.com>
| | * | | | | Update a comment for the new source organizationNelson Elhage2020-06-011-3/+4
| | | | | | |
| * | | | | | Merge #4721bors[bot]2020-06-032-2/+3
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4721: Hide squiggly for unused and unnecessary diagnostics r=matklad a=GabbeV Fixes #4229 When working with JavaScript or TypeScript in VSCode unused valiables are faded but don't have a squiggle. This PR makes rust-analyzer work similarly by setting the severity to hint when applying the unnecessary tag. VSCode usually shows a squiggle for error, warning and information and shows three dots for hint. When the unnecessary tag is present the squiggles will still show up but the three dots will not. This is my first contribution to open source. Please tell me if i need to do anything more to get this PR considered. Co-authored-by: Gabriel Valfridsson <gabriel.valfridsson@gmail.com>
| | * | | | | | Hide squiggly for unused and unnecessaryGabriel Valfridsson2020-06-032-2/+3
| | | | | | | |
| * | | | | | | Add highlight support for unsafe fn calls and raw ptr derefPaul Daniel Faria2020-06-0211-6/+125
| |/ / / / / /
* | | | | | | Fix review commentsMikhail Rakhmanov2020-06-033-38/+24
| | | | | | |
* | | | | | | Merge remote-tracking branch 'upstream/master' into compute-lazy-assitsMikhail Rakhmanov2020-06-0210-284/+471
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # crates/rust-analyzer/src/to_proto.rs
| * | | | | | Merge #4710bors[bot]2020-06-027-168/+354
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4710: New runnables r=matklad a=matklad bors d=@vsrs Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
| | * | | | | | Fix testsAleksey Kladov2020-06-023-69/+270
| | | | | | | |
| | * | | | | | Spec better runnablesAleksey Kladov2020-06-022-1/+4
| | | | | | | |