align command naming

This commit is contained in:
Aleksey Kladov 2019-01-28 14:43:07 +03:00
parent 7abe1f422c
commit d1a67c1174
18 changed files with 94 additions and 77 deletions

View file

@ -125,13 +125,13 @@ and trait selection) to the existing rustc.
- [x] [textDocument/documentHighlight](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentHighlight)
- [x] [textDocument/documentSymbol](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentSymbol)
- [x] [textDocument/codeAction](https://microsoft.github.io/language-server-protocol/specification#textDocument_codeAction)
- ra_lsp.syntaxTree
- ra_lsp.extendSelection
- ra_lsp.matchingBrace
- ra_lsp.parentModule
- ra_lsp.joinLines
- ra_lsp.run
- ra_lsp.analyzerStatus
- rust-analyzer.syntaxTree
- rust-analyzer.extendSelection
- rust-analyzer.matchingBrace
- rust-analyzer.parentModule
- rust-analyzer.joinLines
- rust-analyzer.run
- rust-analyzer.analyzerStatus
- [x] [textDocument/codeLens](https://microsoft.github.io/language-server-protocol/specification#textDocument_codeLens)
- [ ] [textDocument/documentLink](https://microsoft.github.io/language-server-protocol/specification#codeLens_resolve)
- [ ] [documentLink/resolve](https://microsoft.github.io/language-server-protocol/specification#documentLink_resolve)

View file

@ -581,7 +581,7 @@ pub fn handle_code_action(
let edit = source_edit.try_conv_with(&world)?;
let cmd = Command {
title,
command: "ra-lsp.applySourceChange".to_string(),
command: "rust-analyzer.applySourceChange".to_string(),
arguments: Some(vec![to_value(edit).unwrap()]),
};
res.push(cmd);
@ -623,7 +623,7 @@ pub fn handle_code_lens(
range,
command: Some(Command {
title: title.into(),
command: "ra-lsp.run-single".into(),
command: "rust-analyzer.runSingle".into(),
arguments: Some(vec![to_value(r).unwrap()]),
}),
data: None,

View file

@ -16,7 +16,7 @@ pub enum AnalyzerStatus {}
impl Request for AnalyzerStatus {
type Params = ();
type Result = String;
const METHOD: &'static str = "ra/analyzerStatus";
const METHOD: &'static str = "rust-analyzer/analyzerStatus";
}
pub enum CollectGarbage {}
@ -24,7 +24,7 @@ pub enum CollectGarbage {}
impl Request for CollectGarbage {
type Params = ();
type Result = ();
const METHOD: &'static str = "ra/collectGarbage";
const METHOD: &'static str = "rust-analyzer/collectGarbage";
}
pub enum SyntaxTree {}
@ -32,7 +32,7 @@ pub enum SyntaxTree {}
impl Request for SyntaxTree {
type Params = SyntaxTreeParams;
type Result = String;
const METHOD: &'static str = "m/syntaxTree";
const METHOD: &'static str = "rust-analyzer/syntaxTree";
}
#[derive(Deserialize, Debug)]
@ -46,7 +46,7 @@ pub enum ExtendSelection {}
impl Request for ExtendSelection {
type Params = ExtendSelectionParams;
type Result = ExtendSelectionResult;
const METHOD: &'static str = "m/extendSelection";
const METHOD: &'static str = "rust-analyzer/extendSelection";
}
#[derive(Deserialize, Debug)]
@ -67,7 +67,7 @@ pub enum FindMatchingBrace {}
impl Request for FindMatchingBrace {
type Params = FindMatchingBraceParams;
type Result = Vec<Position>;
const METHOD: &'static str = "m/findMatchingBrace";
const METHOD: &'static str = "rust-analyzer/findMatchingBrace";
}
#[derive(Deserialize, Debug)]
@ -82,14 +82,14 @@ pub enum DecorationsRequest {}
impl Request for DecorationsRequest {
type Params = TextDocumentIdentifier;
type Result = Vec<Decoration>;
const METHOD: &'static str = "m/decorationsRequest";
const METHOD: &'static str = "rust-analyzer/decorationsRequest";
}
pub enum PublishDecorations {}
impl Notification for PublishDecorations {
type Params = PublishDecorationsParams;
const METHOD: &'static str = "m/publishDecorations";
const METHOD: &'static str = "rust-analyzer/publishDecorations";
}
#[derive(Serialize, Debug)]
@ -112,7 +112,7 @@ pub enum ParentModule {}
impl Request for ParentModule {
type Params = TextDocumentPositionParams;
type Result = Vec<Location>;
const METHOD: &'static str = "m/parentModule";
const METHOD: &'static str = "rust-analyzer/parentModule";
}
pub enum JoinLines {}
@ -120,7 +120,7 @@ pub enum JoinLines {}
impl Request for JoinLines {
type Params = JoinLinesParams;
type Result = SourceChange;
const METHOD: &'static str = "m/joinLines";
const METHOD: &'static str = "rust-analyzer/joinLines";
}
#[derive(Deserialize, Debug)]
@ -135,7 +135,7 @@ pub enum OnEnter {}
impl Request for OnEnter {
type Params = TextDocumentPositionParams;
type Result = Option<SourceChange>;
const METHOD: &'static str = "m/onEnter";
const METHOD: &'static str = "rust-analyzer/onEnter";
}
pub enum Runnables {}
@ -143,7 +143,7 @@ pub enum Runnables {}
impl Request for Runnables {
type Params = RunnablesParams;
type Result = Vec<Runnable>;
const METHOD: &'static str = "m/runnables";
const METHOD: &'static str = "rust-analyzer/runnables";
}
#[derive(Serialize, Deserialize, Debug)]

View file

@ -246,7 +246,7 @@ fn main() {}
"label": "create module"
}
],
"command": "ra-lsp.applySourceChange",
"command": "rust-analyzer.applySourceChange",
"title": "create module"
}
]),

View file

@ -26,7 +26,7 @@ They are more experimental in nature and work only with VS Code.
### Syntax highlighting
It overrides built-in highlighting, and works only with a specific theme
(zenburn). `ra-lsp.highlightingOn` setting can be used to disable it.
(zenburn). `rust-analyzer.highlightingOn` setting can be used to disable it.
### Go to symbol in workspace <kbd>ctrl+t</kbd>

View file

@ -72,61 +72,61 @@
],
"commands": [
{
"command": "ra-lsp.syntaxTree",
"title": "Show Rust syntax tree"
"command": "rust-analyzer.syntaxTree",
"title": "rust-analyzer: syntax tree"
},
{
"command": "ra-lsp.extendSelection",
"title": "Rust Extend Selection"
"command": "rust-analyzer.extendSelection",
"title": "rust-analyzer: extend selection"
},
{
"command": "ra-lsp.matchingBrace",
"title": "Rust Matching Brace"
"command": "rust-analyzer.matchingBrace",
"title": "rust-analyzer: matching brace"
},
{
"command": "ra-lsp.parentModule",
"title": "Rust Parent Module"
"command": "rust-analyzer.parentModule",
"title": "rust-analyzer: parent module"
},
{
"command": "ra-lsp.joinLines",
"title": "Rust Join Lines"
"command": "rust-analyzer.joinLines",
"title": "rust-analyzer: join lines"
},
{
"command": "ra-lsp.run",
"title": "Rust Run"
"command": "rust-analyzer.run",
"title": "rust-analyzer: run"
},
{
"command": "ra-lsp.analyzerStatus",
"title": "Status of rust-analyzer (debug)"
"command": "rust-analyzer.analyzerStatus",
"title": "rust-analyzer: status"
},
{
"command": "ra-lsp.collectGarbage",
"title": "Run rust-analyzer's GC"
"command": "rust-analyzer.collectGarbage",
"title": "rust-analyzer: run gc"
}
],
"keybindings": [
{
"command": "ra-lsp.parentModule",
"command": "rust-analyzer.parentModule",
"key": "ctrl+u",
"when": "editorTextFocus && editorLangId == rust"
},
{
"command": "ra-lsp.matchingBrace",
"command": "rust-analyzer.matchingBrace",
"key": "ctrl+shift+m",
"when": "editorTextFocus && editorLangId == rust"
},
{
"command": "ra-lsp.extendSelection",
"command": "rust-analyzer.extendSelection",
"key": "shift+alt+right",
"when": "editorTextFocus && editorLangId == rust"
},
{
"command": "ra-lsp.joinLines",
"command": "rust-analyzer.joinLines",
"key": "ctrl+shift+j",
"when": "editorTextFocus && editorLangId == rust"
},
{
"command": "ra-lsp.run",
"command": "rust-analyzer.run",
"key": "ctrl+r",
"when": "editorTextFocus && editorLangId == rust"
}
@ -135,19 +135,19 @@
"type": "object",
"title": "Rust Analyzer",
"properties": {
"ra-lsp.highlightingOn": {
"rust-analyzer.highlightingOn": {
"type": "boolean",
"default": true,
"description": "Highlight Rust code (overrides built-in syntax highlighting)"
},
"ra-lsp.raLspServerPath": {
"rust-analyzer.raLspServerPath": {
"type": [
"string"
],
"default": "ra_lsp_server",
"description": "Path to ra_lsp_server executable"
},
"ra-lsp.trace.server": {
"rust-analyzer.trace.server": {
"type": "string",
"scope": "window",
"enum": [
@ -156,7 +156,7 @@
"verbose"
],
"default": "off",
"description": "Trace requests to the ra-lsp server"
"description": "Trace requests to the ra_lsp_server"
}
}
},

View file

@ -1,7 +1,7 @@
import * as vscode from 'vscode';
import { Server } from '../server';
const statusUri = vscode.Uri.parse('ra-lsp-status://status');
const statusUri = vscode.Uri.parse('rust-analyzer-status://status');
export class TextDocumentContentProvider
implements vscode.TextDocumentContentProvider {
@ -15,7 +15,10 @@ export class TextDocumentContentProvider
if (editor == null) {
return '';
}
return Server.client.sendRequest<string>('ra/analyzerStatus', null);
return Server.client.sendRequest<string>(
'rust-analyzer/analyzerStatus',
null
);
}
get onDidChange(): vscode.Event<vscode.Uri> {
@ -31,7 +34,7 @@ export function makeCommand(context: vscode.ExtensionContext) {
const textDocumentContentProvider = new TextDocumentContentProvider();
context.subscriptions.push(
vscode.workspace.registerTextDocumentContentProvider(
'ra-lsp-status',
'rust-analyzer-status',
textDocumentContentProvider
)
);

View file

@ -24,7 +24,7 @@ export async function handle() {
textDocument: { uri: editor.document.uri.toString() }
};
const response = await Server.client.sendRequest<ExtendSelectionResult>(
'm/extendSelection',
'rust-analyzer/extendSelection',
request
);
editor.selections = response.selections.map((range: Range) => {

View file

@ -22,7 +22,7 @@ export async function handle() {
textDocument: { uri: editor.document.uri.toString() }
};
const change = await Server.client.sendRequest<SourceChange>(
'm/joinLines',
'rust-analyzer/joinLines',
request
);
await applySourceChange(change);

View file

@ -20,7 +20,7 @@ export async function handle() {
})
};
const response = await Server.client.sendRequest<Position[]>(
'm/findMatchingBrace',
'rust-analyzer/findMatchingBrace',
request
);
editor.selections = editor.selections.map((sel, idx) => {

View file

@ -22,7 +22,7 @@ export async function handle(event: { text: string }): Promise<boolean> {
)
};
const change = await Server.client.sendRequest<undefined | SourceChange>(
'm/onEnter',
'rust-analyzer/onEnter',
request
);
if (!change) {

View file

@ -15,7 +15,7 @@ export async function handle() {
)
};
const response = await Server.client.sendRequest<lc.Location[]>(
'm/parentModule',
'rust-analyzer/parentModule',
request
);
const loc = response[0];

View file

@ -83,7 +83,7 @@ export async function handle() {
)
};
const runnables = await Server.client.sendRequest<Runnable[]>(
'm/runnables',
'rust-analyzer/runnables',
params
);
const items: RunnableQuickPick[] = [];

View file

@ -3,7 +3,7 @@ import { TextDocumentIdentifier } from 'vscode-languageclient';
import { Server } from '../server';
export const syntaxTreeUri = vscode.Uri.parse('ra-lsp://syntaxtree');
export const syntaxTreeUri = vscode.Uri.parse('rust-analyzer://syntaxtree');
export class TextDocumentContentProvider
implements vscode.TextDocumentContentProvider {
@ -21,7 +21,7 @@ export class TextDocumentContentProvider
textDocument: { uri: editor.document.uri.toString() }
};
return Server.client.sendRequest<SyntaxTreeResult>(
'm/syntaxTree',
'rust-analyzer/syntaxTree',
request
);
}

View file

@ -16,7 +16,7 @@ export class Config {
}
public userConfigChanged() {
const config = vscode.workspace.getConfiguration('ra-lsp');
const config = vscode.workspace.getConfiguration('rust-analyzer');
if (config.has('highlightingOn')) {
this.highlightingOn = config.get('highlightingOn') as boolean;
}

View file

@ -16,7 +16,7 @@ export async function handle(editor: TextEditor | undefined) {
uri: editor.document.uri.toString()
};
const decorations = await Server.client.sendRequest<Decoration[]>(
'm/decorationsRequest',
'rust-analyzer/decorationsRequest',
params
);
Server.highlighter.setHighlights(editor, decorations);

View file

@ -46,31 +46,41 @@ export function activate(context: vscode.ExtensionContext) {
// Commands are requests from vscode to the language server
registerCommand(
'ra-lsp.analyzerStatus',
'rust-analyzer.analyzerStatus',
commands.analyzerStatus.makeCommand(context)
);
registerCommand('ra-lsp.collectGarbage', () =>
Server.client.sendRequest<null>('ra/collectGarbage', null)
registerCommand('rust-analyzer.collectGarbage', () =>
Server.client.sendRequest<null>('rust-analyzer/collectGarbage', null)
);
registerCommand('ra-lsp.syntaxTree', commands.syntaxTree.handle);
registerCommand('ra-lsp.extendSelection', commands.extendSelection.handle);
registerCommand('ra-lsp.matchingBrace', commands.matchingBrace.handle);
registerCommand('ra-lsp.joinLines', commands.joinLines.handle);
registerCommand('ra-lsp.parentModule', commands.parentModule.handle);
registerCommand('ra-lsp.run', commands.runnables.handle);
registerCommand('rust-analyzer.syntaxTree', commands.syntaxTree.handle);
registerCommand(
'ra-lsp.applySourceChange',
'rust-analyzer.extendSelection',
commands.extendSelection.handle
);
registerCommand(
'rust-analyzer.matchingBrace',
commands.matchingBrace.handle
);
registerCommand('rust-analyzer.joinLines', commands.joinLines.handle);
registerCommand('rust-analyzer.parentModule', commands.parentModule.handle);
registerCommand('rust-analyzer.run', commands.runnables.handle);
// Unlike the above this does not send requests to the language server
registerCommand('rust-analyzer.runSingle', commands.runnables.handleSingle);
registerCommand(
'rust-analyzer.applySourceChange',
commands.applySourceChange.handle
);
overrideCommand('type', commands.onEnter.handle);
// Unlike the above this does not send requests to the language server
registerCommand('ra-lsp.run-single', commands.runnables.handleSingle);
// Notifications are events triggered by the language server
const allNotifications: Iterable<
[string, lc.GenericNotificationHandler]
> = [['m/publishDecorations', notifications.publishDecorations.handle]];
> = [
[
'rust-analyzer/publishDecorations',
notifications.publishDecorations.handle
]
];
// The events below are plain old javascript events, triggered and handled by vscode
vscode.window.onDidChangeActiveTextEditor(
@ -80,7 +90,7 @@ export function activate(context: vscode.ExtensionContext) {
const textDocumentContentProvider = new TextDocumentContentProvider();
disposeOnDeactivation(
vscode.workspace.registerTextDocumentContentProvider(
'ra-lsp',
'rust-analyzer',
textDocumentContentProvider
)
);

View file

@ -42,8 +42,12 @@ export class Server {
log: (messageOrDataObject: string | any, data?: string) => {
if (typeof messageOrDataObject === 'string') {
if (
messageOrDataObject.includes('m/publishDecorations') ||
messageOrDataObject.includes('m/decorationsRequest')
messageOrDataObject.includes(
'rust-analyzer/publishDecorations'
) ||
messageOrDataObject.includes(
'rust-analyzer/decorationsRequest'
)
) {
// Don't log publish decorations requests
} else {