aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/events/change_text_document.ts
blob: 83ee6c9ee99747f30668ef0b935ab9b719e432d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import * as vscode from 'vscode';

import { syntaxTreeUri, TextDocumentContentProvider } from '../commands/syntaxTree';

export function createHandler(textDocumentContentProvider: TextDocumentContentProvider) {
    return (event: vscode.TextDocumentChangeEvent) => {
        let doc = event.document
        if (doc.languageId != "rust") return
        afterLs(() => {
            textDocumentContentProvider.eventEmitter.fire(syntaxTreeUri);
        })
    }
}

// We need to order this after LS updates, but there's no API for that.
// Hence, good old setTimeout.
function afterLs(f: () => any) {
    setTimeout(f, 10)
}