aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge #7088bors[bot]2020-12-302-0/+30
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7088: Smarter bracketed `use` diagnostic r=lnicola a=AdnoC Closes https://github.com/rust-analyzer/rust-analyzer/issues/4531 Makes it so that if a bracketed use statement contains a comment inside the braces, no "Unnecessary braces in use statement" diagnostic is shown. Co-authored-by: AdnoC <[email protected]>
| * | | | indentationAdnoC2020-12-301-3/+3
| | | | |
| * | | | test for new behaviorAdnoC2020-12-301-0/+16
| | | | |
| * | | | Smarter bracketed use diagnosticAdnoC2020-12-302-0/+14
|/ / / /
* | | | Merge #7083bors[bot]2020-12-304-76/+99
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7083: Refactor mbe parsing code r=edwin0cheng a=edwin0cheng Inspire by #5426 , this PR refactor out the parsing code such that it only parsed on `mbe::Rule`, but not on invocations. However, it just improve the overall performance unnoticeablely :( Co-authored-by: Edwin Cheng <[email protected]>
| * | | Refactor mbe parsing codeEdwin Cheng2020-12-294-76/+99
| | |/ | |/|
* | | Merge #7070bors[bot]2020-12-291-2/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7070: Use applySnippetWorkspaceEdit again for actions, allow it to create files r=matklad a=Veykril Fixes #7037 Co-authored-by: Lukas Wirth <[email protected]>
| * | | Apply text edits manually in vscode clientLukas Wirth2020-12-291-2/+8
| |/ /
* | | Merge #7077bors[bot]2020-12-2910-60/+61
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7077: Avoid a couple of allocations r=Veykril a=lnicola r? @Veykril TBH I'm not sure this is worth it, but the other `Query` was already taking a `String`. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | Avoid a couple of allocationsLaurențiu Nicola2020-12-2910-60/+61
|/ / /
* | | Merge #7064bors[bot]2020-12-293-49/+188
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7064: Ignore qualifiers when doing autoimport completions lookup r=lnicola a=SomeoneToIgnore A follow-up of https://github.com/rust-analyzer/rust-analyzer/pull/6918#issuecomment-748511151 and the PR itself. Tweaks the `import_map` query api to be more flexible with the ways to match against the import path and now fuzzy imports search in names only. This had improved the completion speed for me locally in ~5 times for `fuzzy_completion` span time, but please recheck me here. IMO we're fast and presice enough now, so I've added the modules back to the fuzzy search output. Also tweaks the the expect tests to display functions explicitly, to avoid confusing "duplicate" results. Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Tweak the fuzzy search limitsKirill Bulatov2020-12-281-1/+6
| | | |
| * | | Better display methods in expect testsKirill Bulatov2020-12-281-15/+31
| | | |
| * | | Add testsKirill Bulatov2020-12-281-2/+71
| | | |
| * | | Add docs and optimisationsKirill Bulatov2020-12-283-9/+18
| | | |
| * | | Better query api and fuzzy searchKirill Bulatov2020-12-283-41/+47
| | | |
| * | | Draft the module exclusion in modulesKirill Bulatov2020-12-283-37/+71
| |/ /
* | | Merge #7076bors[bot]2020-12-291-1/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7076: Properly parse path separators in format-like postfix r=Veykril a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | | Properly parse path separators in format-like postfixLukas Wirth2020-12-291-1/+10
| |/ /
* | | Merge #7075bors[bot]2020-12-292-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 7075: format-postfix completion takes format instead of fmt r=lnicola a=Veykril See https://github.com/rust-analyzer/rust-analyzer/issues/6843 this brings it back in line with the documentation Co-authored-by: Lukas Wirth <[email protected]>
| * | format-postfix completion takes format instead of fmtLukas Wirth2020-12-292-2/+2
| | |
* | | Merge #7060bors[bot]2020-12-283-3/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7060: Fix mbe fail to pass expr with attr r=edwin0cheng a=edwin0cheng bors r+ Fixes #5896 Co-authored-by: Edwin Cheng <[email protected]>
| * | | Fixed old failed test due to new fixesEdwin Cheng2020-12-281-2/+2
| | | |
| * | | Fix mbe fail to pass expr with attrEdwin Cheng2020-12-282-1/+13
| | | |
* | | | Merge #7059bors[bot]2020-12-283-4/+46
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7059: Special case $_ in meta var instead of treat it as ident in mbe r=lnicola a=edwin0cheng In #6929, we treat '_' as an ident but rustc is only allow it in some special places (e.g. meta var in mbe , type, pat etc). This PR rollback that and we only make '$_' works in meta var matching. Fixes #7056 Co-authored-by: Edwin Cheng <[email protected]>
| * | | | Special case underscore in mbe meta opEdwin Cheng2020-12-282-2/+45
| | | | |
| * | | | Rollback 6929Edwin Cheng2020-12-281-2/+1
| |/ / /
* | | | Merge #7058bors[bot]2020-12-281-0/+12
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 7058: Improve commit message style r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Improve commit message styleAleksey Kladov2020-12-281-0/+12
|/ / /
* | | Merge #7050bors[bot]2020-12-272-20/+36
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7050: Ignore third punct when matching for 2-composite punct in mbe r=jonas-schievink a=edwin0cheng Fixes #6692 Co-authored-by: Edwin Cheng <[email protected]>
| * | | Ignore third punct in 2-composite punctEdwin Cheng2020-12-272-20/+36
| | | |
* | | | Merge #6820bors[bot]2020-12-278-19/+52
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6820: Pass the crate environment to proc macros r=jonas-schievink a=jonas-schievink In theory, fixes https://github.com/rust-analyzer/rust-analyzer/issues/6696. This seems to result in these obscure crashes for some reason: ``` thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value', /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:75:51 stack backtrace: 0: rust_begin_unwind at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/panicking.rs:483 1: core::panicking::panic_fmt at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:85 2: core::panicking::panic at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:50 3: core::option::Option<T>::unwrap at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:383 4: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:75 5: proc_macro::bridge::client::BridgeState::with::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:291 6: std::thread::local::LocalKey<T>::try_with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:272 7: std::thread::local::LocalKey<T>::with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:248 8: proc_macro::bridge::client::BridgeState::with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:290 9: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:329 10: proc_macro::bridge::client::run_client::{{closure}}::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:375 11: proc_macro::bridge::scoped_cell::ScopedCell<T>::set::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:80 12: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:75 13: proc_macro::bridge::scoped_cell::ScopedCell<T>::set at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:80 14: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:325 15: std::thread::local::LocalKey<T>::try_with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:272 16: std::thread::local::LocalKey<T>::with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:248 17: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:325 18: proc_macro::bridge::client::run_client::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:370 19: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:308 20: std::panicking::try::do_call at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:381 21: __rust_try 22: std::panicking::try at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:345 23: std::panic::catch_unwind at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:382 24: proc_macro::bridge::client::run_client at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:369 25: proc_macro::bridge::client::Client<fn(proc_macro::TokenStream) .> proc_macro::TokenStream>::expand1::run at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:410 26: proc_macro_srv::proc_macro::bridge::server::run_server 27: proc_macro_srv::dylib::Expander::expand 28: proc_macro_srv::ProcMacroSrv::expand 29: proc_macro_srv::cli::run 30: rust_analyzer::main ``` Co-authored-by: Jonas Schievink <[email protected]>
| * | | Pass crate environment to proc macrosJonas Schievink2020-12-276-9/+42
| | | |
| * | | Move TokenExpander to base_db and rename itJonas Schievink2020-12-274-12/+12
|/ / / | | | | | | | | | It's only used to break the dependency to proc_macro_api
* | | Merge #7047bors[bot]2020-12-274-8/+44
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7047: Add force_show_panics flag for proc-macro bridge r=jonas-schievink a=edwin0cheng https://github.com/rust-lang/rust/pull/75082 and https://github.com/rust-lang/rust/pull/76292 added a new flag in `proc_macro::Bridge` such that the ABI was changed. These ABI changing are the reason of some weird panics which caused #6880 and maybe related to the panic mentioned in #6820. These changes are landed on rust stable 1.48 so I think it is okay to apply it now. fixes #6880 r @jonas-schievink Co-authored-by: Edwin Cheng <[email protected]>
| * | | Add force_show_panics flagEdwin Cheng2020-12-274-8/+44
| | | |
* | | | Merge #7043bors[bot]2020-12-266-120/+69
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7043: Simplify assists resolution API r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Simplify assists resolution APIAleksey Kladov2020-12-266-120/+69
|/ / / / | | | | | | | | | | | | | | | | | | | | Assist vs UnresolvedAssist split doesn't really pull its weight. This is especially bad if we want to include `Assist` as a field of diagnostics, where we'd have to make the thing generic.
* | | | Merge #7038bors[bot]2020-12-252-14/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7038: Fix type typo in add_missing_impl_members doc r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Fix type typo in add_missing_impl_members docLukas Wirth2020-12-252-14/+18
| | | | |
* | | | | Merge #7036bors[bot]2020-12-251-1/+39
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7036: Don't split path separators apart in doctest runnables r=Veykril a=Veykril Fixes #7035 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Don't split path separators apart in doctest runnablesLukas Wirth2020-12-251-1/+39
| |/ / / /
* | | | | Merge #7032bors[bot]2020-12-241-43/+22
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7032: Simplify more r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Simplify moreAleksey Kladov2020-12-241-43/+22
|/ / / / /
* | | | | Merge #7031bors[bot]2020-12-241-35/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7031: Simplify r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | SimplifyAleksey Kladov2020-12-241-35/+7
|/ / / / /
* | | | | Merge #7030bors[bot]2020-12-2421-14/+142
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7030: Support labels in reference search r=matklad a=Veykril Implements general navigation for labels, goto def, rename and gives labels their own semantic highlighting class. Fixes #6966 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Support labels in reference searchLukas Wirth2020-12-2421-14/+142
| |/ / / /
* | | | | Merge #7029bors[bot]2020-12-241-3/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7029: Flush stdout when clearing the progress bar r=lnicola a=lnicola To prevent this from happening: ``` Database loaded 496.24ms, 288mi Crates in this dir: 1 Total modules found: 14 Total declarations: 159 Total functions: 122 Item Collection: 6.02s, 61846mi 122/122 100% processing: archive::sizeTotal expressions: 6592 Expressions of unknown type: 4 (0%) Expressions of partially unknown type: 104 (1%) Type mismatches: 3 Inference: 1.03s, 8622mi Total: 7.05s, 70468mi ``` Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | Flush stdout when clearing the progress barLaurențiu Nicola2020-12-241-3/+5
| | | | | |