Skip to content

Commit

Permalink
add ignoreDirectoryNames for ls
Browse files Browse the repository at this point in the history
  • Loading branch information
dbanck committed Nov 4, 2021
1 parent e3ee26f commit 699162a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
9 changes: 9 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,15 @@
"default": [],
"description": "Per-workspace list of module directories for the language server to exclude"
},
"terraform-ls.ignoreDirectoryNames": {
"scope": "resource",
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "Per-workspace list of directory names for the language server to ignore when indexing files"
},
"terraform-ls.experimentalFeatures": {
"scope": "resource",
"type": "object",
Expand Down
6 changes: 6 additions & 0 deletions src/clientHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ export class ClientHandler {
let terraformExecTimeout: string;
let terraformLogFilePath: string;
let excludeModulePaths: string[];
let ignoreDirectoryNames: string[];
let documentSelector: DocumentSelector;
let outputChannel: vscode.OutputChannel;
if (location) {
Expand All @@ -127,6 +128,7 @@ export class ClientHandler {
terraformLogFilePath = config('terraform-ls', wsFolder).get('terraformLogFilePath');
rootModulePaths = config('terraform-ls', wsFolder).get('rootModules');
excludeModulePaths = config('terraform-ls', wsFolder).get('excludeRootModules');
ignoreDirectoryNames = config('terraform-ls', wsFolder).get('ignoreDirectoryNames');
outputChannel = vscode.window.createOutputChannel(channelName);
outputChannel.appendLine(`Launching language server: ${cmd} ${serverArgs.join(' ')} for folder: ${location}`);
} else {
Expand All @@ -139,6 +141,7 @@ export class ClientHandler {
terraformLogFilePath = config('terraform-ls').get('terraformLogFilePath');
rootModulePaths = config('terraform-ls').get('rootModules');
excludeModulePaths = config('terraform-ls').get('excludeRootModules');
ignoreDirectoryNames = config('terraform-ls').get('ignoreDirectoryNames');
outputChannel = vscode.window.createOutputChannel(channelName);
outputChannel.appendLine(`Launching language server: ${cmd} ${serverArgs.join(' ')}`);
}
Expand Down Expand Up @@ -166,6 +169,9 @@ export class ClientHandler {
if (excludeModulePaths.length > 0) {
initializationOptions = Object.assign(initializationOptions, { excludeModulePaths });
}
if (ignoreDirectoryNames.length > 0) {
initializationOptions = Object.assign(initializationOptions, { ignoreDirectoryNames });
}

const executable: Executable = {
command: cmd,
Expand Down

0 comments on commit 699162a

Please sign in to comment.