Aleksey Kladov
186c5c47cb
feat: avoid checking the whole project during initial loading
2021-04-12 15:29:31 +03:00
Jade
4529f1be81
decl_check: consider outer scopes' allows
...
Fix #8417 . Also makes it less noisy about no_mangle annotated stuff the
user can do nothing about.
Note: this still is broken with bitfield! macros. A repro in an ignore
test is included here. I believe this bug is elsewhere, and I don't
think I can work around it here.
2021-04-08 14:43:19 -07:00
PSeitz
14a1f0ce46
remove enumeration
2021-03-29 22:09:04 +02:00
PSeitz
3153a80261
update vim ycm installation instruction
2021-03-29 21:31:29 +02:00
Laurențiu Nicola
ea8159893a
Mention the rustup version in the manual
2021-03-27 12:39:16 +02:00
Thiébaud Weksteen
1c68954a7d
Fix manual description for rust_project.json
2021-03-25 10:02:16 +01:00
Kirill Bulatov
5e83a56dfb
Bump the default hint length
2021-03-23 19:43:55 +02:00
Kirill Bulatov
f1e1a2c0a7
Limit the hints size by default
2021-03-23 19:04:48 +02:00
Aleksey Kladov
2469af3017
Apply suggestions from code review
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2021-03-22 13:56:13 +03:00
Aleksey Kladov
2b427fa3dd
Update docs/user/manual.adoc
...
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2021-03-22 13:55:16 +03:00
Aleksey Kladov
63e083122c
Document our security stance
...
changelog: feature
2021-03-22 13:53:00 +03:00
Aleksey Kladov
670964d802
Update docs/user/manual.adoc
2021-03-18 18:57:44 +03:00
Mickael Istria
c0425cbdbd
Update info about Eclipse Corrosion
2021-03-18 16:22:54 +01:00
Aleksey Kladov
469b739c28
Enable proc-macros by default
2021-03-15 18:19:08 +03:00
Lukas Wirth
ebf4448f78
Fix remaining references to cargo xtask codegen
2021-03-12 15:10:33 +01:00
Aleksey Kladov
37b7b56821
Make code less surprising
...
Theres no reason to have literal `\n\n` in the source code
2021-03-09 14:47:42 +03:00
Joshua Nelson
c7b0914b3f
Add more documentation for rustc_private
2021-03-08 16:56:42 -05:00
bors[bot]
d57c9f7980
Merge #7891
...
7891: Improve handling of rustc_private r=matklad a=DJMcNab
This PR changes how `rust-analyzer` handles `rustc_private`. In particular, packages now must opt-in to using `rustc_private` in `Cargo.toml`, by adding:
```toml
[package.metadata.rust-analyzer]
rustc_private=true
```
This means that depending on crates which also use `rustc_private` will be significantly improved, since their dependencies on the `rustc_private` crates will be resolved properly.
A similar approach could be used in #6714 to allow annotating that your package uses the `test` crate, although I have not yet handled that in this PR.
Additionally, we now only index the crates which are transitive dependencies of `rustc_driver` in the `rustcSource` directory. This should not cause any change in behaviour when using `rustcSource: "discover"`, as the source used then will only be a partial clone. However, if `rustcSource` pointing at a local checkout of rustc, this should significantly improve the memory usage and lower indexing time. This is because we avoids indexing all crates in `src/tools/`, which includes `rust-analyzer` itself.
Furthermore, we also prefer named dependencies over dependencies from `rustcSource`. This ensures that feature resolution for crates which are depended on by both `rustc` and your crate uses the correct set for analysing your crate.
See also [introductory zulip stream](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Fixed.20crate.20graphs.20and.20optional.20builtin.20crates/near/229086673 )
I have tested this in [priroda](https://github.com/oli-obk/priroda/ ), and it provides a significant improvement to the development experience (once I give `miri` the required data in `Cargo.toml`)
Todo:
- [ ] Documentation
This is ready to review, and I will add documentation if this would be accepted (or if I get time to do so anyway)
Co-authored-by: Daniel McNab <36049421+DJMcNab@users.noreply.github.com>
2021-03-08 16:51:20 +00:00
Daniel McNab
20007fd3a8
Document rustc_private in metadata
2021-03-08 16:47:40 +00:00
Daniel McNab
bbecea03fd
Revert "Support disabling rustc build scripts"
...
This reverts commit ddce6bb282
.
2021-03-08 16:37:52 +00:00
Aleksey Kladov
c7b5d6be4c
Make code completion "just work" in more cases
2021-03-08 14:57:56 +03:00
Daniel McNab
ddce6bb282
Support disabling rustc build scripts
2021-03-08 09:05:19 +00:00
bors[bot]
d54e1157b6
Merge #7889
...
7889: Make group imports configurable r=lnicola a=asv1
Co-authored-by: asv <asv7c2@gmail.com>
2021-03-07 08:24:02 +00:00
asv
96fc01a30b
Make group imports configurable
2021-03-07 10:15:17 +02:00
Florian Diebold
d6094c70fb
Add a line about code action commands to the CoC section of the docs
2021-03-06 11:35:04 +01:00
Aleksey Kladov
3d80e0a154
Migrate to user-centric config name for cargo check
stuff
2021-03-04 15:38:53 +03:00
boxdot
9b78a6f6d2
Fix typo.
2021-02-24 11:56:48 +01:00
Benjamin Bouvier
4a6e602c94
Allow automatically detect the rustc-src directory ( fixes #3517 ).
...
If the configured rustcSource is set to "discover", try to automatically
detect a source from the sysroot rustc directory.
2021-02-13 18:20:46 +01:00
Aleksey Kladov
ad7b0f670a
Add emacs guide
2021-02-08 19:08:02 +03:00
bors[bot]
433ad23988
Merge #7592
...
7592: [Doc] Note about Eclipse IDE support r=lnicola a=mickaelistria
Co-authored-by: Mickael Istria <mistria@redhat.com>
2021-02-08 09:16:01 +00:00
Mickael Istria
7e0854ec57
[Doc] Note about Eclipse IDE support
2021-02-08 09:52:46 +01:00
Ilya Bobyr
9ffe4ca26c
Vim docs: vim-lsp with initial configuration.
...
`vim-lsp` is another popular LSP client for Vim. And, as there is no
`rust-analyzer` specific UI, it is non-trivial to figure out how the
initial configuration is performed.
2021-02-07 20:24:56 -08:00
Ilya Bobyr
6781692732
Explain how initial configuration is sent over LSP.
2021-02-07 20:24:56 -08:00
Laurențiu Nicola
84c324b3dd
Improve nvim-lsp setup instructions
2021-02-01 20:20:15 +02:00
Aleksey Kladov
2870e70163
Add config option to ignore directories
2021-01-26 16:45:54 +03:00
Aleksey Kladov
c04b561e7e
Remove the need to manually sync config in package.json
2021-01-26 16:22:24 +03:00
vsrs
3618c4e0d3
Add References code lens.
...
For Struct, Enum, Union and Trait symbols.
2021-01-23 16:56:20 +03:00
bors[bot]
b821264f86
Merge #7195
...
7195: Update remaining serverPath references r=lnicola a=lnicola
Fixes https://github.com/rust-analyzer/rust-analyzer/pull/7156#issuecomment-755487667
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-07 15:30:23 +00:00
Laurențiu Nicola
56497ce925
Update remaining serverPath references
2021-01-07 17:06:11 +02:00
Aleksey Kladov
037caec62c
Use american spelling for config
...
As per
171c3c08fe/docs/dev/style.md (variable-naming)
Also implement config aliasing, for pain-free settings migrations in the future
2021-01-07 15:07:19 +03:00
Aleksey Kladov
f7a15b5cd1
More maintainable config
...
Rather than eagerly converting JSON, we losslessly keep it as is, and
change the shape of user-submitted data at the last moment.
This also allows us to remove a bunch of wrong Defaults
2021-01-06 15:39:28 +03:00
Aleksey Kladov
d7741d1610
Allow #anchor
linking of config options
2021-01-05 13:09:06 +03:00
bors[bot]
5b86ff3e91
Merge #7113
...
7113: Manual updates r=matklad a=tekul
Add some details on how to build the manual and some clarification on how to deal with "proc macro2 warnings.
For context, this arose from [this question](https://users.rust-lang.org/t/how-to-disable-rust-analyzer-proc-macro-warnings-in-neovim/53150 ) on users.rust-lang.org.
Co-authored-by: Luke Taylor <tekul.hs@gmail.com>
2021-01-03 18:22:07 +00:00
Mara Bos
4833972067
Add support for Rust 2021.
2021-01-01 17:22:23 +01:00
Luke Taylor
6168a6f1ca
Expand contributing "tip" in manual.adoc
...
- Add link to asciidoc website
- Explain how to create the generated adoc files from the source code
- How to run asciidoctor to generate the manual
2020-12-31 22:23:06 +00:00
Heyward Fann
b1ec22c879
Update manual.adoc
2020-12-24 11:38:01 +08:00
Aleksey Kladov
7c07bb6381
Document, how to view config in effect
2020-12-23 10:47:05 +03:00
Rüdiger Herrmann
9f070531a6
Clean up descriptions for settings
...
Use two consecutive newlines (`\n\n`) to actually continue text on a
new line.
Use proper markup to reference related settings.
Consistently format references to files, editor commands, command line
arguments, files, etc. as `code`.
Fix typos, add missing full-stops, add missing default values.
2020-12-22 14:51:17 +01:00
Laurențiu Nicola
6fbe22bfbb
Split lines between sentences
2020-12-20 19:31:08 +02:00
Laurențiu Nicola
0ecb224d75
Document the version requirements for building from source
2020-12-20 17:10:54 +02:00
Aleksey Kladov
804ae284b9
Link config source
2020-12-14 15:06:24 +03:00
Christian Authmann
78d43eb1e8
Docs: Explain manual installation in VS Code
2020-12-13 15:21:11 +01:00
Aleksey Kladov
e179ed6f53
Use natural trait ordering in derive completion
...
derive(Clone, Copy) reads better than derive(Copy, Clone).
However, we preserve the reverse ordering in the lookup text for
sorting purposes. That way, it's convenient to type just `Ord` to
derive everything.
2020-12-11 15:45:53 +03:00
Laurențiu Nicola
3ecdb778c2
Improve docs for building from source
2020-12-10 19:31:46 +02:00
Josh Stone
bb412f314d
Fix a typo in manual.adoc
2020-12-09 11:25:05 -08:00
Aleksey Kladov
0890512e1c
Include config into the manual
2020-12-09 15:31:10 +03:00
Jonas Schievink
d171838d63
More accurately place proc-macro diagnostic
2020-11-27 16:29:40 +01:00
Jonas Schievink
0432aa0ed7
Publish diagnostics for macro expansion errors
2020-11-27 13:50:22 +01:00
Dave Lage
e6419350de
docs: Update Neovim nvim-lspconfig repository link
2020-10-29 11:08:12 -04:00
Jonas Schievink
5350c15e27
Fix name of InactiveCode diagnostic
2020-10-23 19:31:11 +02:00
Jonas Schievink
93dc6f511b
Diagnose #[cfg]s in bodies
2020-10-23 19:27:04 +02:00
Florian Diebold
b59a0dbf6a
Add generated diagnostic docs to the manual
2020-10-22 19:42:01 +02:00
Benjamin Coenen
aa031e91f4
add completions for clippy lint in attributes
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-10-20 21:29:31 +02:00
Aleksey Kladov
f753c3ecd2
Support Display name in project.json
2020-10-20 17:13:15 +02:00
Aleksey Kladov
a261c7c539
Document logging of project model
2020-10-19 16:04:22 +02:00
Laurențiu Nicola
b19013feaa
Update GNOME Builder docs
2020-10-15 20:00:09 +03:00
Adrian Stanciu
f7641b2e35
Update manual.adoc
2020-10-07 00:44:32 +03:00
Aleksey Kladov
af8063fe37
Extend **Status** command to also show dep info for the file
...
This should help with troubleshooting wrong project configuration
2020-09-29 22:13:23 +02:00
Masaki Hara
5cca4c9214
VS Code + WSL: describe binary location
...
It looks like VS Code server chooses a different location for `globalStorage`.
2020-09-21 23:07:54 +09:00
Jonas Schievink
888cb378b9
docs: suggest disabling the official extension
2020-09-18 18:26:58 +02:00
bors[bot]
d58a3a277a
Merge #5885
...
5885: Make inlay hints colors more configurable r=matklad a=Veetaha
**[BREAKING CHANGE]**
Tackles https://github.com/rust-analyzer/rust-analyzer/issues/5337#issuecomment-680018601 and generally related to #5337 .
Added `foreground/background` color configurations with optional more specific overrides `foreground.(type|parameter|chaining)Hints`.
One problem I see is that the config keys are long and don't fit into the on-hover hints in the `settings.json` file entirely...
<details>
<summary>Demo</summary>
![demo](https://user-images.githubusercontent.com/36276403/91238334-77fc3b00-e745-11ea-836b-2822015ece98.gif )
</details>
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-08-26 13:07:06 +00:00
Aleksey Kladov
a53c6f6fee
Allow redirecting logs to a specific file
...
There's a surprising lack of crates which are like env_logger, but
also allow writing to a file. Let's write our own then!
2020-08-26 13:20:46 +02:00
Veetaha
5b9a882edc
Make inlay hints colors more configurable
2020-08-26 02:53:42 +03:00
Aleksey Kladov
189521a4db
Add sysroot shortcut to rust-project.json
2020-08-25 19:41:56 +02:00
Aleksey Kladov
3a72afed8c
Improve logging
2020-08-25 11:43:21 +02:00
Aleksey Kladov
280096688b
minor
2020-07-24 22:18:26 +02:00
bors[bot]
7bada8a76d
Merge #5473
...
5473: Changes to rust-project.json r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-23 13:58:45 +00:00
Veetaha
6faf47c8fe
Update manual.adoc
2020-07-22 16:46:19 +03:00
Aleksey Kladov
eb613c74da
Apply suggestions from code review
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2020-07-21 17:09:56 +02:00
Aleksey Kladov
ca2a4ccf05
Document new rust-project.json format
2020-07-21 15:43:56 +02:00
bors[bot]
4759a39f06
Merge #5407
...
5407: Mentioned problem matchers and running cargo-watch as a VS Code Task r=matklad a=Michael-F-Bryan
See https://github.com/rust-analyzer/rust-analyzer/issues/3596#issuecomment-658887055 .
Co-authored-by: Michael-F-Bryan <michaelfbryan@gmail.com>
Co-authored-by: Michael Bryan <Michael-F-Bryan@users.noreply.github.com>
2020-07-16 17:03:39 +00:00
Michael Bryan
5226e886b0
Update docs/user/manual.adoc
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2020-07-16 23:30:19 +08:00
Michael Bryan
60a243b375
Update docs/user/manual.adoc
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2020-07-16 23:30:11 +08:00
Michael Bryan
9daa6b5cfa
Update docs/user/manual.adoc
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2020-07-16 23:30:02 +08:00
Aleksey Kladov
3b51a68236
More prominent link to the manual
2020-07-16 15:03:53 +02:00
Michael-F-Bryan
a0eaadee55
Mentioned problem matchers and running cargo-watch as a VS Code Task
2020-07-16 20:46:54 +08:00
vsrs
188d24024c
Fix tag level
2020-07-03 16:07:28 +03:00
vsrs
8b2a44dc3f
remove ---
2020-07-03 16:03:01 +03:00
vsrs
fd94a10be1
Add docs
2020-07-03 16:01:13 +03:00
LeSeulArtichaut
44a164b338
Escape space in path for MacOS binary location
2020-06-27 14:13:14 +02:00
Aleksey Kladov
e6c61d5072
Cleanup project.json deserialization
2020-06-24 16:16:52 +02:00
Günther Wagner
837d6013b5
Update docs/user/manual.adoc
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2020-06-23 07:18:46 +02:00
Günther Wagner
965900c88c
Update manual.adoc
...
GNOME Builder (Nightly) supports now rust-analyzer
2020-06-22 22:38:43 +02:00
Aleksey Kladov
5315934d88
Don't store generated docs in the repo
2020-06-03 18:26:50 +02:00
bors[bot]
1edf6d2d4f
Merge #4730
...
4730: Document rust-project.json r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-03 13:18:12 +00:00
Aleksey Kladov
fa019c8f56
Document rust-project.json
2020-06-03 15:17:26 +02:00
Aaron Loucks
ed86689264
Update generated feature docs
2020-06-03 06:55:27 -04:00
Aleksey Kladov
285717de33
Rename assist
2020-06-01 15:41:16 +02:00
Aleksey Kladov
899570ad7a
Link to the specific source line
2020-05-31 15:36:20 +02:00
Aleksey Kladov
f20775d7eb
docs
2020-05-31 15:20:26 +02:00