Skip to content

Commit 80dcef9

Browse files
authored
Fix an issue when disabling completion (#362)
1 parent 853a7e3 commit 80dcef9

File tree

3 files changed

+33
-31
lines changed

3 files changed

+33
-31
lines changed

package.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,6 @@
100100
"type": "object",
101101
"title": "CloudFormation Linter configuration",
102102
"properties": {
103-
"cfnLint.enableAutocomplete": {
104-
"type": "boolean",
105-
"default": true,
106-
"description": "Enable Autocomplete on YAML templates"
107-
},
108103
"cfnLint.validateUsingJsonSchema": {
109104
"type": "boolean",
110105
"default": false,

server/src/server/handlers/languageHandlers.ts

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -118,39 +118,41 @@ export class LanguageHandlers extends YamlLanguageHandlers {
118118
});
119119
}
120120

121-
try {
122-
if (node !== null && template !== null) {
123-
if (isNode(node.internalNode)) {
124-
if (node.internalNode.tag === undefined) {
125-
if (node.parent !== undefined) {
126-
if (isPair(node.parent.internalNode)) {
127-
if (isScalar(node.parent.internalNode.key)) {
128-
if (node.parent.internalNode.key.value === "Ref") {
129-
addResources("");
130-
addParameters("");
121+
if (this.cfnSettings.yamlShouldCompletion) {
122+
try {
123+
if (node !== null && template !== null) {
124+
if (isNode(node.internalNode)) {
125+
if (node.internalNode.tag === undefined) {
126+
if (node.parent !== undefined) {
127+
if (isPair(node.parent.internalNode)) {
128+
if (isScalar(node.parent.internalNode.key)) {
129+
if (node.parent.internalNode.key.value === "Ref") {
130+
addResources("");
131+
addParameters("");
132+
}
131133
}
132134
}
133135
}
134-
}
135-
} else if (node.internalNode.tag !== undefined) {
136-
if (node.internalNode.tag === "!Ref") {
137-
results.items = results.items.filter(
138-
(item) => item.insertText !== "!Ref "
139-
);
140-
addResources("");
141-
addParameters("");
142-
} else if ("!Ref".startsWith(node.internalNode.tag)) {
143-
results.items = results.items.filter(
144-
(item) => item.insertText !== "!Ref "
145-
);
146-
addResources("!Ref ");
147-
addParameters("!Ref ");
136+
} else if (node.internalNode.tag !== undefined) {
137+
if (node.internalNode.tag === "!Ref") {
138+
results.items = results.items.filter(
139+
(item) => item.insertText !== "!Ref "
140+
);
141+
addResources("");
142+
addParameters("");
143+
} else if ("!Ref".startsWith(node.internalNode.tag)) {
144+
results.items = results.items.filter(
145+
(item) => item.insertText !== "!Ref "
146+
);
147+
addResources("!Ref ");
148+
addParameters("!Ref ");
149+
}
148150
}
149151
}
150152
}
153+
} catch (error) {
154+
console.debug(error);
151155
}
152-
} catch (error) {
153-
console.debug(error);
154156
}
155157

156158
return results;

server/src/server/handlers/settingsHandler.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@ export class SettingsHandler {
133133
.overrideSpecPath
134134
? settings.cfnLint.overrideSpecPath
135135
: "";
136+
if (
137+
Object.prototype.hasOwnProperty.call(settings.cfnLint, "completion")
138+
) {
139+
this.cfnSettings.yamlShouldCompletion = settings.cfnLint.completion;
140+
}
136141
}
137142

138143
this.updateConfiguration();

0 commit comments

Comments
 (0)