fish-lsp
Version:
LSP implementation for fish/fish-shell
29 lines (22 loc) • 597 B
text/typescript
import { resolve } from 'path';
import Parser from 'web-tree-sitter';
const _global: any = global;
export async function initializeParser(): Promise<Parser> {
if (_global.fetch) {
delete _global.fetch;
}
await Parser.init();
const parser = new Parser();
const fishLangPath = getLanguageWasmPath();
const lang = await Parser.Language.load(fishLangPath);
parser.setLanguage(lang);
return parser;
}
export function getLanguageWasmPath(): string {
const fishLangPath = resolve(
__dirname,
'..',
'tree-sitter-fish.wasm',
);
return fishLangPath.toString();
}