Skip to content

Commit 97f7ab3

Browse files
author
Max Brunsfeld
authored
Merge pull request atom#18502 from atom/mb-fold-marker-updates
Fix typo that messed up fold marker updates
2 parents c3c589a + be79ca0 commit 97f7ab3

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

spec/tree-sitter-language-mode-spec.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1307,6 +1307,42 @@ describe('TreeSitterLanguageMode', () => {
13071307
`)
13081308
})
13091309

1310+
it('updates fold locations when the buffer changes', () => {
1311+
const grammar = new TreeSitterGrammar(atom.grammars, jsGrammarPath, {
1312+
parser: 'tree-sitter-javascript',
1313+
folds: [
1314+
{
1315+
start: {type: '{', index: 0},
1316+
end: {type: '}', index: -1}
1317+
}
1318+
]
1319+
})
1320+
1321+
buffer.setText(dedent `
1322+
class A {
1323+
// a
1324+
constructor (b) {
1325+
this.b = b
1326+
}
1327+
}
1328+
`)
1329+
1330+
const languageMode = new TreeSitterLanguageMode({buffer, grammar})
1331+
buffer.setLanguageMode(languageMode)
1332+
expect(languageMode.isFoldableAtRow(0)).toBe(true)
1333+
expect(languageMode.isFoldableAtRow(1)).toBe(false)
1334+
expect(languageMode.isFoldableAtRow(2)).toBe(true)
1335+
expect(languageMode.isFoldableAtRow(3)).toBe(false)
1336+
expect(languageMode.isFoldableAtRow(4)).toBe(false)
1337+
1338+
buffer.insert([0, 0], '\n')
1339+
expect(languageMode.isFoldableAtRow(0)).toBe(false)
1340+
expect(languageMode.isFoldableAtRow(1)).toBe(true)
1341+
expect(languageMode.isFoldableAtRow(2)).toBe(false)
1342+
expect(languageMode.isFoldableAtRow(3)).toBe(true)
1343+
expect(languageMode.isFoldableAtRow(4)).toBe(false)
1344+
})
1345+
13101346
describe('when folding a node that ends with a line break', () => {
13111347
it('ends the fold at the end of the previous line', async () => {
13121348
const grammar = new TreeSitterGrammar(atom.grammars, pythonGrammarPath, {

src/tree-sitter-language-mode.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ class TreeSitterLanguageMode {
9494
}
9595
}
9696

97-
bufferDidFinishTransaction (changes) {
97+
bufferDidFinishTransaction ({changes}) {
9898
for (let i = 0, {length} = changes; i < length; i++) {
9999
const {oldRange, newRange} = changes[i]
100100
spliceArray(

0 commit comments

Comments
 (0)