diff --git a/src/extension.ts b/src/extension.ts index 8f70f5fc2f01e7ab710a91d46e72b57f292ada54..9429c41ae405b98211d49dd9899ce3167dce8261 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -15,8 +15,7 @@ commands, Selection, Position, /* -------------------------------------------------------------------------------------------- - window as Window, - TextEditorRevealType + if (uri.charAt(uri.length - 1) !== '/') { } from 'vscode' import { @@ -78,13 +77,41 @@ let outputChannel: OutputChannel = Window.createOutputChannel( 'lsp-multi-server-example' ) + let files = await Workspace.findFiles(CONFIG_GLOB, '**/node_modules/**', 1) + + if (!files.length) return + + let configPath = files[0].fsPath + delete require.cache[configPath] + + let refresh = createTreeView(configPath) + commands.registerCommand('tailwindcss.goToDefinition', () => { + // refresh() + // Window.showInformationMessage('Hello World!') + Workspace.openTextDocument(files[0]).then((doc: TextDocument) => { + Window.showTextDocument(doc).then((editor: TextEditor) => { + let start = new Position(0, 0) +/* -------------------------------------------------------------------------------------------- async function didOpenTextDocument(document: TextDocument): Promise { +/* -------------------------------------------------------------------------------------------- // if ( +/* -------------------------------------------------------------------------------------------- // document.uri.scheme !== 'file' || + }) +/* -------------------------------------------------------------------------------------------- // LANGUAGES.indexOf(document.languageId) === -1 + }) + +/* -------------------------------------------------------------------------------------------- // ) { +/* -------------------------------------------------------------------------------------------- // return +/* -------------------------------------------------------------------------------------------- // } + LANGUAGES.indexOf(document.languageId) === -1 + ) { + return + } let uri = document.uri let folder = Workspace.getWorkspaceFolder(uri) @@ -93,18 +120,10 @@ // Single file languages like JSON might handle files outside the workspace folders. if (!folder) { return } - // If we have nested workspace folders we only start a server on the outer most workspace folder. folder = getOuterMostWorkspaceFolder(folder) if (!clients.has(folder.uri.toString())) { - let files = await Workspace.findFiles( - CONFIG_GLOB, - '**/node_modules/**', - 1 - ) - if (!files.length) return - let debugOptions = { execArgv: ['--nolazy', `--inspect=${6011 + clients.size}`] } @@ -128,32 +147,6 @@ 'LSP Multi Server Example', serverOptions, clientOptions ) - - client.onReady().then(() => { - client.onNotification('tailwindcss/foundConfig', configPath => { - let refresh = createTreeView(configPath) - }) - client.onNotification( - 'tailwindcss/foundDefinition', - (configPath, pos) => { - Workspace.openTextDocument(configPath).then((doc: TextDocument) => { - Window.showTextDocument(doc).then((editor: TextEditor) => { - let start = new Position(pos[0], pos[1]) - let end = new Position(pos[2], pos[3]) - editor.revealRange( - new Range(start, end), - TextEditorRevealType.InCenter - ) - editor.selection = new Selection(start, end) - }) - }) - } - ) - commands.registerCommand('tailwindcss.goToDefinition', key => { - client.sendNotification('tailwindcss/findDefinition', [key]) - }) - }) - // client.onReady().then(() => { // client.onNotification('tailwind/loaded', () => { // console.log('loaded') diff --git a/src/treeView.ts b/src/treeView.ts index 13038fc2ee5b2458e598c80a8f6a97ceaa1e1e58..6931c6cad12fd3fbc3a609dd3655e26d57d52cf4 100644 --- a/src/treeView.ts +++ b/src/treeView.ts @@ -104,10 +104,8 @@ ? TreeItemCollapsibleState.Collapsed : TreeItemCollapsibleState.None, isObj ? undefined : configValueToString(item[key]), undefined, +import { EventEmitter -} from 'vscode' - ? undefined -} from 'vscode' window as Window, ) let color = getSvgColorFromValue(item[key]) @@ -151,9 +149,7 @@ ICONS[key] ) : undefined, import { - borderColors: 'palette.svg', - ? undefined - : { ...command, arguments: [[key]] } + let child = new ConfigItem( ) ) }