diff --git a/src/tree-sitter-language-mode.js b/src/tree-sitter-language-mode.js index 99aafffd9..846c6accc 100644 --- a/src/tree-sitter-language-mode.js +++ b/src/tree-sitter-language-mode.js @@ -145,7 +145,7 @@ class TreeSitterLanguageMode { */ buildHighlightIterator() { - if (!this.rootLanguageLayer) return new NullHighlightIterator(); + if (!this.rootLanguageLayer) return new NullLanguageModeHighlightIterator(); return new HighlightIterator(this); } @@ -651,7 +651,7 @@ class LanguageLayer { if (this.tree) { return new LayerHighlightIterator(this, this.tree.walk()); } else { - return new NullHighlightIterator(); + return new NullLayerHighlightIterator(); } } @@ -1337,7 +1337,26 @@ class NodeCursorAdaptor { } } -class NullHighlightIterator { +class NullLanguageModeHighlightIterator { + seek() { + return []; + } + compare() { + return 1; + } + moveToSuccessor() {} + getPosition() { + return Point.INFINITY; + } + getOpenScopeIds() { + return []; + } + getCloseScopeIds() { + return []; + } +} + +class NullLayerHighlightIterator { seek() { return null; }