mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-30 13:51:31 +00:00
Start new ctx module
This commit is contained in:
parent
9cad88dd95
commit
e53ccb6e99
4 changed files with 63 additions and 20 deletions
|
@ -1,19 +1,19 @@
|
|||
import * as vscode from 'vscode';
|
||||
import { Server } from '../server';
|
||||
import { Ctx } from '../ctx';
|
||||
// Shows status of rust-analyzer (for debugging)
|
||||
|
||||
export function makeCommand(context: vscode.ExtensionContext) {
|
||||
export function analyzerStatus(ctx: Ctx) {
|
||||
let poller: NodeJS.Timer | null = null;
|
||||
const tdcp = new TextDocumentContentProvider();
|
||||
const tdcp = new TextDocumentContentProvider(ctx);
|
||||
|
||||
context.subscriptions.push(
|
||||
ctx.pushCleanup(
|
||||
vscode.workspace.registerTextDocumentContentProvider(
|
||||
'rust-analyzer-status',
|
||||
tdcp,
|
||||
),
|
||||
);
|
||||
|
||||
context.subscriptions.push({
|
||||
ctx.pushCleanup({
|
||||
dispose() {
|
||||
if (poller != null) {
|
||||
clearInterval(poller);
|
||||
|
@ -39,9 +39,16 @@ export function makeCommand(context: vscode.ExtensionContext) {
|
|||
|
||||
class TextDocumentContentProvider
|
||||
implements vscode.TextDocumentContentProvider {
|
||||
|
||||
uri = vscode.Uri.parse('rust-analyzer-status://status');
|
||||
eventEmitter = new vscode.EventEmitter<vscode.Uri>();
|
||||
|
||||
ctx: Ctx
|
||||
|
||||
constructor(ctx: Ctx) {
|
||||
this.ctx = ctx
|
||||
}
|
||||
|
||||
provideTextDocumentContent(
|
||||
_uri: vscode.Uri,
|
||||
): vscode.ProviderResult<string> {
|
||||
|
@ -49,7 +56,7 @@ class TextDocumentContentProvider
|
|||
if (editor == null) {
|
||||
return '';
|
||||
}
|
||||
return Server.client.sendRequest<string>(
|
||||
return this.ctx.client.sendRequest<string>(
|
||||
'rust-analyzer/analyzerStatus',
|
||||
null,
|
||||
);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import * as analyzerStatus from './analyzer_status';
|
||||
import { analyzerStatus } from './analyzer_status';
|
||||
import * as applySourceChange from './apply_source_change';
|
||||
import * as expandMacro from './expand_macro';
|
||||
import * as inlayHints from './inlay_hints';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue