This commit is contained in:
Tomáš Dvořák
2025-10-03 16:26:44 +02:00
parent 0fc92f8464
commit cdb8bcd3e9
5928 changed files with 1054476 additions and 72 deletions
@@ -0,0 +1,26 @@
function emptyScalarPosition(offset, before, pos) {
if (before) {
pos ?? (pos = before.length);
for (let i = pos - 1; i >= 0; --i) {
let st = before[i];
switch (st.type) {
case 'space':
case 'comment':
case 'newline':
offset -= st.source.length;
continue;
}
// Technically, an empty scalar is immediately after the last non-empty
// node, but it's more useful to place it after any whitespace.
st = before[++i];
while (st?.type === 'space') {
offset += st.source.length;
st = before[++i];
}
break;
}
}
return offset;
}
export { emptyScalarPosition };