smells-code-analyzer
Version:
CLI tool powered by LSP and tree-sitter for finding dead and smells code from your project
38 lines • 1.2 kB
JavaScript
import { JSONRPCEndpoint, LspClient } from 'ts-lsp-client';
import { pathToFileURL } from 'url';
import { spawn } from 'child_process';
export async function initLSP(config) {
const process = spawn(config.lspExecutable, config.lspArgs, {
shell: true,
stdio: 'pipe',
});
process.stderr.on('data', function (data) {
console.log('✎: [line 28][lsp.ts] data: ', data.toString());
});
const endpoint = new JSONRPCEndpoint(process.stdin, process.stdout);
const client = new LspClient(endpoint);
await client.initialize({
processId: process.pid,
capabilities: config.lspCapabilities,
clientInfo: {
name: config.lspName,
version: config.lspVersion,
},
workspaceFolders: [
{
name: 'workspace',
uri: pathToFileURL(config.projectRootPath).href,
},
],
rootUri: null,
initializationOptions: {
tsserver: {
logDirectory: '.log',
logVerbosity: 'verbose',
trace: 'verbose',
},
},
});
return client;
}
//# sourceMappingURL=lsp.js.map