Fix indexing errors
This commit is contained in:
2
code/.vscode/launch.json
vendored
2
code/.vscode/launch.json
vendored
@@ -9,7 +9,7 @@
|
|||||||
"type": "extensionHost",
|
"type": "extensionHost",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"runtimeExecutable": "${execPath}",
|
"runtimeExecutable": "${execPath}",
|
||||||
"args": ["--extensionDevelopmentPath=${workspaceRoot}" ],
|
"args": ["--extensionDevelopmentPath=${workspaceRoot}"],
|
||||||
"stopOnEntry": false,
|
"stopOnEntry": false,
|
||||||
"sourceMaps": true,
|
"sourceMaps": true,
|
||||||
"outFiles": [ "${workspaceRoot}/out/src/**/*.js" ],
|
"outFiles": [ "${workspaceRoot}/out/src/**/*.js" ],
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ let uris = {
|
|||||||
|
|
||||||
export function activate(context: vscode.ExtensionContext) {
|
export function activate(context: vscode.ExtensionContext) {
|
||||||
let textDocumentContentProvider = new TextDocumentContentProvider()
|
let textDocumentContentProvider = new TextDocumentContentProvider()
|
||||||
|
|
||||||
let dispose = (disposable) => {
|
let dispose = (disposable) => {
|
||||||
context.subscriptions.push(disposable);
|
context.subscriptions.push(disposable);
|
||||||
}
|
}
|
||||||
@@ -25,7 +24,6 @@ export function activate(context: vscode.ExtensionContext) {
|
|||||||
let emitter = textDocumentContentProvider.eventEmitter
|
let emitter = textDocumentContentProvider.eventEmitter
|
||||||
emitter.fire(uris.syntaxTree)
|
emitter.fire(uris.syntaxTree)
|
||||||
let syntax = activeSyntax()
|
let syntax = activeSyntax()
|
||||||
console.log(syntax.highlight());
|
|
||||||
setHighlights(vscode.window.activeTextEditor, syntax.highlight())
|
setHighlights(vscode.window.activeTextEditor, syntax.highlight())
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -89,7 +87,10 @@ function documentToFile(disposables: vscode.Disposable[], onChange) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function createFile(text: String) {
|
function createFile(text: String) {
|
||||||
return new backend.RustFile(text)
|
console.time("parsing")
|
||||||
|
let res = new backend.RustFile(text);
|
||||||
|
console.timeEnd("parsing")
|
||||||
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
vscode.workspace.onDidChangeTextDocument((event: vscode.TextDocumentChangeEvent) => {
|
vscode.workspace.onDidChangeTextDocument((event: vscode.TextDocumentChangeEvent) => {
|
||||||
@@ -159,7 +160,6 @@ function setHighlights(
|
|||||||
editor: vscode.TextEditor,
|
editor: vscode.TextEditor,
|
||||||
highlihgs: Array<[number, number, string]>
|
highlihgs: Array<[number, number, string]>
|
||||||
) {
|
) {
|
||||||
console.log("setHighlight");
|
|
||||||
let byTag = {}
|
let byTag = {}
|
||||||
for (let tag in decorations) {
|
for (let tag in decorations) {
|
||||||
byTag[tag] = []
|
byTag[tag] = []
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ fn atom_expr(p: &mut Parser) -> Option<CompletedMarker> {
|
|||||||
match p.current() {
|
match p.current() {
|
||||||
L_PAREN => Some(tuple_expr(p)),
|
L_PAREN => Some(tuple_expr(p)),
|
||||||
_ => {
|
_ => {
|
||||||
p.error("expected expression");
|
p.err_and_bump("expected expression");
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ impl<R: TreeRoot> SyntaxNode<R> {
|
|||||||
let red = self.red();
|
let red = self.red();
|
||||||
let parent = self.parent()?;
|
let parent = self.parent()?;
|
||||||
let next_sibling_idx = red.index_in_parent()? + 1;
|
let next_sibling_idx = red.index_in_parent()? + 1;
|
||||||
if next_sibling_idx == red.n_children() {
|
if next_sibling_idx == parent.red().n_children() {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
Some(SyntaxNode {
|
Some(SyntaxNode {
|
||||||
|
|||||||
Reference in New Issue
Block a user