Skip to content

Commit 598f662

Browse files
committed
feat: warn if no bak file exists in patched extension when loaded
1 parent a34154b commit 598f662

File tree

3 files changed

+23
-19
lines changed

3 files changed

+23
-19
lines changed

src/index.ts

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,24 @@ import { debounce, showMessage } from './utils'
99
const changedMsg = 'UI Style changed.'
1010
const rollbackMsg = 'UI Style rollback.'
1111

12+
const configChangedMsg = 'Configuration changed, apply now?'
13+
const newVersionMsg = 'Seems like first time use or new version is installed, initialize and reload config now?'
14+
const extensionUpdatedMsg = 'Seems like extensions are updated, reload config now?'
1215
const { activate, deactivate } = defineExtension(() => {
13-
const { hasBakFile, reload, rollback } = createFileManagers()
16+
const { hasBakFile, hasBakExtFiles, reload, rollback } = createFileManagers()
17+
18+
const requestReload = (msg: string) => showMessage(msg, 'Yes', 'No')
19+
.then<any>(item => item === 'Yes' && reload(changedMsg))
1420

1521
if (!hasBakFile()) {
16-
showMessage(
17-
'Seems like first time use or new version is installed, initialize and reload config now?',
18-
'Yes',
19-
'No',
20-
)
21-
.then<any>(item => item === 'Yes' && reload(changedMsg))
22+
requestReload(newVersionMsg)
23+
} else if (!hasBakExtFiles()) {
24+
requestReload(extensionUpdatedMsg)
2225
}
2326

2427
useCommand(Meta.commands.reload, () => reload(changedMsg))
2528
useCommand(Meta.commands.rollback, () => rollback(rollbackMsg))
2629

27-
const notifyChanged = () => showMessage(
28-
'Configuration changed, apply now?',
29-
'Yes',
30-
'No',
31-
)
32-
.then<any>(item => item === 'Yes' && reload(changedMsg))
33-
3430
useDisposable(
3531
workspace.onDidChangeConfiguration(
3632
debounce(
@@ -39,14 +35,14 @@ const { activate, deactivate } = defineExtension(() => {
3935
return
4036
}
4137
if (e.affectsConfiguration(Meta.name)) {
42-
notifyChanged()
38+
requestReload(configChangedMsg)
4339
} else if (e.affectsConfiguration(ffKey) && !config['font.monospace']) {
4440
const {
4541
globalValue,
4642
workspaceValue,
4743
} = workspace.getConfiguration().inspect<string>(ffKey)!
4844
if (globalValue === workspaceValue) {
49-
notifyChanged()
45+
requestReload(configChangedMsg)
5046
}
5147
}
5248
},

src/manager/extension.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,20 @@ class ExtensionFileManager extends BaseFileManager {
6161
}
6262
}
6363

64-
export function createExtensionFileManagers() {
64+
export function createExtensionFileManagers(skipWarnIfExtensionNotExist = false) {
6565
if (!config['extensions.enable'] || !config['extensions.config']) {
6666
return []
6767
}
6868
const managers = []
6969
for (const [extensionId, patchConfig] of Object.entries(config['extensions.config'])) {
7070
const rootPath = extensions.getExtension(extensionId)?.extensionPath
7171
if (!rootPath) {
72-
promptWarn(`No such extension: ${extensionId}, skip patch`)
72+
const msg = `No such extension: ${extensionId}, skip`
73+
if (skipWarnIfExtensionNotExist) {
74+
log.warn(msg)
75+
} else {
76+
promptWarn(msg)
77+
}
7378
continue
7479
}
7580
if (!Array.isArray(patchConfig)) {
@@ -88,7 +93,9 @@ export function createExtensionFileManagers() {
8893
}
8994
}
9095
if (warningArray.length > 0) {
91-
promptWarn(`Configs of ${extensionId} are invalid: ${JSON.stringify(warningArray, null, 2)}`)
96+
promptWarn(
97+
`Configs of ${extensionId} are invalid: ${JSON.stringify(warningArray, null, 2)}`,
98+
)
9299
}
93100
}
94101
return managers

src/manager/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export function createFileManagers() {
3232

3333
return {
3434
hasBakFile: () => builtinManagers.every(m => m.hasBakFile),
35+
hasBakExtFiles: () => createExtensionFileManagers(true).every(m => m.hasBakFile),
3536
reload: async (text: string) => {
3637
await runAndRestart(
3738
text,

0 commit comments

Comments
 (0)