From e72878a96bd7a92b3244fcc456a62d8e8838cc7b Mon Sep 17 00:00:00 2001 From: George Fraser Date: Sun, 2 Jun 2019 11:10:51 -0700 Subject: [PATCH 1/3] Color syntax using tree-sitter --- package-lock.json | 34 +++++ package.json | 14 +- parsers/README.md | 3 + parsers/tree-sitter-go.wasm | Bin 0 -> 714944 bytes src/goMain.ts | 29 ++++ src/treeSitter.ts | 28 ++++ src/treeSitterColor.ts | 271 +++++++++++++++++++++++++++++++++++ syntaxes/go.tmGrammar.json | 252 ++++++++++++++++++++++++++++++++ test/unit/treeSitter.test.ts | 207 ++++++++++++++++++++++++++ 9 files changed, 836 insertions(+), 2 deletions(-) create mode 100644 parsers/README.md create mode 100644 parsers/tree-sitter-go.wasm create mode 100644 src/treeSitter.ts create mode 100644 src/treeSitterColor.ts create mode 100644 syntaxes/go.tmGrammar.json create mode 100644 test/unit/treeSitter.test.ts diff --git a/package-lock.json b/package-lock.json index 897808e70..098129ee3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -912,6 +912,11 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, + "jsonc-parser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.1.0.tgz", + "integrity": "sha512-n9GrT8rrr2fhvBbANa1g+xFmgGK5X91KFeDwlKQ3+SJfmH5+tKv/M/kahx/TXOMflfWHKGKqKyfHQaLKTNzJ6w==" + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -1498,6 +1503,21 @@ } } }, + "tree-sitter-cli": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.15.2.tgz", + "integrity": "sha512-nHxOsUIGH4c7OiNFWKoZcM0JDm0/21UNLIOSo/Vdf6ikbUh1v3h3mfK2x1Q2iA7Z3aG9iHdn+I80Yvu1PwZnQw==", + "dev": true + }, + "tree-sitter-go": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/tree-sitter-go/-/tree-sitter-go-0.13.3.tgz", + "integrity": "sha512-pXnlEDMwrCdnYaOzfEzlMlWqZEKDJXEG4bPvc9j5JSd7IYDWBrwxo+XXuraLSlbj1mJL2kKLIDO8cKDNxUscHw==", + "dev": true, + "requires": { + "nan": "^2.10.0" + } + }, "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", @@ -1672,6 +1692,20 @@ "request": "^2.69.0" } }, + "vscode-tree-sitter": { + "version": "0.1.24", + "resolved": "https://registry.npmjs.org/vscode-tree-sitter/-/vscode-tree-sitter-0.1.24.tgz", + "integrity": "sha512-Q7742RUd02FTdhCZAlUUXcjIS3wm4Oiszc6hJKeuYwJbkMHi0+KwApuTYD/UktFSw0Djbb8SAgxfC8+qyDMH0A==", + "requires": { + "jsonc-parser": "^2.1.0", + "web-tree-sitter": "^0.15.5" + } + }, + "web-tree-sitter": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.15.5.tgz", + "integrity": "sha512-oj6XfJ5GlHhcqXoQ5xum7t207cUFPj7yhI8wrnM/S8yWtMzPUZdpSVqooNTIgXCkbCWmcvLWOHsNl8Ddh9PB/g==" + }, "websocket-driver": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", diff --git a/package.json b/package.json index 6d4567ee8..9c6adb3ab 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,8 @@ "test": "node ./out/test/runTest.js", "lint": "node ./node_modules/tslint/bin/tslint --project tsconfig.json", "fix-lint": "node ./node_modules/tslint/bin/tslint --fix --project tsconfig.json", - "unit-test": "node ./node_modules/mocha/bin/_mocha -u tdd --timeout 5000 --colors ./out/test/unit" + "unit-test": "node ./node_modules/mocha/bin/_mocha -u tdd --timeout 5000 --colors ./out/test/unit", + "gen-parser": "tree-sitter build-wasm ./node_modules/tree-sitter-go" }, "extensionDependencies": [], "dependencies": { @@ -46,7 +47,9 @@ "vscode-debugprotocol": "^1.36.0", "vscode-extension-telemetry": "^0.1.2", "vscode-languageclient": "~5.2.1", - "web-request": "^1.0.7" + "vscode-tree-sitter": "^0.1.24", + "web-request": "^1.0.7", + "web-tree-sitter": "^0.15.5" }, "devDependencies": { "@types/fs-extra": "^8.0.0", @@ -56,6 +59,8 @@ "@types/semver": "^6.0.1", "@types/vscode": "^1.25.0", "fs-extra": "^8.1.0", + "tree-sitter-cli": "^0.15.2", + "tree-sitter-go": "^0.13.3", "glob": "^7.1.4", "mocha": "^6.2.0", "tslint": "^5.19.0", @@ -104,6 +109,11 @@ } ], "grammars": [ + { + "language": "go", + "scopeName": "source.go", + "path": "./syntaxes/go.tmGrammar.json" + }, { "language": "go.mod", "scopeName": "go.mod", diff --git a/parsers/README.md b/parsers/README.md new file mode 100644 index 000000000..973e35421 --- /dev/null +++ b/parsers/README.md @@ -0,0 +1,3 @@ +`tree-sitter-go.wasm` is an incremental parser for Go using the [Tree Sitter](http://tree-sitter.github.io/tree-sitter/) framework. It's generated by `npm run-script gen-parser`. + +It's more convenient to check the .wasm file into source than to run `gen-parser` as part of the build, because `gen-parser` requires a C++ toolchain on the host. If you want to regenerate `tree-sitter-go.wasm`, I recommend using an Ubuntu linux host. \ No newline at end of file diff --git a/parsers/tree-sitter-go.wasm b/parsers/tree-sitter-go.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bc99a7a0df1827055b3201e7d872d21bce879146 GIT binary patch literal 714944 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 C_}h8_ literal 0 HcmV?d00001 diff --git a/src/goMain.ts b/src/goMain.ts index 32260229d..2e6075460 100644 --- a/src/goMain.ts +++ b/src/goMain.ts @@ -35,6 +35,9 @@ import { buildCode } from './goBuild'; import { installCurrentPackage } from './goInstall'; import { check, removeTestStatus, notifyIfGeneratedFile } from './goCheck'; import { GO111MODULE } from './goModules'; +import { activate as activateTreeSitter } from 'vscode-tree-sitter'; +import { color } from './treeSitter'; +import * as path from 'path'; export let buildDiagnosticCollection: vscode.DiagnosticCollection; export let lintDiagnosticCollection: vscode.DiagnosticCollection; @@ -359,6 +362,32 @@ export function activate(ctx: vscode.ExtensionContext): void { }); sendTelemetryEventForConfig(vscode.workspace.getConfiguration('go', vscode.window.activeTextEditor ? vscode.window.activeTextEditor.document.uri : null)); + // Parse .go files incrementally using tree-sitter + const parserPath = path.join(ctx.extensionPath, 'parsers', 'tree-sitter-go.wasm'); + activateTreeSitter(ctx, {'go': {wasm: parserPath}}).then(colorAll); + function colorAll() { + for (const editor of vscode.window.visibleTextEditors) { + color(editor); + } + } + function colorEdited(evt: vscode.TextDocumentChangeEvent) { + for (const editor of vscode.window.visibleTextEditors) { + if (editor.document.uri.toString() === evt.document.uri.toString()) { + color(editor); + } + } + } + function onChangeConfiguration(event: vscode.ConfigurationChangeEvent) { + const colorizationNeedsReload: boolean = event.affectsConfiguration('workbench.colorTheme') + || event.affectsConfiguration('editor.tokenColorCustomizations'); + if (colorizationNeedsReload) { + colorAll(); + } + } + ctx.subscriptions.push(vscode.workspace.onDidChangeConfiguration(onChangeConfiguration)); + ctx.subscriptions.push(vscode.window.onDidChangeVisibleTextEditors(colorAll)); + ctx.subscriptions.push(vscode.window.onDidChangeTextEditorVisibleRanges(change => color(change.textEditor))); + ctx.subscriptions.push(vscode.workspace.onDidChangeTextDocument(colorEdited)); } export function deactivate() { diff --git a/src/treeSitter.ts b/src/treeSitter.ts new file mode 100644 index 000000000..eb2354848 --- /dev/null +++ b/src/treeSitter.ts @@ -0,0 +1,28 @@ +import vscode = require('vscode'); +import {tree, decoration, range} from 'vscode-tree-sitter'; +import {colorGo} from './treeSitterColor'; + +export function color(editor: vscode.TextEditor) { + try { + if (editor.document.languageId !== 'go') return; + const visibleRanges = editor.visibleRanges.map(range => { + const start = range.start.line; + const end = range.end.line; + return {start, end}; + }); + const t = tree(editor.document.uri); + if (t == null) { + console.warn(editor.document.uri.path, 'has not been parsed'); + return; + } + const colors = colorGo(t.rootNode, visibleRanges); + for (const scope of Object.keys(colors)) { + const dec = decoration(scope); + if (!dec) continue; + const ranges = colors[scope]!.map(range); + editor.setDecorations(dec, ranges); + } + } catch (e) { + console.error(e); + } +} diff --git a/src/treeSitterColor.ts b/src/treeSitterColor.ts new file mode 100644 index 000000000..60f9ddadd --- /dev/null +++ b/src/treeSitterColor.ts @@ -0,0 +1,271 @@ +import * as Parser from 'web-tree-sitter'; + +export function colorGo(root: Parser.SyntaxNode, visibleRanges: {start: number, end: number}[]) { + // Guess package names based on paths + const packages: {[id: string]: boolean} = {}; + function scanImport(x: Parser.SyntaxNode) { + if (x.type === 'import_spec') { + let str = x.firstChild!.text; + if (str.startsWith('"')) { + str = str.substring(1, str.length - 1); + } + const parts = str.split('/'); + const last = parts[parts.length - 1]; + packages[last] = true; + } + for (const child of x.children) { + scanImport(child); + } + } + // Keep track of local vars that shadow packages + const allScopes: Scope[] = []; + class Scope { + private locals = new Map(); + private parent: Scope|null; + + constructor(parent: Scope|null) { + this.parent = parent; + allScopes.push(this); + } + + declareLocal(id: string) { + if (this.isRoot()) return; + if (this.locals.has(id)) { + this.locals.get(id)!.modified = true; + } else { + this.locals.set(id, {modified: false, references: []}); + } + } + + modifyLocal(id: string) { + if (this.isRoot()) return; + if (this.locals.has(id)) this.locals.get(id)!.modified = true; + else if (this.parent) this.parent.modifyLocal(id); + } + + referenceLocal(x: Parser.SyntaxNode) { + if (this.isRoot()) return; + const id = x.text; + if (this.locals.has(id)) this.locals.get(id)!.references.push(x); + else if (this.parent) this.parent.referenceLocal(x); + } + + isLocal(id: string): boolean { + if (this.locals.has(id)) return true; + if (this.parent) return this.parent.isLocal(id); + return false; + } + + isUnknown(id: string): boolean { + if (packages[id]) return false; + if (this.locals.has(id)) return false; + if (this.parent) return this.parent.isUnknown(id); + return true; + } + + isModified(id: string): boolean { + if (this.locals.has(id)) return this.locals.get(id)!.modified; + if (this.parent) return this.parent.isModified(id); + return false; + } + + modifiedLocals(): Parser.SyntaxNode[] { + const all = []; + for (const {modified, references} of this.locals.values()) { + if (modified) { + all.push(...references); + } + } + return all; + } + + isPackage(id: string): boolean { + return packages[id] && !this.isLocal(id); + } + + isRoot(): boolean { + return this.parent === null; + } + } + const colors: {[scope: string]: Parser.SyntaxNode[]} = { + 'entity.name.function': [], + 'entity.name.type': [], + 'variable': [], + 'markup.underline': [], + }; + const rootScope = new Scope(null); + function scanSourceFile() { + for (const top of root.namedChildren) { + scanTopLevelDeclaration(top); + } + } + function scanTopLevelDeclaration(x: Parser.SyntaxNode) { + switch (x.type) { + case 'import_declaration': + scanImport(x); + break; + case 'function_declaration': + case 'method_declaration': + if (!isVisible(x, visibleRanges)) return; + scanFunctionDeclaration(x); + break; + case 'const_declaration': + case 'var_declaration': + if (!isVisible(x, visibleRanges)) return; + scanVarDeclaration(x); + break; + case 'type_declaration': + if (!isVisible(x, visibleRanges)) return; + scanTypeDeclaration(x); + break; + } + } + function scanFunctionDeclaration(x: Parser.SyntaxNode) { + const scope = new Scope(rootScope); + for (const child of x.namedChildren) { + switch (child.type) { + case 'identifier': + if (isVisible(child, visibleRanges)) { + colors['entity.name.function'].push(child); + } + break; + default: + scanExpr(child, scope); + } + } + } + function scanVarDeclaration(x: Parser.SyntaxNode) { + for (const varSpec of x.namedChildren) { + for (const child of varSpec.namedChildren) { + switch (child.type) { + case 'identifier': + if (isVisible(child, visibleRanges)) { + colors['variable'].push(child); + } + break; + default: + scanExpr(child, rootScope); + } + } + } + } + function scanTypeDeclaration(x: Parser.SyntaxNode) { + for (const child of x.namedChildren) { + scanExpr(child, rootScope); + } + } + function scanExpr(x: Parser.SyntaxNode, scope: Scope) { + switch (x.type) { + case 'ERROR': + return; + case 'func_literal': + case 'block': + case 'expression_case_clause': + case 'type_case_clause': + case 'for_statement': + case 'if_statement': + case 'type_switch_statement': + scope = new Scope(scope); + break; + case 'parameter_declaration': + case 'variadic_parameter_declaration': + case 'var_spec': + case 'const_spec': + for (const id of x.namedChildren) { + if (id.type === 'identifier') { + scope.declareLocal(id.text); + } + } + break; + case 'short_var_declaration': + case 'range_clause': + for (const id of x.firstChild!.namedChildren) { + if (id.type === 'identifier') { + scope.declareLocal(id.text); + } + } + break; + case 'type_switch_guard': + if (x.firstChild!.type === 'expression_list') { + for (const id of x.firstChild!.namedChildren) { + scope.declareLocal(id.text); + } + } + break; + case 'inc_statement': + case 'dec_statement': + scope.modifyLocal(x.firstChild!.text); + break; + case 'assignment_statement': + for (const id of x.firstChild!.namedChildren) { + if (id.type === 'identifier') { + scope.modifyLocal(id.text); + } + } + break; + case 'call_expression': + scanCall(x.firstChild!, scope); + scanExpr(x.lastChild!, scope); + return; + case 'identifier': + scope.referenceLocal(x); + if (isVisible(x, visibleRanges) && scope.isUnknown(x.text)) { + colors['variable'].push(x); + } + return; + case 'selector_expression': + if (isVisible(x, visibleRanges) && scope.isPackage(x.firstChild!.text)) { + colors['variable'].push(x.lastChild!); + } + scanExpr(x.firstChild!, scope); + scanExpr(x.lastChild!, scope); + return; + case 'type_identifier': + if (isVisible(x, visibleRanges)) { + colors['entity.name.type'].push(x); + } + return; + } + for (const child of x.namedChildren) { + scanExpr(child, scope); + } + } + function scanCall(x: Parser.SyntaxNode, scope: Scope) { + switch (x.type) { + case 'identifier': + if (isVisible(x, visibleRanges) && scope.isUnknown(x.text)) { + colors['entity.name.function'].push(x); + } + scope.referenceLocal(x); + return; + case 'selector_expression': + if (isVisible(x, visibleRanges) && scope.isPackage(x.firstChild!.text)) { + colors['entity.name.function'].push(x.lastChild!); + } + scanExpr(x.firstChild!, scope); + scanExpr(x.lastChild!, scope); + return; + case 'unary_expression': + scanCall(x.firstChild!, scope); + return; + default: + scanExpr(x, scope); + } + } + scanSourceFile(); + for (const scope of allScopes) { + for (const local of scope.modifiedLocals()) { + colors['markup.underline'].push(local); + } + } + + return colors; +} + +function isVisible(x: Parser.SyntaxNode, visibleRanges: {start: number, end: number}[]) { + for (const {start, end} of visibleRanges) { + const overlap = x.startPosition.row <= end + 1 && start - 1 <= x.endPosition.row; + if (overlap) return true; + } + return false; +} diff --git a/syntaxes/go.tmGrammar.json b/syntaxes/go.tmGrammar.json new file mode 100644 index 000000000..10aebe19b --- /dev/null +++ b/syntaxes/go.tmGrammar.json @@ -0,0 +1,252 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "version": "https://github.com/atom/language-go/commit/b6fd68f74efa109679e31fe6f4a41ac105262d0e", + "name": "Go", + "scopeName": "source.go", + "comment": "Go language", + "patterns": [ + { + "include": "#comments" + }, + { + "comment": "Interpreted string literals", + "begin": "\"", + "end": "\"", + "name": "string.quoted.double.go", + "patterns": [ + { + "include": "#string_escaped_char" + }, + { + "include": "#string_placeholder" + } + ] + }, + { + "comment": "Raw string literals", + "begin": "`", + "end": "`", + "name": "string.quoted.raw.go", + "patterns": [ + { + "include": "#string_placeholder" + } + ] + }, + { + "comment": "Syntax error receiving channels", + "match": "<\\-([\\t ]+)chan\\b", + "captures": { + "1": { + "name": "invalid.illegal.receive-channel.go" + } + } + }, + { + "comment": "Syntax error sending channels", + "match": "\\bchan([\\t ]+)<-", + "captures": { + "1": { + "name": "invalid.illegal.send-channel.go" + } + } + }, + { + "comment": "Syntax error using slices", + "match": "\\[\\](\\s+)", + "captures": { + "1": { + "name": "invalid.illegal.slice.go" + } + } + }, + { + "comment": "Floating-point literals", + "match": "(\\.\\d+([Ee][-+]\\d+)?i?)\\b|\\b\\d+\\.\\d*(([Ee][-+]\\d+)?i?\\b)?", + "name": "constant.numeric.floating-point.go" + }, + { + "comment": "Integers", + "match": "\\b((0x[0-9a-fA-F]+)|(0[0-7]+i?)|(\\d+([Ee]\\d+)?i?)|(\\d+[Ee][-+]\\d+i?))\\b", + "name": "constant.numeric.integer.go" + }, + { + "comment": "Language constants", + "match": "\\b(true|false|nil|iota)\\b", + "name": "constant.numeric.language.go" + }, + { + "comment": "Terminators", + "match": ";", + "name": "keyword.other.semi.go" + }, + { + "include": "#keywords" + }, + { + "include": "#operators" + }, + { + "include": "#runes" + } + ], + "repository": { + "comments": { + "patterns": [ + { + "begin": "/\\*", + "end": "\\*/", + "name": "comment.block.go" + }, + { + "begin": "//", + "end": "$", + "name": "comment.line.double-slash.go" + } + ] + }, + "keywords": { + "patterns": [ + { + "comment": "Flow control keywords", + "match": "\\b(break|case|continue|default|defer|panic|recover|else|fallthrough|for|go|goto|if|range|return|select|switch)\\b", + "name": "keyword.control.go" + }, + { + "match": "\\bchan\\b", + "name": "keyword.channel.go" + }, + { + "match": "\\bconst\\b", + "name": "keyword.const.go" + }, + { + "match": "\\bfunc\\b", + "name": "keyword.function.go" + }, + { + "match": "\\binterface\\b", + "name": "keyword.interface.go" + }, + { + "match": "\\bmap\\b", + "name": "keyword.map.go" + }, + { + "match": "\\bstruct\\b", + "name": "keyword.struct.go" + }, + { + "comment": "Syntax error numeric literals", + "match": "\\b0[0-7]*[89]\\d*\\b", + "name": "invalid.illegal.numeric.go" + }, + { + "comment": "Functions", + "match": "\\bfunc\\b", + "name": "keyword.function.go" + }, + { + "match": "\\bpackage\\b", + "name": "keyword.package.go" + }, + { + "match": "\\btype\\b", + "name": "keyword.type.go" + }, + { + "match": "\\bimport\\b", + "name": "keyword.import.go" + }, + { + "match": "\\bvar\\b", + "name": "keyword.var.go" + } + ] + }, + "operators": { + "comment": "Note that the order here is very important!", + "patterns": [ + { + "match": "(\\*|&)(?=\\w)", + "name": "keyword.operator.address.go" + }, + { + "match": "<\\-", + "name": "keyword.operator.channel.go" + }, + { + "match": "\\-\\-", + "name": "keyword.operator.decrement.go" + }, + { + "match": "\\+\\+", + "name": "keyword.operator.increment.go" + }, + { + "match": "(==|!=|<=|>=|<(?!<)|>(?!>))", + "name": "keyword.operator.comparison.go" + }, + { + "match": "(&&|\\|\\||!)", + "name": "keyword.operator.logical.go" + }, + { + "match": "(=|\\+=|\\-=|\\|=|\\^=|\\*=|/=|:=|%=|<<=|>>=|&\\^=|&=)", + "name": "keyword.operator.assignment.go" + }, + { + "match": "(\\+|\\-|\\*|/|%)", + "name": "keyword.operator.arithmetic.go" + }, + { + "match": "(&(?!\\^)|\\||\\^|&\\^|<<|>>)", + "name": "keyword.operator.arithmetic.bitwise.go" + }, + { + "match": "\\.\\.\\.", + "name": "keyword.operator.ellipsis.go" + } + ] + }, + "runes": { + "patterns": [ + { + "begin": "'", + "end": "'", + "name": "string.quoted.rune.go", + "patterns": [ + { + "match": "\\G(\\\\([0-7]{3}|[abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})|.)(?=')", + "name": "constant.other.rune.go" + }, + { + "match": "[^']+", + "name": "invalid.illegal.unknown-rune.go" + } + ] + } + ] + }, + "string_escaped_char": { + "patterns": [ + { + "match": "\\\\([0-7]{3}|[abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})", + "name": "constant.character.escape.go" + }, + { + "match": "\\\\[^0-7xuUabfnrtv\\'\"]", + "name": "invalid.illegal.unknown-escape.go" + } + ] + }, + "string_placeholder": { + "patterns": [ + { + "match": "%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]", + "name": "constant.other.placeholder.go" + } + ] + } + } +} \ No newline at end of file diff --git a/test/unit/treeSitter.test.ts b/test/unit/treeSitter.test.ts new file mode 100644 index 000000000..930f661e3 --- /dev/null +++ b/test/unit/treeSitter.test.ts @@ -0,0 +1,207 @@ +import Parser = require('web-tree-sitter'); +import { colorGo } from '../../src/treeSitterColor'; +import * as assert from 'assert'; + +type check = [string, string | { not: string }]; +type TestCase = [string, ...check[]]; + +const testCases: TestCase[] = [ + [ + `func f() int { }`, + ['f', 'entity.name.function'], ['int', 'entity.name.type'] + ], + [ + `type Foo struct { x int }`, + ['Foo', 'entity.name.type'], ['x', { not: 'variable' }] + ], + [ + `type Foo interface { GetX() int }`, + ['Foo', 'entity.name.type'], ['int', 'entity.name.type'], ['GetX', { not: 'variable' }] + ], + [ + `func f() { x := 1; x := 2 }`, + ['x', 'markup.underline'] + ], + [ + `func f(foo T) { foo.Foo() }`, + ['Foo', { not: 'entity.name.function' }] + ], + [ + `func f() { Foo() }`, + ['Foo', 'entity.name.function'] + ], + [ + `import "foo"; func f() { foo.Foo() }`, + ['Foo', 'entity.name.function'] + ], + [ + `import "foo"; func f(foo T) { foo.Foo() }`, + ['Foo', { not: 'entity.name.function' }] + ], + [ + `func f(x other.T) { }`, + ['T', 'entity.name.type'], + ], + [ + `var _ = f(Foo{})`, + ['Foo', 'entity.name.type'], + ], + [ + `import (foo "foobar"); var _ = foo.Bar()`, + ['foo', { not: 'variable' }], ['Bar', 'entity.name.function'], + ], + [ + `func f(a int) int { + switch a { + case 1: + x := 1 + return x + case 2: + x := 2 + return x + } + }`, + ['x', { not: 'markup.underline' }] + ], + [ + `func f(a interface{}) int { + switch a.(type) { + case *int: + x := 1 + return x + case *int: + x := 2 + return x + } + }`, + ['x', { not: 'markup.underline' }] + ], + [ + `func f(a interface{}) int { + for i := range 10 { + print(i) + } + for i := range 10 { + print(i) + } + }`, + ['i', { not: 'markup.underline' }] + ], + [ + `func f(a interface{}) int { + if i := 1; i < 10 { + print(i) + } + if i := 1; i < 10 { + print(i) + } + }`, + ['i', { not: 'markup.underline' }] + ], + [ + `func f(a interface{}) { + switch aa := a.(type) { + case *int: + print(aa) + } + }`, + ['aa', { not: 'variable' }] + ], + [ + `func f() { + switch aa.(type) { + case *int: + print(aa) + } + }`, + ['aa', 'variable'] + ], + [ + `func f(a interface{}) { + switch aa := a.(type) { + case *int: + print(aa) + } + switch aa := a.(type) { + case *int: + print(aa) + } + }`, + ['aa', { not: 'markup.underline' }] + ], + [ + `func f(a ...int) { + print(a) + }`, + ['a', { not: 'variable' }] + ], +]; + +async function createParser() { + await Parser.init(); + const parser = new Parser(); + const wasm = 'parsers/tree-sitter-go.wasm'; + const lang = await Parser.Language.load(wasm); + parser.setLanguage(lang); + return parser; +} + +suite('Syntax coloring', () => { + const parser = createParser(); + + for (const [src, ...expect] of testCases) { + test(src, async () => { + const tree = (await parser).parse(src); + const found = colorGo(tree.rootNode, [{ start: 0, end: tree.rootNode.endPosition.row }]); + const foundMap = new Map>(); + for (const scope of Object.keys(found)) { + for (const node of found[scope]) { + const code = node.text; + if (!foundMap.has(code)) { + foundMap.set(code, new Set()); + } + foundMap.get(code)!.add(scope); + } + } + function printSrcAndTree() { + console.error('Source:\t' + src); + console.error('Parsed:\t' + tree.rootNode.toString()); + } + for (const [code, check] of expect) { + if (typeof check === 'string') { + const scope = check; + if (!foundMap.has(code)) { + printSrcAndTree(); + assert.fail(`Error:\tcode (${code}) was not found in (${join(foundMap.keys())})`); + continue; + } + const foundScopes = foundMap.get(code)!; + if (!foundScopes.has(scope)) { + printSrcAndTree(); + assert.fail(`Error:\tscope (${scope}) was not among the scopes for (${code}) (${join(foundScopes.keys())})`); + continue; + } + } else { + const scope = check.not; + if (!foundMap.has(code)) { + continue; + } + const foundScopes = foundMap.get(code)!; + if (foundScopes.has(scope)) { + printSrcAndTree(); + assert.fail(`Error:\tbanned scope (${scope}) was among the scopes for (${code}) (${join(foundScopes.keys())})`); + continue; + } + } + } + }); + } +}); + +function join(strings: IterableIterator) { + let result = ''; + for (const s of strings) { + result = result + s + ', '; + } + return result.substring(0, result.length - 2); +} From 9f5dca6a72fc65a0852a2ddf4284f2bb7784818e Mon Sep 17 00:00:00 2001 From: George Fraser Date: Wed, 2 Oct 2019 20:15:56 -0700 Subject: [PATCH 2/3] Use .startPosition / .endPosition instead of collecting SyntaxNodes --- src/treeSitter.ts | 10 +++++--- src/treeSitterColor.ts | 42 +++++++++++++++++++-------------- test/unit/treeSitter.test.ts | 45 +++++++++++++++++++++++++----------- 3 files changed, 64 insertions(+), 33 deletions(-) diff --git a/src/treeSitter.ts b/src/treeSitter.ts index eb2354848..8b2141c47 100644 --- a/src/treeSitter.ts +++ b/src/treeSitter.ts @@ -1,6 +1,6 @@ import vscode = require('vscode'); -import {tree, decoration, range} from 'vscode-tree-sitter'; -import {colorGo} from './treeSitterColor'; +import {tree, decoration} from 'vscode-tree-sitter'; +import {colorGo, Range} from './treeSitterColor'; export function color(editor: vscode.TextEditor) { try { @@ -15,7 +15,7 @@ export function color(editor: vscode.TextEditor) { console.warn(editor.document.uri.path, 'has not been parsed'); return; } - const colors = colorGo(t.rootNode, visibleRanges); + const colors = colorGo(t, visibleRanges); for (const scope of Object.keys(colors)) { const dec = decoration(scope); if (!dec) continue; @@ -26,3 +26,7 @@ export function color(editor: vscode.TextEditor) { console.error(e); } } + +function range(x: Range): vscode.Range { + return new vscode.Range(x.start.row, x.start.column, x.end.row, x.end.column); +} diff --git a/src/treeSitterColor.ts b/src/treeSitterColor.ts index 60f9ddadd..f184eb7db 100644 --- a/src/treeSitterColor.ts +++ b/src/treeSitterColor.ts @@ -1,6 +1,15 @@ import * as Parser from 'web-tree-sitter'; -export function colorGo(root: Parser.SyntaxNode, visibleRanges: {start: number, end: number}[]) { +export interface Range { + start: Parser.Point; + end: Parser.Point; +} + +export function colorGo(root: Parser.Tree, visibleRanges: {start: number, end: number}[]): {[scope: string]: Range[]} { + const functions: Range[] = []; + const types: Range[] = []; + const variables: Range[] = []; + const underlines: Range[] = []; // Guess package names based on paths const packages: {[id: string]: boolean} = {}; function scanImport(x: Parser.SyntaxNode) { @@ -87,15 +96,9 @@ export function colorGo(root: Parser.SyntaxNode, visibleRanges: {start: number, return this.parent === null; } } - const colors: {[scope: string]: Parser.SyntaxNode[]} = { - 'entity.name.function': [], - 'entity.name.type': [], - 'variable': [], - 'markup.underline': [], - }; const rootScope = new Scope(null); function scanSourceFile() { - for (const top of root.namedChildren) { + for (const top of root.rootNode.namedChildren) { scanTopLevelDeclaration(top); } } @@ -126,7 +129,7 @@ export function colorGo(root: Parser.SyntaxNode, visibleRanges: {start: number, switch (child.type) { case 'identifier': if (isVisible(child, visibleRanges)) { - colors['entity.name.function'].push(child); + functions.push({start: child.startPosition, end: child.endPosition}); } break; default: @@ -140,7 +143,7 @@ export function colorGo(root: Parser.SyntaxNode, visibleRanges: {start: number, switch (child.type) { case 'identifier': if (isVisible(child, visibleRanges)) { - colors['variable'].push(child); + variables.push({start: child.startPosition, end: child.endPosition}); } break; default: @@ -210,19 +213,19 @@ export function colorGo(root: Parser.SyntaxNode, visibleRanges: {start: number, case 'identifier': scope.referenceLocal(x); if (isVisible(x, visibleRanges) && scope.isUnknown(x.text)) { - colors['variable'].push(x); + variables.push({start: x.startPosition, end: x.endPosition}); } return; case 'selector_expression': if (isVisible(x, visibleRanges) && scope.isPackage(x.firstChild!.text)) { - colors['variable'].push(x.lastChild!); + variables.push({start: x.lastChild!.startPosition, end: x.lastChild!.endPosition}); } scanExpr(x.firstChild!, scope); scanExpr(x.lastChild!, scope); return; case 'type_identifier': if (isVisible(x, visibleRanges)) { - colors['entity.name.type'].push(x); + types.push({start: x.startPosition, end: x.endPosition}); } return; } @@ -234,13 +237,13 @@ export function colorGo(root: Parser.SyntaxNode, visibleRanges: {start: number, switch (x.type) { case 'identifier': if (isVisible(x, visibleRanges) && scope.isUnknown(x.text)) { - colors['entity.name.function'].push(x); + functions.push({start: x.startPosition, end: x.endPosition}); } scope.referenceLocal(x); return; case 'selector_expression': if (isVisible(x, visibleRanges) && scope.isPackage(x.firstChild!.text)) { - colors['entity.name.function'].push(x.lastChild!); + functions.push({start: x.lastChild!.startPosition, end: x.lastChild!.endPosition}); } scanExpr(x.firstChild!, scope); scanExpr(x.lastChild!, scope); @@ -255,11 +258,16 @@ export function colorGo(root: Parser.SyntaxNode, visibleRanges: {start: number, scanSourceFile(); for (const scope of allScopes) { for (const local of scope.modifiedLocals()) { - colors['markup.underline'].push(local); + underlines.push({start: local.startPosition, end: local.endPosition}); } } - return colors; + return { + 'entity.name.function': functions, + 'entity.name.type': types, + 'variable': variables, + 'markup.underline': underlines, + }; } function isVisible(x: Parser.SyntaxNode, visibleRanges: {start: number, end: number}[]) { diff --git a/test/unit/treeSitter.test.ts b/test/unit/treeSitter.test.ts index 930f661e3..a4af605d9 100644 --- a/test/unit/treeSitter.test.ts +++ b/test/unit/treeSitter.test.ts @@ -152,15 +152,17 @@ suite('Syntax coloring', () => { for (const [src, ...expect] of testCases) { test(src, async () => { const tree = (await parser).parse(src); - const found = colorGo(tree.rootNode, [{ start: 0, end: tree.rootNode.endPosition.row }]); - const foundMap = new Map>(); - for (const scope of Object.keys(found)) { - for (const node of found[scope]) { - const code = node.text; - if (!foundMap.has(code)) { - foundMap.set(code, new Set()); + const scope2ranges = colorGo(tree, [{start: 0, end: tree.rootNode.endPosition.row}]); + const code2scopes = new Map>(); + for (const scope of Object.keys(scope2ranges)) { + for (const range of scope2ranges[scope]) { + const start = index(src, range.start); + const end = index(src, range.end); + const code = src.substring(start, end); + if (!code2scopes.has(code)) { + code2scopes.set(code, new Set()); } - foundMap.get(code)!.add(scope); + code2scopes.get(code)!.add(scope); } } function printSrcAndTree() { @@ -170,12 +172,12 @@ suite('Syntax coloring', () => { for (const [code, check] of expect) { if (typeof check === 'string') { const scope = check; - if (!foundMap.has(code)) { + if (!code2scopes.has(code)) { printSrcAndTree(); - assert.fail(`Error:\tcode (${code}) was not found in (${join(foundMap.keys())})`); + assert.fail(`Error:\tcode (${code}) was not found in (${join(code2scopes.keys())})`); continue; } - const foundScopes = foundMap.get(code)!; + const foundScopes = code2scopes.get(code)!; if (!foundScopes.has(scope)) { printSrcAndTree(); assert.fail(`Error:\tscope (${scope}) was not among the scopes for (${code}) (${join(foundScopes.keys())})`); @@ -183,10 +185,10 @@ suite('Syntax coloring', () => { } } else { const scope = check.not; - if (!foundMap.has(code)) { + if (!code2scopes.has(code)) { continue; } - const foundScopes = foundMap.get(code)!; + const foundScopes = code2scopes.get(code)!; if (foundScopes.has(scope)) { printSrcAndTree(); assert.fail(`Error:\tbanned scope (${scope}) was among the scopes for (${code}) (${join(foundScopes.keys())})`); @@ -198,6 +200,23 @@ suite('Syntax coloring', () => { } }); +function index(code: string, point: Parser.Point): number { + let row = 0; + let column = 0; + for (let i = 0; i < code.length; i++) { + if (row === point.row && column === point.column) { + return i; + } + if (code[i] === '\n') { + row++; + column = 0; + } else { + column++; + } + } + return code.length; +} + function join(strings: IterableIterator) { let result = ''; for (const s of strings) { From edb8846dd377301c3effbf3b113cae4e12becf33 Mon Sep 17 00:00:00 2001 From: George Fraser Date: Wed, 2 Oct 2019 20:16:03 -0700 Subject: [PATCH 3/3] Update deps --- package-lock.json | 42 ++++++++++++++++++++---------------- package.json | 6 +++--- parsers/tree-sitter-go.wasm | Bin 714944 -> 592575 bytes 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/package-lock.json b/package-lock.json index 098129ee3..5aa6d3305 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Go", - "version": "0.11.4", + "version": "0.11.7", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1123,6 +1123,12 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -1504,15 +1510,15 @@ } }, "tree-sitter-cli": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.15.2.tgz", - "integrity": "sha512-nHxOsUIGH4c7OiNFWKoZcM0JDm0/21UNLIOSo/Vdf6ikbUh1v3h3mfK2x1Q2iA7Z3aG9iHdn+I80Yvu1PwZnQw==", + "version": "0.15.9", + "resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.15.9.tgz", + "integrity": "sha512-jqeuo78srjRgYu4QjoPfLiYxBKSUGiv3/pZEaZZT2bB1fTQzaBS9mVtQvgAYTOC/fwY/K894Hb/LHqshmdopKw==", "dev": true }, "tree-sitter-go": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/tree-sitter-go/-/tree-sitter-go-0.13.3.tgz", - "integrity": "sha512-pXnlEDMwrCdnYaOzfEzlMlWqZEKDJXEG4bPvc9j5JSd7IYDWBrwxo+XXuraLSlbj1mJL2kKLIDO8cKDNxUscHw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/tree-sitter-go/-/tree-sitter-go-0.15.0.tgz", + "integrity": "sha512-booht80IETCTTj79Yeicr0UmH9DhZeg8IA58Cf8evuARatbebsUQdh4Zg49Ye+15zVD663/LM+NxkmnJLfq2Rw==", "dev": true, "requires": { "nan": "^2.10.0" @@ -1684,14 +1690,6 @@ "rimraf": "^2.6.3" } }, - "web-request": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/web-request/-/web-request-1.0.7.tgz", - "integrity": "sha1-twxCs81FV3noLbaIYlOySR8r1Wk=", - "requires": { - "request": "^2.69.0" - } - }, "vscode-tree-sitter": { "version": "0.1.24", "resolved": "https://registry.npmjs.org/vscode-tree-sitter/-/vscode-tree-sitter-0.1.24.tgz", @@ -1701,10 +1699,18 @@ "web-tree-sitter": "^0.15.5" } }, + "web-request": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/web-request/-/web-request-1.0.7.tgz", + "integrity": "sha1-twxCs81FV3noLbaIYlOySR8r1Wk=", + "requires": { + "request": "^2.69.0" + } + }, "web-tree-sitter": { - "version": "0.15.5", - "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.15.5.tgz", - "integrity": "sha512-oj6XfJ5GlHhcqXoQ5xum7t207cUFPj7yhI8wrnM/S8yWtMzPUZdpSVqooNTIgXCkbCWmcvLWOHsNl8Ddh9PB/g==" + "version": "0.15.9", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.15.9.tgz", + "integrity": "sha512-1lf4lnmi8oxuEzI6gpUok2FQlHXOmV1iipltkQvmR785JWnUbjhw1sZnwSCkisQP+/g/aezpMGcW3mjz0uVhMw==" }, "websocket-driver": { "version": "0.7.0", diff --git a/package.json b/package.json index 9c6adb3ab..0f8395fa2 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "vscode-languageclient": "~5.2.1", "vscode-tree-sitter": "^0.1.24", "web-request": "^1.0.7", - "web-tree-sitter": "^0.15.5" + "web-tree-sitter": "^0.15.9" }, "devDependencies": { "@types/fs-extra": "^8.0.0", @@ -59,8 +59,8 @@ "@types/semver": "^6.0.1", "@types/vscode": "^1.25.0", "fs-extra": "^8.1.0", - "tree-sitter-cli": "^0.15.2", - "tree-sitter-go": "^0.13.3", + "tree-sitter-cli": "^0.15.9", + "tree-sitter-go": "^0.15.0", "glob": "^7.1.4", "mocha": "^6.2.0", "tslint": "^5.19.0", diff --git a/parsers/tree-sitter-go.wasm b/parsers/tree-sitter-go.wasm index bc99a7a0df1827055b3201e7d872d21bce879146..d73dbec791d43b037e7db3a0e5f03fd8c053b9b8 100644 GIT binary patch literal 592575 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 C_}h8_