Go to file
bors[bot] 5d97667f8d
Merge #4105
4105: Adds attribute completions (#3941) r=matklad a=jrvidal

I've hacked together some basic completions for a few builtin attributes.

* I have no idea what `CompletionItemKind` we should set for them.
* There's plenty of fancy stuff we could do by detecting the item the attribute is being added to. Nothing of that here.
* Maybe we could complete as soon as you type `#` or `#!`?

I'm not sure what info exactly we can dump on `CompletionContext` and what we should query during the completion calculation itself. I've assumed adding an `is_attribute` field is OK, since it allows to discard the completion quickly if it doesn't apply. Later we inspect the AST to find out whether it is an inner attribute or not.

Co-authored-by: Roberto Vidal <vidal.roberto.j@gmail.com>
2020-04-24 16:05:16 +00:00
.cargo
.github Use actions-rs/install and /audit-check for cargo-audit 2020-04-11 14:32:53 +03:00
.vscode Add Launch configuration for release build 2020-04-23 23:29:40 +02:00
crates Adds attribute completions (#3941) 2020-04-24 17:54:52 +02:00
docs Add YouCompleteMe as a LSP option for vim/neovim 2020-04-23 17:09:37 +08:00
editors/code Disable onEnter command by default 2020-04-23 21:01:17 +02:00
xtask Bump required rust to 1.43 2020-04-23 11:56:32 -04:00
.gitattributes
.gitignore cargo xtask dist 2020-03-04 18:18:20 +01:00
bors.toml Gate CI on windows build 2020-01-26 14:15:57 +01:00
Cargo.lock ⬆️ crates (to bust the caches) 2020-04-24 02:58:21 +02:00
Cargo.toml Extend analysis-stats a bit 2020-02-15 18:04:01 +01:00
LICENSE-APACHE
LICENSE-MIT
README.md Link proper docs from readme 2020-03-05 17:26:47 +01:00
rustfmt.toml

rust-analyzer logo

rust-analyzer is an experimental modular compiler frontend for the Rust language. It is a part of a larger rls-2.0 effort to create excellent IDE support for Rust. If you want to get involved, check the rls-2.0 working group:

https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0

Work on rust-analyzer is sponsored by

Ferrous Systems

Quick Start

https://rust-analyzer.github.io/manual.html#installation

Documentation

If you want to contribute to rust-analyzer or are just curious about how things work under the hood, check the ./docs/dev folder.

If you want to use rust-analyzer's language server with your editor of choice, check the manual folder. It also contains some tips & tricks to help you be more productive when using rust-analyzer.

Getting in touch

We are on the rust-lang Zulip!

https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frls-2.2E0

License

Rust analyzer is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.