All files / languages/triplate triplate-token-provider.ts

0% Statements 0/6
100% Branches 0/0
0% Functions 0/2
0% Lines 0/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                                             
import * as vscode from 'vscode';
import { container } from 'tsyringe';
import { TRIPLATE_LANGUAGE_IDS } from "@src/services/document/document-languages";
import { TriplateCodeLensProvider } from "./providers/triplate-code-lens-provider";
import { TriplateHoverProvider } from "./providers/triplate-hover-provider";
import { TriplateDiagnosticProvider } from './providers/triplate-diagnostic-provider';
import { ServiceToken } from '@src/services/tokens';
 
export class TriplateTokenProvider {
	constructor() {
		const hoverProvider = new TriplateHoverProvider();
		const codeLensProvider = new TriplateCodeLensProvider();
		const selectors = Array.from(TRIPLATE_LANGUAGE_IDS).map(language => ({ language }));
 
		// Self-register with the extension context for automatic disposal
		const context = container.resolve<vscode.ExtensionContext>(ServiceToken.ExtensionContext);
		context.subscriptions.push(
			vscode.languages.registerHoverProvider(selectors, hoverProvider),
			vscode.languages.registerCodeLensProvider(selectors, codeLensProvider),
			new TriplateDiagnosticProvider()
		);
	}
}