Sponsor Docs Blog Changelog

Changelog #13

Commit: cba3c99
Release: 2020-02-24

New Features

  • #3216 language server binary is renamed from ra_lsp_server to rust-analyzer. Additionally, rust-analyzer.lspServerPath config is renamed to rust-analyzer.serverPath

  • #3199, #3200 merge ra_cli batch processing utils with the main rust-analyzer binary. Now you can, eg, run rust-analyzer analysis-stats path/to/my/project to type check all functions in batch. This is intended to help with debugging rust-analyzer itself.

  • #3206 automatically install rust-src component.

  • #3231 add Remove mut assist.

  • #3252 for syntax highlighting, take token color customization into account.

  • #3269 document inlay hints.

  • #3278, #3279 show inlay hints in more cases.

  • #3275 document structural search and replace.

Fixes

  • #3229 fix a crash with non-ascii whitespace in doc-comments.

  • #3228 fix hover for for code inside macro calls.

  • #3233 extend selection correctly handles commas in tuple patterns

  • #3239 remove dependency on libbacktrace.

  • #3241 Fill missing fields fix works with enum variants as well.

  • #3215 exclude methods from non-parameter types introduced by generic constraints

  • #3248 fix custom onEnter not triggering at the start of a doc comment

  • #3251, #3282 better error messages when workspace loading fails.

  • #3259 fix handing of associated type.

  • #3244 renaming a module now renames both the file and the references to the module.

  • #3262 correctly distinguish between const patterns and bindings.

  • #3260 fix name resolution rules for build-in types.

  • #3230 fix macro expansion for invalid tokens.

  • #3277 gracefully handle cancellation errors in VS Code plugin.

  • #3289, #3290 don’t break the kbd:[Enter] key if rust-analyzer returns an error.

Internal Improvements

  • #3195 remove dependency on proptest property based testing library to improve compile times.

  • #3209, #3205, #3258 switch TypeScript extension linter to eslint.

  • #3214 document all modules in the language server crate.

  • #3026 simplify internal representation of syntax errors.

  • #3234, #3235, #3236 refactor handing of symbols/defs in IDE.

  • #3242 make sure that, by default, rust-analyzer does not depend on C code.

  • #3247 make rust-analyzer --version more useful and reliable.

  • #3263 use chalk for unsizing coercions.

  • #3274 refactor navigation-related code to use hir instead of AST.

  • #3261 setup client-side logging infrastructure.