@@ -26,8 +26,24 @@ import { useEditing } from "../stores/editing"
26
26
import " codemirror/mode/javascript/javascript.js"
27
27
import " codemirror/mode/htmlmixed/htmlmixed.js"
28
28
import " codemirror/mode/markdown/markdown.js"
29
+ import " codemirror/mode/vue/vue.js"
30
+ import ' codemirror/addon/lint/lint.css'
31
+ import ' codemirror/lib/codemirror.css'
32
+ import ' codemirror/theme/panda-syntax.css'
33
+ import ' codemirror/mode/javascript/javascript'
34
+ import ' codemirror/addon/lint/json-lint'
35
+ // 折叠代码
36
+ import ' codemirror/addon/fold/foldgutter.css' ;
37
+ import ' codemirror/addon/fold/foldcode.js' ;
38
+ import ' codemirror/addon/fold/foldgutter.js' ;
39
+ import ' codemirror/addon/fold/brace-fold.js' ;
40
+ import ' codemirror/addon/fold/xml-fold.js' ;
41
+ import ' codemirror/addon/fold/indent-fold.js' ;
42
+ import ' codemirror/addon/fold/markdown-fold.js' ;
43
+ import ' codemirror/addon/fold/comment-fold.js'
29
44
import " codemirror/theme/monokai.css"
30
- import { ref , onMounted } from " vue"
45
+ // inport "codemirror/addon/edit/closetag.js"
46
+ import { ref , onMounted , watch } from " vue"
31
47
import { useRoute } from " vue-router"
32
48
import { GetFile , SaveFile } from " ../api"
33
49
import { useMessage } from " naive-ui"
@@ -37,6 +53,10 @@ const editing = useEditing()
37
53
38
54
// 字体大小
39
55
const fontSize = ref (editing .fontSize )
56
+ const onUpdate = () => {
57
+ editing .updateFontSize (fontSize .value )
58
+ }
59
+ watch (fontSize ,onUpdate )
40
60
41
61
const code = ref (` ` )
42
62
let cmOptions: any = ref ({
@@ -70,8 +90,19 @@ const save = async () => {
70
90
onMounted (async () => {
71
91
if (parser () == ' js' ) {
72
92
cmOptions .value .mode = ' javascript'
93
+ cmOptions .value .lint = true
73
94
} else if (parser () == ' md' ) {
74
95
cmOptions .value .mode = ' markdown'
96
+ } else if (parser () == ' json' ) {
97
+ cmOptions .value .mode = ' application/json'
98
+ cmOptions .value .lint = true
99
+ } else if (parser () == ' ts' ) {
100
+ cmOptions .value .mode = ' javascript'
101
+ } else if (parser () == ' vue' ) {
102
+ cmOptions .value .mode = ' vue'
103
+ } else if (parser () == ' html' ) {
104
+ cmOptions .value .mode = ' text/html'
105
+ import (" codemirror/addon/edit/closetag.js" )
75
106
}
76
107
console .log (parser ())
77
108
const data = await GetFile (route .query .path )
0 commit comments