aboutsummaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
Diffstat (limited to 'editors')
-rw-r--r--editors/code/package-lock.json36
-rw-r--r--editors/code/package.json11
-rw-r--r--editors/code/src/config.ts1
-rw-r--r--editors/code/src/inlay_hints.ts5
4 files changed, 30 insertions, 23 deletions
diff --git a/editors/code/package-lock.json b/editors/code/package-lock.json
index eb4f299a1..e11cffd68 100644
--- a/editors/code/package-lock.json
+++ b/editors/code/package-lock.json
@@ -109,9 +109,9 @@
109 } 109 }
110 }, 110 },
111 "@types/vscode": { 111 "@types/vscode": {
112 "version": "1.43.0", 112 "version": "1.44.0",
113 "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.43.0.tgz", 113 "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.44.0.tgz",
114 "integrity": "sha512-kIaR9qzd80rJOxePKpCB/mdy00mz8Apt2QA5Y6rdrKFn13QNFNeP3Hzmsf37Bwh/3cS7QjtAeGSK7wSqAU0sYQ==", 114 "integrity": "sha512-WJZtZlinE3meRdH+I7wTsIhpz/GLhqEQwmPGeh4s1irWLwMzCeTV8WZ+pgPTwrDXoafVUWwo1LiZ9HJVHFlJSQ==",
115 "dev": true 115 "dev": true
116 }, 116 },
117 "@typescript-eslint/eslint-plugin": { 117 "@typescript-eslint/eslint-plugin": {
@@ -1776,32 +1776,32 @@
1776 } 1776 }
1777 }, 1777 },
1778 "vscode-jsonrpc": { 1778 "vscode-jsonrpc": {
1779 "version": "5.0.1", 1779 "version": "5.1.0-next.1",
1780 "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.1.tgz", 1780 "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.1.0-next.1.tgz",
1781 "integrity": "sha512-JvONPptw3GAQGXlVV2utDcHx0BiY34FupW/kI6mZ5x06ER5DdPG/tXWMVHjTNULF5uKPOUUD0SaXg5QaubJL0A==" 1781 "integrity": "sha512-mwLDojZkbmpizSJSmp690oa9FB9jig18SIDGZeBCvFc2/LYSRvMm/WwWtMBJuJ1MfFh7rZXfQige4Uje5Z9NzA=="
1782 }, 1782 },
1783 "vscode-languageclient": { 1783 "vscode-languageclient": {
1784 "version": "6.1.3", 1784 "version": "7.0.0-next.1",
1785 "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-6.1.3.tgz", 1785 "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0-next.1.tgz",
1786 "integrity": "sha512-YciJxk08iU5LmWu7j5dUt9/1OLjokKET6rME3cI4BRpiF6HZlusm2ZwPt0MYJ0lV5y43sZsQHhyon2xBg4ZJVA==", 1786 "integrity": "sha512-JrjCUhLpQZxQ5VpWpilOHDMhVsn0fdN5jBh1uFNhSr5c2loJvRdr9Km2EuSQOFfOQsBKx0+xvY8PbsypNEcJ6w==",
1787 "requires": { 1787 "requires": {
1788 "semver": "^6.3.0", 1788 "semver": "^6.3.0",
1789 "vscode-languageserver-protocol": "^3.15.3" 1789 "vscode-languageserver-protocol": "3.16.0-next.2"
1790 } 1790 }
1791 }, 1791 },
1792 "vscode-languageserver-protocol": { 1792 "vscode-languageserver-protocol": {
1793 "version": "3.15.3", 1793 "version": "3.16.0-next.2",
1794 "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.3.tgz", 1794 "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0-next.2.tgz",
1795 "integrity": "sha512-zrMuwHOAQRhjDSnflWdJG+O2ztMWss8GqUUB8dXLR/FPenwkiBNkMIJJYfSN6sgskvsF0rHAoBowNQfbyZnnvw==", 1795 "integrity": "sha512-atmkGT/W6tF0cx4SaWFYtFs2UeSeC28RPiap9myv2YZTaTCFvTBEPNWrU5QRKfkyM0tbgtGo6T3UCQ8tkDpjzA==",
1796 "requires": { 1796 "requires": {
1797 "vscode-jsonrpc": "^5.0.1", 1797 "vscode-jsonrpc": "5.1.0-next.1",
1798 "vscode-languageserver-types": "3.15.1" 1798 "vscode-languageserver-types": "3.16.0-next.1"
1799 } 1799 }
1800 }, 1800 },
1801 "vscode-languageserver-types": { 1801 "vscode-languageserver-types": {
1802 "version": "3.15.1", 1802 "version": "3.16.0-next.1",
1803 "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", 1803 "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.1.tgz",
1804 "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==" 1804 "integrity": "sha512-tZFUSbyjUcrh+qQf13ALX4QDdOfDX0cVaBFgy7ktJ0VwS7AW/yRKgGPSxVqqP9OCMNPdqP57O5q47w2pEwfaUg=="
1805 }, 1805 },
1806 "which": { 1806 "which": {
1807 "version": "1.3.1", 1807 "version": "1.3.1",
diff --git a/editors/code/package.json b/editors/code/package.json
index 0bf7b6ae6..5ce59e54a 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -34,14 +34,14 @@
34 "dependencies": { 34 "dependencies": {
35 "jsonc-parser": "^2.2.1", 35 "jsonc-parser": "^2.2.1",
36 "node-fetch": "^2.6.0", 36 "node-fetch": "^2.6.0",
37 "vscode-languageclient": "6.1.3" 37 "vscode-languageclient": "7.0.0-next.1"
38 }, 38 },
39 "devDependencies": { 39 "devDependencies": {
40 "@rollup/plugin-commonjs": "^11.0.2", 40 "@rollup/plugin-commonjs": "^11.0.2",
41 "@rollup/plugin-node-resolve": "^7.1.1", 41 "@rollup/plugin-node-resolve": "^7.1.1",
42 "@types/node": "^12.12.34", 42 "@types/node": "^12.12.34",
43 "@types/node-fetch": "^2.5.5", 43 "@types/node-fetch": "^2.5.5",
44 "@types/vscode": "^1.43.0", 44 "@types/vscode": "^1.44.0",
45 "@typescript-eslint/eslint-plugin": "^2.27.0", 45 "@typescript-eslint/eslint-plugin": "^2.27.0",
46 "@typescript-eslint/parser": "^2.27.0", 46 "@typescript-eslint/parser": "^2.27.0",
47 "eslint": "^6.8.0", 47 "eslint": "^6.8.0",
@@ -154,7 +154,7 @@
154 "keybindings": [ 154 "keybindings": [
155 { 155 {
156 "command": "rust-analyzer.parentModule", 156 "command": "rust-analyzer.parentModule",
157 "key": "ctrl+u", 157 "key": "ctrl+shift+u",
158 "when": "editorTextFocus && editorLangId == rust" 158 "when": "editorTextFocus && editorLangId == rust"
159 }, 159 },
160 { 160 {
@@ -388,6 +388,11 @@
388 "description": "Enable logging of VS Code extensions itself", 388 "description": "Enable logging of VS Code extensions itself",
389 "type": "boolean", 389 "type": "boolean",
390 "default": false 390 "default": false
391 },
392 "rust-analyzer.procMacro.enabled": {
393 "description": "Enable Proc macro support, cargo.loadOutDirsFromCheck must be enabled.",
394 "type": "boolean",
395 "default": false
391 } 396 }
392 } 397 }
393 }, 398 },
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts
index 35a05131c..3b2eec8ba 100644
--- a/editors/code/src/config.ts
+++ b/editors/code/src/config.ts
@@ -12,6 +12,7 @@ export class Config {
12 private readonly requiresReloadOpts = [ 12 private readonly requiresReloadOpts = [
13 "serverPath", 13 "serverPath",
14 "cargo", 14 "cargo",
15 "procMacro",
15 "files", 16 "files",
16 "highlighting", 17 "highlighting",
17 "updates.channel", 18 "updates.channel",
diff --git a/editors/code/src/inlay_hints.ts b/editors/code/src/inlay_hints.ts
index da74f03d2..a09531797 100644
--- a/editors/code/src/inlay_hints.ts
+++ b/editors/code/src/inlay_hints.ts
@@ -3,13 +3,13 @@ import * as vscode from 'vscode';
3import * as ra from './rust-analyzer-api'; 3import * as ra from './rust-analyzer-api';
4 4
5import { Ctx, Disposable } from './ctx'; 5import { Ctx, Disposable } from './ctx';
6import { sendRequestWithRetry, isRustDocument, RustDocument, RustEditor } from './util'; 6import { sendRequestWithRetry, isRustDocument, RustDocument, RustEditor, sleep } from './util';
7 7
8 8
9export function activateInlayHints(ctx: Ctx) { 9export function activateInlayHints(ctx: Ctx) {
10 const maybeUpdater = { 10 const maybeUpdater = {
11 updater: null as null | HintsUpdater, 11 updater: null as null | HintsUpdater,
12 onConfigChange() { 12 async onConfigChange() {
13 if ( 13 if (
14 !ctx.config.inlayHints.typeHints && 14 !ctx.config.inlayHints.typeHints &&
15 !ctx.config.inlayHints.parameterHints && 15 !ctx.config.inlayHints.parameterHints &&
@@ -17,6 +17,7 @@ export function activateInlayHints(ctx: Ctx) {
17 ) { 17 ) {
18 return this.dispose(); 18 return this.dispose();
19 } 19 }
20 await sleep(100);
20 if (this.updater) { 21 if (this.updater) {
21 this.updater.syncCacheAndRenderHints(); 22 this.updater.syncCacheAndRenderHints();
22 } else { 23 } else {