mirror of
https://github.com/jlengrand/vscode-elm-signature.git
synced 2026-03-10 08:51:17 +00:00
Fix on-save bug
Removes unnecessary coupling
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user