Skip to content

Commit e1e6b68

Browse files
authored
Merge pull request #1378 from Moyf/master
Add a 'Suppress message if no change' feature with settings.
2 parents 60c044b + ca559b5 commit e1e6b68

File tree

9 files changed

+37
-0
lines changed

9 files changed

+37
-0
lines changed

src/lang/locale/de.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@ export default {
128128
'name': 'Meldung beim Linten anzeigen',
129129
'description': 'Zeigen Sie die Anzahl der Zeichen an, die sich nach dem Linten geändert haben',
130130
},
131+
'suppress-message-when-no-change': {
132+
'name': 'Meldung bei keiner Änderung unterdrücken',
133+
'description': 'Wenn aktiviert, wird keine Meldung angezeigt, wenn keine tatsächlichen Änderungen auftreten.',
134+
},
131135
'lint-on-file-change': {
132136
'name': 'Linten bei Dateiänderungen',
133137
'description': 'Wenn eine Datei geschlossen oder zu einer neuen Datei gewechselt wird, wird die vorherige Datei gelinted.',

src/lang/locale/en.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,10 @@ export default {
162162
'name': 'Display message on lint',
163163
'description': 'Display the number of characters changed after linting',
164164
},
165+
'suppress-message-when-no-change': {
166+
'name': 'Suppress Message When No Change',
167+
'description': 'If enabled, no message will be shown when no actual changes occur.',
168+
},
165169
'lint-on-file-change': {
166170
'name': 'Lint on Focused File Change',
167171
'description': 'When a file is closed or a new file is swapped to, the previous file is linted.',

src/lang/locale/es.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,10 @@ export default {
101101
'name': 'Mostrar mensaje en analizar',
102102
'description': 'Mostrar el número de caracteres modificados después de analizar',
103103
},
104+
'suppress-message-when-no-change': {
105+
'name': 'Suprimir mensaje cuando no hay cambios',
106+
'description': 'Si está habilitado, no se mostrará ningún mensaje cuando no ocurran cambios reales.',
107+
},
104108
'folders-to-ignore': {
105109
'name': 'Carpetas para omitir',
106110
'description': 'Carpetas que se deben omitir al analizar todos los archivos o al guardar en línea.',

src/lang/locale/ru.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,10 @@ export default {
150150
'name': 'Показывать уведомление после линта',
151151
'description': 'Показывать количество символов, измененных после линта',
152152
},
153+
'suppress-message-when-no-change': {
154+
'name': 'Подавить уведомление при отсутствии изменений',
155+
'description': 'Если включено, уведомление не будет показано, когда не происходит фактических изменений.',
156+
},
153157
'lint-on-file-change': {
154158
'name': 'Линт при изменении файла в фокусе',
155159
'description': 'Когда файл закрывается или заменяется на новый, предыдущий файл линтится.',

src/lang/locale/tr.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ export default {
127127
'name': 'Düzeltme sonrası mesajı göster',
128128
'description': 'Düzeltme sonrası değişen karakter sayısını gösterir',
129129
},
130+
'suppress-message-when-no-change': {
131+
'name': 'Değişiklik Olmadığında Mesajı Bastır',
132+
'description': 'Etkinleştirildiğinde, gerçek değişiklikler olmadığında mesaj gösterilmez.',
133+
},
130134
'lint-on-file-change': {
131135
'name': 'Dosya Değişikliğinde Düzeltme',
132136
'description': 'Bir dosya kapatıldığında veya yeni bir dosya açıldığında, önceki dosya düzeltilir.',

src/lang/locale/zh-cn.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,10 @@ export default {
150150
'name': '格式化后显示消息',
151151
'description': '格式化后显示修改了多少字符',
152152
},
153+
'suppress-message-when-no-change': {
154+
'name': '无修改时不显示消息',
155+
'description': '开启后,若无实际改动发生则不显示消息。',
156+
},
153157
'lint-on-file-change': {
154158
'name': '文件修改时格式化',
155159
'description': '当文件关闭或是切换到新文件时,格式化之前的文件',

src/main.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ export default class LinterPlugin extends Plugin {
123123
async loadSettings() {
124124
const data = await this.loadData();
125125
this.settings = Object.assign({}, DEFAULT_SETTINGS, data);
126+
if (typeof this.settings.suppressMessageWhenNoChange !== 'boolean') {
127+
this.settings.suppressMessageWhenNoChange = false;
128+
}
126129
if (typeof this.settings.logLevel === 'number') {
127130
this.settings.logLevel = convertNumberToLogLevel(this.settings.logLevel);
128131
}
@@ -892,7 +895,11 @@ export default class LinterPlugin extends Plugin {
892895
}
893896

894897
private displayChangedMessage(charsAdded: number, charsRemoved: number) {
898+
const suppressMessageWhenNoChange = this.settings.suppressMessageWhenNoChange ?? false;
895899
if (this.settings.displayChanged) {
900+
if (suppressMessageWhenNoChange && charsAdded + charsRemoved === 0) {
901+
return;
902+
}
896903
const message = dedent`
897904
${charsAdded} ${getTextInLanguage('notice-text.characters-added')}
898905
${charsRemoved} ${getTextInLanguage('notice-text.characters-removed')}

src/settings-data.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export interface LinterSettings {
2929
};
3030
lintOnSave: boolean;
3131
displayChanged: boolean;
32+
suppressMessageWhenNoChange?: boolean;
3233
settingsConvertedToConfigKeyValues: boolean;
3334
recordLintOnSaveLogs: boolean;
3435
lintOnFileChange: boolean;
@@ -49,6 +50,7 @@ export const DEFAULT_SETTINGS: Partial<LinterSettings> = {
4950
lintOnSave: false,
5051
recordLintOnSaveLogs: false,
5152
displayChanged: true,
53+
suppressMessageWhenNoChange: false,
5254
lintOnFileChange: false,
5355
displayLintOnFileChangeNotice: false,
5456
settingsConvertedToConfigKeyValues: false,

src/ui/linter-components/tab-components/general-tab.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ export class GeneralTab extends Tab {
5454
displayLintOnActiveFileChangeSetting.hide();
5555
}
5656

57+
tempDiv = this.contentEl.createDiv();
58+
const suppressMessageWhenNoChangeSetting = new ToggleSetting( tempDiv, 'tabs.general.suppress-message-when-no-change.name', 'tabs.general.suppress-message-when-no-change.description', 'suppressMessageWhenNoChange', this.plugin);
59+
this.addSettingSearchInfoForGeneralSettings(suppressMessageWhenNoChangeSetting);
60+
5761
const sysLocale = navigator.language?.toLowerCase();
5862
const localeValues = ['system-default'];
5963
const localeDescriptions = [getTextInLanguage('tabs.general.same-as-system-locale').replace('{SYS_LOCALE}', sysLocale)];

0 commit comments

Comments
 (0)