Skip to content

Commit 9b46e62

Browse files
committed
fix(settings): fixed an issue with changing settings through the settings page
fix #72
1 parent 64186f9 commit 9b46e62

3 files changed

Lines changed: 17 additions & 14 deletions

File tree

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ indent_style = space
77
indent_size = 2
88
insert_final_newline = true
99
trim_trailing_whitespace = true
10-
end_of_line = crlf
10+
end_of_line = lf
1111

1212
[*.md]
1313
max_line_length = off

src/ts/extension.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ const activate = function activate(context: vscode.ExtensionContext): void {
7575
const isCustomizationEnabled = config.get('colorCustomizations') as boolean;
7676

7777
if (isCustomizationEnabled) {
78-
updateTokenCustomization();
78+
updateTokenCustomization(true);
7979
} else {
80-
disableTokenCustomization();
80+
disableTokenCustomization(true);
8181
}
8282
}
8383
});

src/ts/token-customization/index.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,17 @@ const removeLegacyColorCustomizations = async (): Promise<SettingsDictionary> =>
6868
return settings;
6969
};
7070

71-
const getOpenTabs = (): string[] =>
72-
vscode.window.tabGroups.all
73-
.map(tabGroup => tabGroup.tabs)
74-
.map(tabs => tabs.map(tab => tab.label))
75-
.flat();
71+
const getOpenTabs = (): string[] => {
72+
const labelList = vscode.window.tabGroups.all.map(tabGroup => tabGroup.tabs).map(tabs => tabs.map(tab => tab.label));
7673

77-
const checkOpenTabs = (openTabs: string[]): boolean =>
78-
openTabs.some(openTab => ['Settings', 'settings.json'].includes(openTab));
74+
return labelList.flat();
75+
};
76+
77+
const checkOpenTabs = (openTabs: string[], fromSettingsChange = false): boolean => {
78+
const labelsList = fromSettingsChange ? ['settings.json'] : ['Settings', 'settings.json'];
79+
80+
return openTabs.some(openTab => labelsList.includes(openTab));
81+
};
7982

8083
const displayTabsMessage = (): void => {
8184
vscode.window.showErrorMessage(
@@ -86,10 +89,10 @@ const displayTabsMessage = (): void => {
8689
);
8790
};
8891

89-
const disableTokenCustomization = async (): Promise<void> => {
92+
const disableTokenCustomization = async (fromSettingsChange = false): Promise<void> => {
9093
const openTabs = getOpenTabs();
9194

92-
if (checkOpenTabs(openTabs)) {
95+
if (checkOpenTabs(openTabs, fromSettingsChange)) {
9396
displayTabsMessage();
9497

9598
return;
@@ -125,10 +128,10 @@ const getActiveRulesFromSettings = (configs: vscode.WorkspaceConfiguration): Tex
125128
return rules;
126129
};
127130

128-
const updateTokenCustomization = async (): Promise<void> => {
131+
const updateTokenCustomization = async (fromSettingsChange = false): Promise<void> => {
129132
const openTabs = getOpenTabs();
130133

131-
if (checkOpenTabs(openTabs)) {
134+
if (checkOpenTabs(openTabs, fromSettingsChange)) {
132135
displayTabsMessage();
133136

134137
return;

0 commit comments

Comments
 (0)