Skip to content

Changelog #106 #166

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 6, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions generated_features.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ image::https://user-images.githubusercontent.com/48062697/113020673-b85be580-917


=== Completion With Autoimport
**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide_completion/src/completions/flyimport.rs#L17[flyimport.rs]
**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide_completion/src/completions/flyimport.rs#L18[flyimport.rs]

When completing names in the current scope, proposes additional imports from other modules or crates,
if they can be qualified in the scope, and their name contains all symbols from the completion input.
Expand Down Expand Up @@ -610,9 +610,11 @@ Rust-analyzer currently emits the following token tags:
- For items:
+
[horizontal]
attribute:: Emitted for attribute macros.
enum:: Emitted for enums.
function:: Emitted for free-standing functions.
macro:: Emitted for macros.
derive:: Emitted for derive macros.
macro:: Emitted for function-like macros.
method:: Emitted for associated functions, also knowns as methods.
namespace:: Emitted for modules.
struct:: Emitted for structs.
Expand Down Expand Up @@ -643,6 +645,7 @@ logical:: Emitted for the logical operators `||`, `&&`, `!`.
+
[horizontal]
punctuation:: Emitted for general punctuation.
attributeBracket:: Emitted for attribute invocation brackets, that is the `#[` and `]` tokens.
angle:: Emitted for `<>` angle brackets.
brace:: Emitted for `{}` braces.
bracket:: Emitted for `[]` brackets.
Expand All @@ -655,7 +658,6 @@ Semi:: Emitted for the `;` token.
//-

[horizontal]
attribute:: Emitted for the `#[` `]` tokens.
builtinAttribute:: Emitted for names to builtin attributes in attribute path, the `repr` in `#[repr(u8)]` for example.
builtinType:: Emitted for builtin types like `u32`, `str` and `f32`.
comment:: Emitted for comments.
Expand All @@ -668,6 +670,7 @@ lifetime:: Emitted for lifetimes.
parameter:: Emitted for non-self function parameters.
property:: Emitted for struct and union fields.
selfKeyword:: Emitted for the self function parameter and self path-specifier.
toolModule:: Emitted for tool modules.
typeParameter:: Emitted for type parameters.
unresolvedReference:: Emitted for unresolved references, names that rust-analyzer can't find the definition of.
variable:: Emitted for locals, constants and statics.
Expand Down Expand Up @@ -720,7 +723,7 @@ image::https://user-images.githubusercontent.com/48062697/113065586-068bdb80-91b


=== Status
**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide/src/status.rs#L26[status.rs]
**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide/src/status.rs#L25[status.rs]

Shows internal statistic about memory usage of rust-analyzer.

Expand Down Expand Up @@ -878,7 +881,7 @@ image::https://user-images.githubusercontent.com/48062697/113065588-068bdb80-91b


=== Workspace Symbol
**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide_db/src/symbol_index.rs#L148[symbol_index.rs]
**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide_db/src/symbol_index.rs#L159[symbol_index.rs]

Uses fuzzy-search to find types, modules and functions by name across your
project and dependencies. This is **the** most useful feature, which improves code
Expand Down
46 changes: 46 additions & 0 deletions thisweek/_posts/2021-12-06-changelog-106.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
= Changelog #106
:sectanchors:
:page-layout: post

Commit: commit:7d6fcbc0be2151bfa85ec146545b42d8be2fb28c[] +
Release: release:2021-12-06[]

== Sponsors

**Become a sponsor:** On https://opencollective.com/rust-analyzer/[OpenCollective] or
https://github.com/sponsors/rust-analyzer[GitHub Sponsors].

== New Features

* pr:10915[] resolve built-in attributes and tools in `ide`:
+
image::https://user-images.githubusercontent.com/3757771/144661639-dbd324df-807c-4cc0-b860-4953a98b9fa5.png[]
+
image::https://user-images.githubusercontent.com/3757771/144661637-e9276cc8-e975-420e-ab32-29fa7732a21f.png[]
* pr:10943[] enable completions for attributes:
+
image::https://user-images.githubusercontent.com/3757771/144752483-5dd868fb-b0f3-4f69-9db3-859f0414dc06.gif[]
* pr:10916[] implement `while let ...` to `loop { if let ...}` conversion in the `convert_while_to_loop` assist.

== Fixes

* pr:10906[] (first contributation) "add return type" assist when missing whitespace before brace.
* pr:10896[] resolve associated trait types in paths.
* pr:10902[] handle multiple cargo check quick fix spans.
* pr:10920[] shorten spans of `mismatched_arg_count` diagnostics.
* pr:10930[] fix `self` highlighting in imports.
* pr:10899[] add hack to highlight `self` properly with some proc macro crates.
* pr:10937[] add back highlighting hack for unresolved attributes.
* pr:10841[] emit moniker in LSIF.
* pr:10891[] emit trait names in moniker identifier.
* pr:10871[], pr:10905[], pr:10940[] try to respect `http.proxyStrictSSL`.

== Internal Improvements

* pr:10872[] build symbol index from crate def map
* pr:10887[] update bug report template to include version info.
* pr:10919[] add missing semantic tokens to `package.json`.
* pr:10897[] make client-side tests actually work.
* pr:10903[] replace `mocha` with a custom test runner.
* pr:10929[] split up macro/attribute semantic tokens a bit more.
* pr:10944[] prefer resolution of inert attributes.