Skip to content

Commit 02cd20b

Browse files
committed
feat: allows users to set code editor as default editor for all files
1 parent 21a3efa commit 02cd20b

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

components/Common/Editor.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
</div>
3131
</div>
3232
<CommonDangerAlert v-if="error" class="mb-4">{{ error }}</CommonDangerAlert>
33-
<MilkdownProvider v-if="isMD === true && !error">
33+
<MilkdownProvider v-if="isMD && settingsStore.settings.isCodeViewAllFiles !== true && !error">
3434
<MilkdownEditor
3535
v-model="md"
3636
:note
@@ -40,7 +40,7 @@
4040
:is-focus />
4141
</MilkdownProvider>
4242
<NuxtCodeMirror
43-
v-else-if="isMD === false && !error"
43+
v-else-if="(!isMD || settingsStore.settings.isCodeViewAllFiles) && !error"
4444
:key="isDark.toString()"
4545
ref="codemirror"
4646
v-model="md"
@@ -68,6 +68,7 @@ import { useRouter } from 'vue-router'
6868
import type { EditorState } from '@codemirror/state'
6969
7070
const router = useRouter()
71+
const settingsStore = useSettingsStore()
7172
7273
const queryParams = router.currentRoute.value.query
7374

components/Settings/BasicSettings.vue

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,17 @@
3737
<span class="hidden">Space paragraphs</span>
3838
</CommonToggleBox>
3939
</div>
40+
<!--Setting-->
41+
<div class="flex flex-row items-center gap-2">
42+
Use code view for all files?
43+
<CommonTooltip>Use a plain text editor view for all files including markdown files?</CommonTooltip>
44+
</div>
45+
<div class="flex place-content-end">
46+
<CommonToggleBox v-model="store.settings.isCodeViewAllFiles">
47+
<span class="hidden">Use code view</span>
48+
</CommonToggleBox>
49+
</div>
50+
<!-- /settings -->
4051
</div>
4152
</div>
4253
</CommonBaseCard>

stores/settings.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ export const useSettingsStore = defineStore('settings', () => {
1111
isParagraphSpaced: $settings.data.get('isParagraphSpaced')
1212
? $settings.data.get('isParagraphSpaced') === 'true'
1313
: true,
14-
isISODate: $settings.data.get('isISODate') === 'true'
14+
isISODate: $settings.data.get('isISODate') === 'true',
15+
isCodeViewAllFiles: $settings.data.get('isCodeViewAllFiles') === 'true'
1516
})
1617

1718
const setSetting = async (insertSetting: InsertSetting): Promise<Result<null>> => {
@@ -53,6 +54,11 @@ export const useSettingsStore = defineStore('settings', () => {
5354
() => setSettingValue('isISODate', settings.isISODate.toString())
5455
)
5556

57+
watch(
58+
() => settings.isCodeViewAllFiles,
59+
() => setSettingValue('isCodeViewAllFiles', settings.isCodeViewAllFiles.toString())
60+
)
61+
5662
return {
5763
toggleDenseMode,
5864
settings,

0 commit comments

Comments
 (0)