aws-iam-language-server 0.0.29 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/lib/treesitter/yaml.js +14 -10
package/package.json
CHANGED
|
@@ -141,10 +141,13 @@ export class TreeYaml extends TreeBase {
|
|
|
141
141
|
}
|
|
142
142
|
return entries;
|
|
143
143
|
}
|
|
144
|
+
#getPairValueNode(pair) {
|
|
145
|
+
return pair.namedChildren.find((child, i) => i > 0 && child.type !== 'comment') ?? null;
|
|
146
|
+
}
|
|
144
147
|
#readPairStatementValues(pair) {
|
|
145
|
-
|
|
148
|
+
const valueNode = this.#getPairValueNode(pair);
|
|
149
|
+
if (!valueNode)
|
|
146
150
|
return [];
|
|
147
|
-
const valueNode = pair.namedChildren[1];
|
|
148
151
|
// Direct flow_node scalar
|
|
149
152
|
if (valueNode.type === 'flow_node') {
|
|
150
153
|
return this.#flowNodeToStatementValue(valueNode);
|
|
@@ -188,14 +191,15 @@ export class TreeYaml extends TreeBase {
|
|
|
188
191
|
return [{ text, range: nodeRange(flowNode) }];
|
|
189
192
|
}
|
|
190
193
|
#getPairValueRange(pair) {
|
|
191
|
-
|
|
194
|
+
const valueNode = this.#getPairValueNode(pair);
|
|
195
|
+
if (!valueNode) {
|
|
192
196
|
// No value — zero-width range at key end
|
|
193
197
|
return {
|
|
194
198
|
start: { line: pair.endPosition.row, character: pair.endPosition.column },
|
|
195
199
|
end: { line: pair.endPosition.row, character: pair.endPosition.column },
|
|
196
200
|
};
|
|
197
201
|
}
|
|
198
|
-
return nodeRange(
|
|
202
|
+
return nodeRange(valueNode);
|
|
199
203
|
}
|
|
200
204
|
/**
|
|
201
205
|
* Traverse the tree from root, collecting every block_mapping that sits inside
|
|
@@ -608,9 +612,9 @@ export class TreeYaml extends TreeBase {
|
|
|
608
612
|
* Find a block_mapping in a pair's value, unwrapping block_node if present.
|
|
609
613
|
*/
|
|
610
614
|
#findValueBlockMapping(pair) {
|
|
611
|
-
|
|
615
|
+
let value = this.#getPairValueNode(pair);
|
|
616
|
+
if (!value)
|
|
612
617
|
return null;
|
|
613
|
-
let value = pair.namedChildren[1];
|
|
614
618
|
if (value.type === 'block_node')
|
|
615
619
|
value = value.namedChildren[0] ?? null;
|
|
616
620
|
return value?.type === 'block_mapping' ? value : null;
|
|
@@ -619,9 +623,9 @@ export class TreeYaml extends TreeBase {
|
|
|
619
623
|
* Find a block_sequence in a pair's value, unwrapping block_node if present.
|
|
620
624
|
*/
|
|
621
625
|
#findValueBlockSequence(pair) {
|
|
622
|
-
|
|
626
|
+
let value = this.#getPairValueNode(pair);
|
|
627
|
+
if (!value)
|
|
623
628
|
return null;
|
|
624
|
-
let value = pair.namedChildren[1];
|
|
625
629
|
if (value.type === 'block_node')
|
|
626
630
|
value = value.namedChildren[0] ?? null;
|
|
627
631
|
return value?.type === 'block_sequence' ? value : null;
|
|
@@ -984,9 +988,9 @@ export class TreeYaml extends TreeBase {
|
|
|
984
988
|
* Read string values from a mapping pair's value (scalar, block sequence, or flow sequence).
|
|
985
989
|
*/
|
|
986
990
|
#readPairStringValues(pair) {
|
|
987
|
-
|
|
991
|
+
const valueNode = this.#getPairValueNode(pair);
|
|
992
|
+
if (!valueNode)
|
|
988
993
|
return [];
|
|
989
|
-
const valueNode = pair.namedChildren[1];
|
|
990
994
|
// Direct flow_node scalar
|
|
991
995
|
if (valueNode.type === 'flow_node') {
|
|
992
996
|
const text = this.#getScalarText(valueNode);
|