修改文本编辑器
This commit is contained in:
parent
8a2083381a
commit
e28df1cf21
@ -7,21 +7,39 @@
|
|||||||
<script>
|
<script>
|
||||||
|
|
||||||
// htmlmixed mode
|
// htmlmixed mode
|
||||||
require('codemirror/mode/vue/vue.js')
|
const modulesFiles = require.context("codemirror/mode", true, /\.js$/);
|
||||||
require('codemirror/mode/xml/xml.js')
|
|
||||||
require('codemirror/mode/javascript/javascript.js')
|
// you do not need `import app from './modules/app'`
|
||||||
require('codemirror/mode/css/css.js')
|
|
||||||
require('codemirror/mode/shell/shell.js')
|
// it will auto require all vuex module from modules file
|
||||||
require('codemirror/mode/yaml/yaml.js')
|
|
||||||
require('codemirror/mode/swift/swift.js')
|
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
|
||||||
require('codemirror/mode/sql/sql.js')
|
|
||||||
require('codemirror/mode/sass/sass.js')
|
// set './app.js' => 'app'
|
||||||
require('codemirror/mode/sas/sas.js')
|
|
||||||
require('codemirror/mode/php/php.js')
|
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, "$1");
|
||||||
require('codemirror/mode/css/css.js')
|
|
||||||
require('codemirror/mode/markdown/markdown.js')
|
const value = modulesFiles(modulePath);
|
||||||
require('codemirror/mode/go/go.js')
|
|
||||||
require('codemirror/mode/dart/dart.js')
|
modules[moduleName] = value.default;
|
||||||
|
|
||||||
|
return modules;
|
||||||
|
|
||||||
|
}, {});
|
||||||
|
// require('codemirror/mode/xml/xml.js')
|
||||||
|
// require('codemirror/mode/javascript/javascript.js')
|
||||||
|
// require('codemirror/mode/css/css.js')
|
||||||
|
// require('codemirror/mode/shell/shell.js')
|
||||||
|
// require('codemirror/mode/yaml/yaml.js')
|
||||||
|
// require('codemirror/mode/swift/swift.js')
|
||||||
|
// require('codemirror/mode/sql/sql.js')
|
||||||
|
// require('codemirror/mode/sass/sass.js')
|
||||||
|
// require('codemirror/mode/sas/sas.js')
|
||||||
|
// require('codemirror/mode/php/php.js')
|
||||||
|
// require('codemirror/mode/css/css.js')
|
||||||
|
// require('codemirror/mode/markdown/markdown.js')
|
||||||
|
// require('codemirror/mode/go/go.js')
|
||||||
|
// require('codemirror/mode/dart/dart.js')
|
||||||
// require('codemirror/mode/clike/clike.js')
|
// require('codemirror/mode/clike/clike.js')
|
||||||
|
|
||||||
// theme
|
// theme
|
||||||
@ -29,11 +47,28 @@
|
|||||||
require('codemirror/theme/ayu-dark.css')
|
require('codemirror/theme/ayu-dark.css')
|
||||||
require('codemirror/theme/3024-day.css')
|
require('codemirror/theme/3024-day.css')
|
||||||
require('codemirror/theme/3024-night.css')
|
require('codemirror/theme/3024-night.css')
|
||||||
|
require('codemirror/theme/ambiance.css')
|
||||||
|
require('codemirror/theme/seti.css')
|
||||||
|
|
||||||
// require hint addon for javacript
|
// 支持代码折叠
|
||||||
|
require('codemirror/addon/fold/foldgutter.css')
|
||||||
|
require('codemirror/addon/fold/foldcode.js')
|
||||||
|
require('codemirror/addon/fold/foldgutter.js')
|
||||||
|
require('codemirror/addon/fold/brace-fold.js')
|
||||||
|
require('codemirror/addon/fold/comment-fold.js')
|
||||||
|
|
||||||
|
// 全屏模式
|
||||||
|
require('codemirror/addon/display/fullscreen.css')
|
||||||
|
require('codemirror/addon/display/fullscreen.js')
|
||||||
|
|
||||||
|
// 自动补全
|
||||||
require('codemirror/addon/hint/show-hint.js')
|
require('codemirror/addon/hint/show-hint.js')
|
||||||
require('codemirror/addon/hint/show-hint.css')
|
require('codemirror/addon/hint/show-hint.css')
|
||||||
require('codemirror/addon/hint/javascript-hint.js')
|
require('codemirror/addon/hint/javascript-hint.js')
|
||||||
|
require('codemirror/addon/hint/anyword-hint.js')
|
||||||
|
require('codemirror/addon/hint/html-hint.js')
|
||||||
|
require('codemirror/addon/hint/xml-hint.js')
|
||||||
|
require('codemirror/addon/hint/css-hint.js')
|
||||||
|
|
||||||
// Crtl-F 搜索
|
// Crtl-F 搜索
|
||||||
import 'codemirror/addon/dialog/dialog';
|
import 'codemirror/addon/dialog/dialog';
|
||||||
@ -70,7 +105,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
ready: function () {
|
ready: function () {
|
||||||
console.log(6789)
|
|
||||||
let that = this
|
let that = this
|
||||||
this.editor = CodeMirror.fromTextArea(this.$el.querySelector('textarea'), this.options)
|
this.editor = CodeMirror.fromTextArea(this.$el.querySelector('textarea'), this.options)
|
||||||
this.editor.setValue(this.value)
|
this.editor.setValue(this.value)
|
||||||
|
|||||||
@ -58,14 +58,19 @@
|
|||||||
computed: {
|
computed: {
|
||||||
options: function () {
|
options: function () {
|
||||||
return {
|
return {
|
||||||
mode: this.codeMode,
|
mode: this.codeMode,//代码高亮
|
||||||
// tabSize: 2,
|
// tabSize: 2, // table键缩进
|
||||||
styleActiveLine: true,
|
styleActiveLine: true,
|
||||||
lineNumbers: true,
|
lineNumbers: true, //显示行号
|
||||||
lineWrapping: this.lineWrapping,
|
lineWrapping: this.lineWrapping,//代码折叠
|
||||||
|
foldGutter: true,
|
||||||
|
gutters:["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
|
||||||
readOnly: this.readOnly,
|
readOnly: this.readOnly,
|
||||||
theme: 'idea',
|
theme: 'idea',
|
||||||
extraKeys: {'Ctrl-Z': 'autocomplete'},
|
// theme: 'default',
|
||||||
|
fullScreen: false, // 全屏
|
||||||
|
matchBrackets: true, //括号匹配
|
||||||
|
extraKeys: {'Ctrl-I': 'autocomplete'}, //智能提示
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -95,13 +100,17 @@
|
|||||||
message: '<span> 正在加载数据...</span>'
|
message: '<span> 正在加载数据...</span>'
|
||||||
})
|
})
|
||||||
|
|
||||||
this.codeMode = 'javascript'
|
this.codeMode = 'text/javascript'
|
||||||
let suffix = a.suffix
|
let suffix = a.suffix
|
||||||
const modeIndex = modeInfo.findIndex(item => item.ext && item.ext.includes(suffix))
|
const modeIndex = modeInfo.findIndex(item => item.ext && item.ext.includes(suffix))
|
||||||
if(modeIndex > -1){
|
if(modeIndex > -1){
|
||||||
const mode = modeInfo[modeIndex].mode
|
const mode = modeInfo[modeIndex].mode
|
||||||
if(CodeMirror.modes.hasOwnProperty(mode)){
|
if(CodeMirror.modes.hasOwnProperty(mode)){
|
||||||
this.codeMode = mode
|
let mime = modeInfo[modeIndex].mime
|
||||||
|
if(!mime){
|
||||||
|
mime = modeInfo[modeIndex].mimes[0]
|
||||||
|
}
|
||||||
|
this.codeMode = mime
|
||||||
}else{
|
}else{
|
||||||
this.$message.warning("暂不支持的文件类型:",modeInfo[modeIndex].mime)
|
this.$message.warning("暂不支持的文件类型:",modeInfo[modeIndex].mime)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user