diff --git a/packages/test/.textlintrc b/packages/test/.textlintrc index 514329c..723e055 100644 --- a/packages/test/.textlintrc +++ b/packages/test/.textlintrc @@ -1,6 +1,10 @@ { "plugins": { - "html": true, + "html": { + "extensions": [ + ".js" + ] + }, "latex2e": true }, "filters": {}, diff --git a/packages/test/.vscode/settings.json b/packages/test/.vscode/settings.json index c6270a9..2ddd464 100644 --- a/packages/test/.vscode/settings.json +++ b/packages/test/.vscode/settings.json @@ -1,5 +1,14 @@ { "textlint.run": "onType", "textlint.autoFixOnSave": false, - "textlint.trace": "verbose" + "textlint.trace": "verbose", + "textlint.languages": [ + "markdown", + "plaintext", + "html", + "tex", + "latex", + "doctex", + "javascript" + ] } diff --git a/packages/test/testtest.js b/packages/test/testtest.js new file mode 100644 index 0000000..7385977 --- /dev/null +++ b/packages/test/testtest.js @@ -0,0 +1 @@ +// TODO: This is a validated target. diff --git a/packages/test/testtest.py b/packages/test/testtest.py new file mode 100644 index 0000000..213089d --- /dev/null +++ b/packages/test/testtest.py @@ -0,0 +1 @@ +# TODO: This is NOT a validated target. diff --git a/packages/textlint/package.json b/packages/textlint/package.json index cde66ff..026200d 100644 --- a/packages/textlint/package.json +++ b/packages/textlint/package.json @@ -111,16 +111,7 @@ } }, "activationEvents": [ - "onLanguage:html", - "onLanguage:plaintext", - "onLanguage:markdown", - "onLanguage:latex", - "onLanguage:tex", - "onLanguage:pdf", - "onLanguage:django-txt", - "onLanguage:django-html", - "onLanguage:doctex", - "onLanguage:restructuredtext", + "onLanguage", "onCommand:textlint.showOutputChannel", "onCommand:textlint.createConfig", "onCommand:textlint.executeAutofix" @@ -148,7 +139,7 @@ "webpack-cli": "^4.9.1" }, "engines": { - "vscode": "^1.61.0" + "vscode": "^1.74.0" }, "icon": "textlint-icon_128x128.png", "galleryBanner": { diff --git a/packages/textlint/src/extension.ts b/packages/textlint/src/extension.ts index 8f9ba29..b4ee6c2 100644 --- a/packages/textlint/src/extension.ts +++ b/packages/textlint/src/extension.ts @@ -238,7 +238,7 @@ function configureAutoFixOnSave(client: LanguageClient) { disposeAutoFixOnSave(); if (auto) { - const languages = new Set(getConfig("languages")); + const languages = new Set(getConfig("languages", [])); autoFixOnSave = workspace.onWillSaveTextDocument((event) => { const doc = event.document; const target = getConfig("targetPath", null); diff --git a/packages/textlint/src/status.ts b/packages/textlint/src/status.ts index 872bef4..e4aee99 100644 --- a/packages/textlint/src/status.ts +++ b/packages/textlint/src/status.ts @@ -57,6 +57,20 @@ export class StatusBar { this._delegate.hide(); } } + activate(languageId: string) { + if (languageId === "") { + return; + } + + if (this._supports.includes(languageId)) { + this._delegate.color = ""; + this._delegate.tooltip = + "need to restart this extension or check this extension setting and .textlintrc if textlint is not working."; + } else { + this._delegate.color = "#818589"; + this._delegate.tooltip = `textlint is inactive on ${languageId}.`; + } + } get status(): Status { return this._status; @@ -73,7 +87,7 @@ export class StatusBar { set serverRunning(sr: boolean) { this._serverRunning = sr; - this._delegate.tooltip = sr ? "textlint server is running." : "textlint server stopped."; + window.showInformationMessage(sr ? "textlint server is running." : "textlint server stopped."); this.update(); } @@ -83,11 +97,12 @@ export class StatusBar { updateWith(editor: TextEditor) { this._delegate.text = this.status.label; - this.show( - this.serverRunning === false || - this._status !== Status.OK || - (editor && 0 < this._supports.indexOf(editor.document.languageId)) - ); + const languageId = editor?.document.languageId ?? ""; + this.activate(languageId); + + const shouldShowStatusBar = + !this.serverRunning || this._status !== Status.OK || this._supports.includes(languageId); + this.show(shouldShowStatusBar); } startProgress() {