Commit graph

24055 commits

Author SHA1 Message Date
Michael Eliachevitch
18366145b0
Update documentation for emacs and split for LSP and Eglot modes
Emacs has now two LSP clients, the more minimalistic and lightweight Eglot and
the extensive though a bit bloated LSP-Mode. Eglot will soon be
shipped with Emacs29. Both have rust-analyzer enabled by default and require
no further setup then just being installed and enabled. `lsp-rust.el` is not
required anymore.

The base-installation for each of those modes is so easy now that I don't think
an enumerated list is necessary, both package can be installed via the standard
`M-x package-install` and the installation is a one-liner that I provide.

Configuration mostly comes into play for support the rust-analyzer extensions to
the LSP protocol, which are built into LSP mode and require an extension-package
for Eglot.

But for the configuration beyond the base configuration I link against official
documentation, quickstart guides and documentation for the lsp extensions, to
avoid showing outdated information here.

This commit is mostly a duplicate of a PR [1] that I made against the
rust-analyzer github project.

[1]: https://github.com/rust-analyzer/rust-analyzer.github.io/pull/197,
     7ff0113006

Spelling: Space before version number in Emacs 29 in manual

Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2023-01-25 13:36:27 +01:00
bors
8bf338f2c8 Auto merge of #14023 - Veykril:config-sub-fix, r=Veykril
fix: config substitution failing extension activation

Closes https://github.com/rust-lang/rust-analyzer/issues/14022

Not sure how a function can appear there, but there is also no reason for us to care about it anyways.
2023-01-25 09:22:01 +00:00
Lukas Wirth
e6ad8a2edc fix: config substitution failing extension activation 2023-01-25 09:17:49 +01:00
bors
e86bac92f4 Auto merge of #14019 - Veykril:ts-bin-og, r=Veykril
Substitute VSCode variables more generally
2023-01-24 13:27:19 +00:00
bors
cd4ac0d87b Auto merge of #14020 - Veykril:search-fix, r=Veykril
fix: Fix assoc item search finding unrelated definitions

Fixes https://github.com/rust-lang/rust-analyzer/issues/14014
2023-01-24 13:11:30 +00:00
Lukas Wirth
951ee3d0b5 fix: Fix assoc item search finding unrelated definitions 2023-01-24 14:11:02 +01:00
Lukas Wirth
ec9476015c Substitute VSCode variables more generally 2023-01-24 13:46:56 +01:00
bors
86f73a0081 Auto merge of #14017 - lowr:patch/remove-type-walk, r=Veykril
internal: remove `TypeWalk`

Because less code is better!

`hir_ty::TypeWalk` is only used in analysis-stats and its usage can be replaced by checking `TypeFlags` (which is precomputed upon `TyKind` interning so it should make analysis-stats a bit faster, though it was really negligible in my local environment).

We should just use chalk's `TypeVisitor` or `TypeFolder` instead even if we come to need it again.
2023-01-24 12:08:51 +00:00
bors
e46c242a38 Auto merge of #14012 - parthopdas:master, r=Veykril
Adding section for Visual Studio IDE Rust development support

This PR adds a section for Rust support in Visual Studio IDE.
2023-01-24 11:19:17 +00:00
Ryo Yoshida
e9f14c505f
Remove TypeWalk and use TypeFlags instead 2023-01-24 19:44:58 +09:00
Partha P. Das
f9bb947fa4
Adding VS IDE 2023-01-23 16:31:03 -05:00
bors
c552e5a55f Auto merge of #14004 - lowr:patch/no-need-to-escape-non-snippet, r=Veykril
Don't escape non-snippets in assist

I was misunderstanding that we're always sending snippets as response to assist request. For assists that never return snippets like `move_const_to_impl` we don't need to escape, and I don't think `utils::escape_non_snippet()` is useful at the moment since we guarantee that only a single edit will have `InsertTextFormat.Snippet` and we have `utils::render_snippet()` for that.
2023-01-23 16:32:53 +00:00
bors
1575d55fc8 Auto merge of #14009 - Veykril:ts-client, r=Veykril
🧹 lsp_ext.ts
2023-01-23 16:19:42 +00:00
Lukas Wirth
64110714f0 🧹 lsp_ext.ts 2023-01-23 16:58:35 +01:00
bors
db0d598d53 Auto merge of #14008 - Veykril:ts-client, r=Veykril
Bump package-lock.json
2023-01-23 12:53:14 +00:00
Lukas Wirth
544c581e5f Bump package-lock.json 2023-01-23 13:52:13 +01:00
bors
ed88fd4ec4 Auto merge of #14007 - Veykril:open-server-logs, r=Veykril
Add a 'open server logs' button to the error notification

Closes https://github.com/rust-lang/rust-analyzer/issues/13995#issuecomment-1399669561
![Code_pUQurJ9BRn](https://user-images.githubusercontent.com/3757771/214038673-658f3b43-5310-47b0-99da-d3222d173b0c.gif)
2023-01-23 12:25:04 +00:00
Lukas Wirth
b9fe5afb30 Add a 'open server logs' button to the error notification 2023-01-23 13:24:42 +01:00
bors
e1d7a71bcc Auto merge of #14006 - Veykril:markdown-remove-soft-break, r=Veykril
Replace soft breaks in markdown with spaces

cc https://github.com/rust-lang/rust-analyzer/pull/13988#issuecomment-1399924205
2023-01-23 11:21:46 +00:00
Lukas Wirth
84239a1454 REplace soft breaks in markdown with spaces 2023-01-23 12:21:23 +01:00
Ryo Yoshida
01d8b8947c
Don't escape non-snippets in assist 2023-01-23 00:22:46 +09:00
bors
daa0138e4c Auto merge of #14001 - Veykril:lang-item, r=Veykril
Replace SmolStr usage with lang item enum for lang items

Fixes https://github.com/rust-lang/rust-analyzer/issues/13395
2023-01-21 18:25:02 +00:00
Lukas Wirth
f8ed4d7ae4 Use lang item resolution instead of known paths 2023-01-21 19:03:36 +01:00
Lukas Wirth
1535881836 Replace SmolStr usage with lang item enum for lang items 2023-01-21 17:55:45 +01:00
bors
1afa032f34 Auto merge of #13996 - lnicola:bump-deps, r=lnicola
minor: Bump deps
2023-01-21 12:27:40 +00:00
Laurențiu Nicola
a9b96e1efa Bump the rest of the deps 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
7a285e2933 Bump flate2 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
8f678a0169 Bump snap 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
1431264646 Bump rayon 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
c5a182c56b Bump mimalloc 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
7bbe4c299c Bump proc-macro2 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
f9598522fb Bump libloading 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
1165279905 Bump xshell 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
ff0b15cafa Bump xflags 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
e90b0b6504 Bump quote 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
25a5bd9b13 Bump object 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
11e4baba1a Bump indexmap 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
452e1e54ef Bump backtrace 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
f2397638f5 Bump arbitrary and derive-arbitrary 2023-01-21 14:05:22 +02:00
Laurențiu Nicola
ee4710d922 Bump cargo_metadata 2023-01-21 09:35:28 +02:00
Laurențiu Nicola
1dd1f41ef9 Bump typed-arena 2023-01-21 09:33:52 +02:00
Laurențiu Nicola
84c38d0456 Bump scoped-tls 2023-01-21 09:33:36 +02:00
Laurențiu Nicola
047bc6f037 Bump tracing-tree 2023-01-21 09:31:38 +02:00
Laurențiu Nicola
da85d43f02 Bump dissimilar 2023-01-21 08:50:34 +02:00
Laurențiu Nicola
d26c8ccc89 Bump num_cpus 2023-01-21 08:49:50 +02:00
Laurențiu Nicola
392a6ee422 Bump once_cell 2023-01-21 08:48:46 +02:00
Laurențiu Nicola
938aa9d0bc Bump semver 2023-01-21 08:45:47 +02:00
Laurențiu Nicola
9e63b9ba10 Bump memmap2 2023-01-21 08:44:25 +02:00
bors
9a6294d703 Auto merge of #13993 - OmarTawfik-forks:fix-server-path, r=Veykril
fix: substitute vscode variables in `config.serverPath`

From comment by `@Veykril` in https://github.com/rust-lang/rust-analyzer/issues/13939#issuecomment-1398187320:

> Yep, we pull the server path first, then substitute the configs, that's the wrong order.

6e52c64031/editors/code/src/ctx.ts (L155-L161)

Fixes #13939
2023-01-20 22:17:08 +00:00
bors
303737dad7 Auto merge of #13989 - Veykril:hover, r=Veykril
internal: Remove hover fallback in favor of ranged hover

The fallback is usually more annoying than useful at this point (it messes with the range of diagnostic popups a lot), we now have a ranged hover to check the type of something which works a lot better.

Closes https://github.com/rust-lang/rust-analyzer/issues/11602
2023-01-20 22:00:22 +00:00