From a47587ddd438e59fb1ffe0acf52269b399706f0f Mon Sep 17 00:00:00 2001 From: iku12phycho Date: Sat, 9 Mar 2024 19:35:22 +0900 Subject: [PATCH 1/2] allow activation events on user selected language files of all --- packages/test/.textlintrc | 6 +++++- packages/test/.vscode/settings.json | 11 ++++++++++- packages/test/testtest.js | 1 + packages/test/testtest.py | 1 + packages/textlint/package.json | 13 ++----------- 5 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 packages/test/testtest.js create mode 100644 packages/test/testtest.py 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..3c8efcd --- /dev/null +++ b/packages/test/testtest.js @@ -0,0 +1 @@ +// TODO: This is a validated target. \ No newline at end of file diff --git a/packages/test/testtest.py b/packages/test/testtest.py new file mode 100644 index 0000000..4865d07 --- /dev/null +++ b/packages/test/testtest.py @@ -0,0 +1 @@ +# TODO: This is NOT a validated target. \ No newline at end of file diff --git a/packages/textlint/package.json b/packages/textlint/package.json index 5da7eef..1e2de1a 100644 --- a/packages/textlint/package.json +++ b/packages/textlint/package.json @@ -115,16 +115,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" @@ -151,7 +142,7 @@ "webpack-cli": "^4.9.1" }, "engines": { - "vscode": "^1.61.0" + "vscode": "^1.74.0" }, "icon": "textlint-icon_128x128.png", "galleryBanner": { From 05da6913fbf5b9262cdfb8fb16b0d47ae2a06ef8 Mon Sep 17 00:00:00 2001 From: iku12phycho Date: Sat, 9 Mar 2024 19:37:09 +0900 Subject: [PATCH 2/2] visible textlint targeted file at status bar --- packages/textlint/src/extension.ts | 2 +- packages/textlint/src/status.ts | 24 ++++++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) 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..b2cc137 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 (-1 !== this._supports.indexOf(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 inanctive 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,9 @@ 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); + this.show(this.serverRunning === false || this._status !== Status.OK || -1 !== this._supports.indexOf(languageId)); } startProgress() {