Merge pull request #19172 from atom/mb-tree-sitter-upgrade-test-travis

Try upgrading Tree-sitter for a third time
This commit is contained in:
Max Brunsfeld
2019-05-06 22:33:20 -07:00
committed by GitHub
5 changed files with 20 additions and 41 deletions

39
package-lock.json generated
View File

@@ -7114,41 +7114,18 @@
"integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q=="
},
"tree-sitter": {
"version": "0.13.23",
"resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.13.23.tgz",
"integrity": "sha512-75AiPbMEstv+YK8h4FkAHnmAJ6nNIUj/NFzRvKCHovmwSEKMi8Wc/E/crB4lJnHBOfV/f/DMQjN+e1Y36kagug==",
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.15.0.tgz",
"integrity": "sha512-3CDZ7X4hSJgMXOo8WWhYIwS06hFDmI3x6/3rX+i+LP4ykL3UWVt5TgNKYjAkgBxbpFEHGkaSBe5LRQu5LHOQ3A==",
"requires": {
"nan": "^2.10.0",
"nan": "^2.13.2",
"prebuild-install": "^5.0.0"
},
"dependencies": {
"minimist": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
"prebuild-install": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.2.1.tgz",
"integrity": "sha512-9DAccsInWHB48TBQi2eJkLPE049JuAI6FjIH0oIrij4bpDVEbX6JvlWRAcAAlUqBHhjgq0jNqA3m3bBXWm9v6w==",
"requires": {
"detect-libc": "^1.0.3",
"expand-template": "^1.0.2",
"github-from-package": "0.0.0",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
"napi-build-utils": "^1.0.1",
"node-abi": "^2.2.0",
"noop-logger": "^0.1.1",
"npmlog": "^4.0.1",
"os-homedir": "^1.0.1",
"pump": "^2.0.1",
"rc": "^1.2.7",
"simple-get": "^2.7.0",
"tar-fs": "^1.13.0",
"tunnel-agent": "^0.6.0",
"which-pm-runs": "^1.0.0"
}
"nan": {
"version": "2.13.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
"integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw=="
}
}
},

View File

@@ -158,7 +158,7 @@
"temp": "^0.9.0",
"text-buffer": "13.15.1",
"timecop": "https://www.atom.io/api/packages/timecop/versions/0.36.2/tarball",
"tree-sitter": "0.13.23",
"tree-sitter": "0.15.0",
"tree-sitter-css": "^0.13.7",
"tree-view": "https://www.atom.io/api/packages/tree-view/versions/0.227.0/tarball",
"typescript-simple": "1.0.0",

View File

@@ -12,6 +12,7 @@ FindParentDir = require 'find-parent-dir'
TextEditor = require '../src/text-editor'
TextEditorElement = require '../src/text-editor-element'
TextMateLanguageMode = require '../src/text-mate-language-mode'
TreeSitterLanguageMode = require '../src/tree-sitter-language-mode'
{clipboard} = require 'electron'
jasmineStyle = document.createElement('style')
@@ -101,6 +102,7 @@ beforeEach ->
# make tokenization synchronous
TextMateLanguageMode.prototype.chunkSize = Infinity
TreeSitterLanguageMode.prototype.syncTimeoutMicros = Infinity
spyOn(TextMateLanguageMode.prototype, "tokenizeInBackground").andCallFake -> @tokenizeNextChunk()
# Without this spy, TextEditor.onDidTokenize callbacks would not be called

View File

@@ -143,7 +143,7 @@ describe('TreeSitterLanguageMode', () => {
languageMode.tree.rootNode
.descendantForPosition(Point(1, 2), Point(1, 6))
.toString()
).toBe('(declaration (primitive_type) (identifier) (MISSING))')
).toBe('(declaration (primitive_type) (identifier) (MISSING ";"))')
expectTokensToEqual(editor, [
[
@@ -414,7 +414,7 @@ describe('TreeSitterLanguageMode', () => {
const languageMode = new TreeSitterLanguageMode({
buffer,
grammar,
syncOperationLimit: 0
syncTimeoutMicros: 0
})
buffer.setLanguageMode(languageMode)
await nextHighlightingUpdate(languageMode)
@@ -797,7 +797,7 @@ describe('TreeSitterLanguageMode', () => {
buffer,
grammar: htmlGrammar,
grammars: atom.grammars,
syncOperationLimit: 0
syncTimeoutMicros: 0
})
buffer.setLanguageMode(languageMode)
@@ -827,7 +827,7 @@ describe('TreeSitterLanguageMode', () => {
)
atom.grammars.loadGrammarSync(jsGrammarPath)
atom.grammars.assignLanguageMode(buffer, 'source.js')
buffer.getLanguageMode().syncOperationLimit = 0
buffer.getLanguageMode().syncTimeoutMicros = 0
const initialSeed = Date.now()
for (let i = 0, trialCount = 10; i < trialCount; i++) {

View File

@@ -24,7 +24,7 @@ class TreeSitterLanguageMode {
}
}
constructor ({buffer, grammar, config, grammars, syncOperationLimit}) {
constructor ({buffer, grammar, config, grammars, syncTimeoutMicros}) {
TreeSitterLanguageMode._patchSyntaxNode()
this.id = nextId++
this.buffer = buffer
@@ -35,8 +35,8 @@ class TreeSitterLanguageMode {
this.rootLanguageLayer = new LanguageLayer(this, grammar)
this.injectionsMarkerLayer = buffer.addMarkerLayer()
if (syncOperationLimit != null) {
this.syncOperationLimit = syncOperationLimit
if (syncTimeoutMicros != null) {
this.syncTimeoutMicros = syncTimeoutMicros
}
this.rootScopeDescriptor = new ScopeDescriptor({scopes: [this.grammar.scopeName]})
@@ -111,7 +111,7 @@ class TreeSitterLanguageMode {
const parser = PARSER_POOL.pop() || new Parser()
parser.setLanguage(language)
const result = parser.parseTextBuffer(this.buffer.buffer, oldTree, {
syncOperationLimit: this.syncOperationLimit,
syncTimeoutMicros: this.syncTimeoutMicros,
includedRanges: ranges
})
@@ -1225,6 +1225,6 @@ function hasMatchingFoldSpec (specs, node) {
})
TreeSitterLanguageMode.LanguageLayer = LanguageLayer
TreeSitterLanguageMode.prototype.syncOperationLimit = 1000
TreeSitterLanguageMode.prototype.syncTimeoutMicros = 1000
module.exports = TreeSitterLanguageMode