|
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = require("tslib");
- var coc_nvim_1 = require("coc.nvim");
- function activate(context) {
- return tslib_1.__awaiter(this, void 0, void 0, function () {
- var config, isEnable, serverModule, serverOptions, isEnableDebug, nvim, vimruntime, runtimepath, iskeyword, isEnableDiagnostic, fromVimruntime, fromRuntimepath, indexesRuntimepath, indexesCount, indexesGap, clientOptions, client;
- return tslib_1.__generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- config = coc_nvim_1.workspace.getConfiguration('vimlsp');
- isEnable = config.get('enable', true);
- // extension is disable
- if (!isEnable) {
- return [2 /*return*/];
- }
- serverModule = require.resolve('vim-language-server');
- serverOptions = {
- run: {
- module: serverModule,
- transport: coc_nvim_1.TransportKind.ipc
- },
- debug: {
- module: serverModule,
- transport: coc_nvim_1.TransportKind.ipc
- }
- };
- isEnableDebug = config.get('debug', false);
- // The debug options for the server
- if (isEnableDebug) {
- serverOptions.debug.options = {
- execArgv: [
- "--nolazy",
- "--debug=6009"
- ]
- };
- }
- nvim = coc_nvim_1.workspace.nvim;
- return [4 /*yield*/, nvim.commandOutput('echo $VIMRUNTIME')];
- case 1:
- vimruntime = _a.sent();
- return [4 /*yield*/, nvim.getOption('runtimepath')];
- case 2:
- runtimepath = _a.sent();
- return [4 /*yield*/, nvim.getOption('iskeyword')];
- case 3:
- iskeyword = _a.sent();
- isEnableDiagnostic = config.get('diagnostic.enable', true);
- fromVimruntime = config.get('suggest.fromVimruntime', true);
- fromRuntimepath = config.get('suggest.fromRuntimepath', false);
- indexesRuntimepath = config.get('indexes.runtimepath', true);
- indexesCount = config.get('indexes.count', 1);
- indexesGap = config.get('indexes.gap', 100);
- clientOptions = {
- documentSelector: ['vim'],
- initializationOptions: {
- iskeyword: iskeyword,
- vimruntime: vimruntime,
- runtimepath: runtimepath,
- diagnostic: {
- enable: isEnableDiagnostic
- },
- indexes: {
- runtimepath: indexesRuntimepath,
- count: indexesCount,
- gap: indexesGap
- },
- suggest: {
- fromVimruntime: fromVimruntime,
- fromRuntimepath: fromRuntimepath
- }
- }
- };
- client = new coc_nvim_1.LanguageClient('vimlsp', 'vim language server', serverOptions, clientOptions);
- // Push the disposable to the context's subscriptions so that the
- // client can be deactivated on extension deactivation
- context.subscriptions.push(coc_nvim_1.services.registLanguageClient(client));
- return [2 /*return*/];
- }
- });
- });
- }
- exports.activate = activate;
- //# sourceMappingURL=index.js.map
|