mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 11:31:15 +00:00
Code: use different schemes for the custom views
This commit is contained in:
parent
fee5555cfa
commit
ad5a8514a0
@ -336,7 +336,7 @@ export function toggleInlayHints(_ctx: Ctx): Cmd {
|
|||||||
// The contents of the file come from the `TextDocumentContentProvider`
|
// The contents of the file come from the `TextDocumentContentProvider`
|
||||||
export function syntaxTree(ctx: Ctx): Cmd {
|
export function syntaxTree(ctx: Ctx): Cmd {
|
||||||
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
||||||
readonly uri = vscode.Uri.parse("rust-analyzer://syntaxtree/tree.rast");
|
readonly uri = vscode.Uri.parse("rust-analyzer-syntax-tree://syntaxtree/tree.rast");
|
||||||
readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
||||||
constructor() {
|
constructor() {
|
||||||
vscode.workspace.onDidChangeTextDocument(
|
vscode.workspace.onDidChangeTextDocument(
|
||||||
@ -388,7 +388,9 @@ export function syntaxTree(ctx: Ctx): Cmd {
|
|||||||
|
|
||||||
void new AstInspector(ctx);
|
void new AstInspector(ctx);
|
||||||
|
|
||||||
ctx.pushCleanup(vscode.workspace.registerTextDocumentContentProvider("rust-analyzer", tdcp));
|
ctx.pushCleanup(
|
||||||
|
vscode.workspace.registerTextDocumentContentProvider("rust-analyzer-syntax-tree", tdcp)
|
||||||
|
);
|
||||||
ctx.pushCleanup(
|
ctx.pushCleanup(
|
||||||
vscode.languages.setLanguageConfiguration("ra_syntax_tree", {
|
vscode.languages.setLanguageConfiguration("ra_syntax_tree", {
|
||||||
brackets: [["[", ")"]],
|
brackets: [["[", ")"]],
|
||||||
@ -417,7 +419,7 @@ export function syntaxTree(ctx: Ctx): Cmd {
|
|||||||
// The contents of the file come from the `TextDocumentContentProvider`
|
// The contents of the file come from the `TextDocumentContentProvider`
|
||||||
export function viewHir(ctx: Ctx): Cmd {
|
export function viewHir(ctx: Ctx): Cmd {
|
||||||
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
||||||
readonly uri = vscode.Uri.parse("rust-analyzer://viewHir/hir.txt");
|
readonly uri = vscode.Uri.parse("rust-analyzer-hir://viewHir/hir.txt");
|
||||||
readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
||||||
constructor() {
|
constructor() {
|
||||||
vscode.workspace.onDidChangeTextDocument(
|
vscode.workspace.onDidChangeTextDocument(
|
||||||
@ -467,7 +469,9 @@ export function viewHir(ctx: Ctx): Cmd {
|
|||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
ctx.pushCleanup(vscode.workspace.registerTextDocumentContentProvider("rust-analyzer", tdcp));
|
ctx.pushCleanup(
|
||||||
|
vscode.workspace.registerTextDocumentContentProvider("rust-analyzer-hir", tdcp)
|
||||||
|
);
|
||||||
|
|
||||||
return async () => {
|
return async () => {
|
||||||
const document = await vscode.workspace.openTextDocument(tdcp.uri);
|
const document = await vscode.workspace.openTextDocument(tdcp.uri);
|
||||||
@ -481,7 +485,7 @@ export function viewHir(ctx: Ctx): Cmd {
|
|||||||
|
|
||||||
export function viewFileText(ctx: Ctx): Cmd {
|
export function viewFileText(ctx: Ctx): Cmd {
|
||||||
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
||||||
readonly uri = vscode.Uri.parse("rust-analyzer://viewFileText/file.rs");
|
readonly uri = vscode.Uri.parse("rust-analyzer-file-text://viewFileText/file.rs");
|
||||||
readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
||||||
constructor() {
|
constructor() {
|
||||||
vscode.workspace.onDidChangeTextDocument(
|
vscode.workspace.onDidChangeTextDocument(
|
||||||
@ -528,7 +532,9 @@ export function viewFileText(ctx: Ctx): Cmd {
|
|||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
ctx.pushCleanup(vscode.workspace.registerTextDocumentContentProvider("rust-analyzer", tdcp));
|
ctx.pushCleanup(
|
||||||
|
vscode.workspace.registerTextDocumentContentProvider("rust-analyzer-file-text", tdcp)
|
||||||
|
);
|
||||||
|
|
||||||
return async () => {
|
return async () => {
|
||||||
const document = await vscode.workspace.openTextDocument(tdcp.uri);
|
const document = await vscode.workspace.openTextDocument(tdcp.uri);
|
||||||
@ -542,7 +548,7 @@ export function viewFileText(ctx: Ctx): Cmd {
|
|||||||
|
|
||||||
export function viewItemTree(ctx: Ctx): Cmd {
|
export function viewItemTree(ctx: Ctx): Cmd {
|
||||||
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
||||||
readonly uri = vscode.Uri.parse("rust-analyzer://viewItemTree/itemtree.rs");
|
readonly uri = vscode.Uri.parse("rust-analyzer-item-tree://viewItemTree/itemtree.rs");
|
||||||
readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
||||||
constructor() {
|
constructor() {
|
||||||
vscode.workspace.onDidChangeTextDocument(
|
vscode.workspace.onDidChangeTextDocument(
|
||||||
@ -591,7 +597,9 @@ export function viewItemTree(ctx: Ctx): Cmd {
|
|||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
ctx.pushCleanup(vscode.workspace.registerTextDocumentContentProvider("rust-analyzer", tdcp));
|
ctx.pushCleanup(
|
||||||
|
vscode.workspace.registerTextDocumentContentProvider("rust-analyzer-item-tree", tdcp)
|
||||||
|
);
|
||||||
|
|
||||||
return async () => {
|
return async () => {
|
||||||
const document = await vscode.workspace.openTextDocument(tdcp.uri);
|
const document = await vscode.workspace.openTextDocument(tdcp.uri);
|
||||||
@ -688,7 +696,7 @@ export function expandMacro(ctx: Ctx): Cmd {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
const tdcp = new (class implements vscode.TextDocumentContentProvider {
|
||||||
uri = vscode.Uri.parse("rust-analyzer://expandMacro/[EXPANSION].rs");
|
uri = vscode.Uri.parse("rust-analyzer-expand-macro://expandMacro/[EXPANSION].rs");
|
||||||
eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
||||||
async provideTextDocumentContent(_uri: vscode.Uri): Promise<string> {
|
async provideTextDocumentContent(_uri: vscode.Uri): Promise<string> {
|
||||||
const editor = vscode.window.activeTextEditor;
|
const editor = vscode.window.activeTextEditor;
|
||||||
@ -714,7 +722,9 @@ export function expandMacro(ctx: Ctx): Cmd {
|
|||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
ctx.pushCleanup(vscode.workspace.registerTextDocumentContentProvider("rust-analyzer", tdcp));
|
ctx.pushCleanup(
|
||||||
|
vscode.workspace.registerTextDocumentContentProvider("rust-analyzer-expand-macro", tdcp)
|
||||||
|
);
|
||||||
|
|
||||||
return async () => {
|
return async () => {
|
||||||
const document = await vscode.workspace.openTextDocument(tdcp.uri);
|
const document = await vscode.workspace.openTextDocument(tdcp.uri);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user