Merge pull request #15 from jlengrand/on-save-needed-bug

Fix on-save bug
This commit is contained in:
julien Lengrand-Lambert
2018-08-17 11:50:52 +02:00
committed by GitHub
2 changed files with 8 additions and 10 deletions

View File

@@ -63,8 +63,9 @@ export class ElmSignatureProvider implements vscode.TreeDataProvider<vscode.Tree
this.elmSignatureExtractor = elmSignatureExtractor;
}
refresh(resetTree: boolean = true){
async refresh(resetTree: boolean = true){
if(resetTree){
await this.elmSignatureExtractor.updateDataFound();
this.signatureTree = null;
}
this._onDidChangeTreeData.fire();
@@ -94,7 +95,7 @@ export class ElmSignatureProvider implements vscode.TreeDataProvider<vscode.Tree
allSign.push(filterItem);
const elmFiles = this.elmSignatureExtractor.getSignatures();
for (let elmFile of elmFiles) {
const fileName = elmFile.fileName()
const signatures = elmFile.signatures();

View File

@@ -9,10 +9,10 @@ export async function activate(context: vscode.ExtensionContext) {
let elmSignatureExtractor = new ElmSignatureExtractor();
elmSignatureProvider = new ElmFilterableSignatureProvider(elmSignatureExtractor);
let elmSignatureController = new ElmSignatureController(elmSignatureExtractor, elmSignatureProvider);
let elmSignatureController = new ElmSignatureController(elmSignatureProvider);
vscode.window.registerTreeDataProvider('elmSignatures', elmSignatureProvider);
vscode.commands.registerCommand('extension.filterElmSignatures', moduleName => vscode.commands.executeCommand('vscode.filterElmSignatures', filterSignatures()));
vscode.commands.registerCommand('extension.filterElmSignatures', _ => vscode.commands.executeCommand('vscode.filterElmSignatures', filterSignatures()));
context.subscriptions.push(elmSignatureExtractor);
context.subscriptions.push(elmSignatureController);
@@ -33,20 +33,18 @@ async function filterSignatures() {
class ElmSignatureController {
private elmSignatureExtractor: ElmSignatureExtractor;
private elmSignatureProvider: ElmSignatureProvider;
private _disposable: vscode.Disposable;
constructor(elmSignatureDisplayer: ElmSignatureExtractor, elmSignatureProvider: ElmSignatureProvider) {
this.elmSignatureExtractor = elmSignatureDisplayer;
constructor(elmSignatureProvider: ElmSignatureProvider) {
this.elmSignatureProvider = elmSignatureProvider;
let subscriptions: vscode.Disposable[] = [];
vscode.workspace.onDidSaveTextDocument(this._onEvent, this, subscriptions);
this.elmSignatureExtractor.updateDataFound();
this._disposable = vscode.Disposable.from(...subscriptions);
this.elmSignatureProvider.refresh();
}
dispose() {
@@ -54,7 +52,6 @@ class ElmSignatureController {
}
private _onEvent() {
this.elmSignatureExtractor.updateDataFound();
this.elmSignatureProvider.refresh();
}
}