Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
夜猫逐梦
1024程序员开源挑战赛
提交
d2c4a58b
1
1024程序员开源挑战赛
项目概览
夜猫逐梦
/
1024程序员开源挑战赛
与 Fork 源项目一致
Fork自
GitCode / 1024程序员开源挑战赛(10.23-11.14)
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
1
1024程序员开源挑战赛
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d2c4a58b
编写于
2月 26, 2021
作者:
B
baiy
提交者:
ninecents
10月 23, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码格式化工具优化
上级
4736a100
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
90 addition
and
77 deletion
+90
-77
src/views/tool/code.vue
src/views/tool/code.vue
+75
-77
src/views/tool/library/formatter.js
src/views/tool/library/formatter.js
+15
-0
未找到文件。
src/views/tool/code.vue
浏览文件 @
d2c4a58b
<
template
>
<
template
>
<div>
<div>
<div
style=
"border: 1px solid #dcdee2;border-radius: 4px;"
>
<div
style=
"border: 1px solid #dcdee2;border-radius: 4px;"
>
<codemirror
ref=
"code"
v-model=
"current.content"
:options=
"options"
></codemirror>
<codemirror
ref=
"code"
v-model=
"current.content"
:options=
"options"
></codemirror>
</div>
<option-block>
<FormItem>
<ButtonGroup>
<Button
type=
"primary"
@
click=
"handle(k,v)"
v-for=
"(v,k) in lang"
:key=
"k"
>
{{
k
}}
</Button>
</ButtonGroup>
</FormItem>
<FormItem>
<Checkbox
v-model=
"current.isCompress"
>
压缩
</Checkbox>
</FormItem>
</option-block>
</div>
</div>
<option-block>
<FormItem>
<ButtonGroup>
<Button
type=
"primary"
@
click=
"handle(k,v)"
v-for=
"(v,k) in lang"
:key=
"k"
>
{{
k
}}
</Button>
</ButtonGroup>
</FormItem>
<FormItem>
<Checkbox
v-model=
"current.isCompress"
>
压缩
</Checkbox>
</FormItem>
</option-block>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
codemirror
}
from
'
vue-codemirror
'
import
{
codemirror
}
from
'
vue-codemirror
'
import
formatter
from
'
code-
formatter
'
import
formatter
from
'
./library/
formatter
'
import
'
codemirror/lib/codemirror.css
'
import
'
codemirror/lib/codemirror.css
'
import
'
codemirror/mode/javascript/javascript.js
'
import
'
codemirror/mode/javascript/javascript.js
'
import
'
codemirror/mode/htmlmixed/htmlmixed.js
'
import
'
codemirror/mode/htmlmixed/htmlmixed.js
'
import
'
codemirror/mode/css/css.js
'
import
'
codemirror/mode/css/css.js
'
import
'
codemirror/mode/xml/xml.js
'
import
'
codemirror/mode/xml/xml.js
'
import
'
codemirror/mode/sql/sql.js
'
import
'
codemirror/mode/sql/sql.js
'
import
'
codemirror/addon/fold/foldcode.js
'
import
'
codemirror/addon/fold/foldcode.js
'
import
'
codemirror/addon/fold/foldgutter.js
'
import
'
codemirror/addon/fold/foldgutter.js
'
import
'
codemirror/addon/fold/brace-fold.js
'
import
'
codemirror/addon/fold/brace-fold.js
'
import
'
codemirror/addon/fold/comment-fold.js
'
import
'
codemirror/addon/fold/comment-fold.js
'
import
'
codemirror/addon/fold/foldgutter.css
'
import
'
codemirror/addon/fold/foldgutter.css
'
export
default
{
export
default
{
components
:
{
components
:
{
codemirror
,
codemirror
,
},
created
()
{
this
.
current
=
Object
.
assign
(
this
.
current
,
this
.
$getToolData
(
'
content
'
))
},
mounted
()
{
this
.
codemirror
.
setSize
(
null
,
350
)
if
(
this
.
current
.
lang
)
{
this
.
codemirror
.
setOption
(
'
mode
'
,
this
.
options
[
this
.
current
.
lang
])
}
},
computed
:
{
codemirror
()
{
return
this
.
$refs
.
code
.
codemirror
},
},
created
()
{
},
this
.
current
=
Object
.
assign
(
this
.
current
,
this
.
$getToolData
(
'
content
'
))
methods
:
{
},
handle
(
lang
,
mode
)
{
mounted
()
{
if
(
this
.
current
.
content
)
{
this
.
codemirror
.
setSize
(
null
,
350
)
this
.
current
.
content
=
formatter
(
this
.
current
.
content
,
lang
,
this
.
current
.
isCompress
)
if
(
this
.
current
.
lang
)
{
this
.
codemirror
.
setOption
(
'
mode
'
,
mode
)
this
.
codemirror
.
setOption
(
'
mode
'
,
this
.
options
[
this
.
current
.
lang
])
this
.
current
.
lang
=
lang
this
.
$saveToolData
(
this
.
current
)
}
}
},
},
computed
:
{
},
codemirror
()
{
data
()
{
return
this
.
$refs
.
code
.
codemirror
return
{
current
:
{
content
:
''
,
lang
:
''
,
isCompress
:
false
,
},
},
},
options
:
{
methods
:
{
mode
:
null
,
handle
(
lang
,
mode
)
{
lineNumbers
:
true
,
if
(
this
.
current
.
content
)
{
lineWrapping
:
false
,
this
.
current
.
content
=
formatter
(
this
.
current
.
content
,
{
foldGutter
:
true
,
method
:
this
.
current
.
isCompress
?
lang
+
"
min
"
:
lang
indentUnit
:
4
,
})
gutters
:
[
'
CodeMirror-linenumbers
'
,
'
CodeMirror-foldgutter
'
],
this
.
codemirror
.
setOption
(
'
mode
'
,
mode
)
this
.
current
.
lang
=
lang
this
.
$saveToolData
(
this
.
current
)
}
},
},
},
lang
:
{
data
()
{
'
js
'
:
'
text/javascript
'
,
return
{
'
html
'
:
'
text/html
'
,
current
:
{
'
css
'
:
'
text/css
'
,
content
:
''
,
'
xml
'
:
'
application/xml
'
,
lang
:
''
,
'
sql
'
:
'
text/x-mysql
'
,
isCompress
:
false
,
},
},
}
options
:
{
},
mode
:
null
,
}
lineNumbers
:
true
,
lineWrapping
:
false
,
foldGutter
:
true
,
indentUnit
:
4
,
gutters
:
[
'
CodeMirror-linenumbers
'
,
'
CodeMirror-foldgutter
'
],
},
lang
:
{
'
js
'
:
'
text/javascript
'
,
'
html
'
:
'
text/html
'
,
'
css
'
:
'
text/css
'
,
'
xml
'
:
'
application/xml
'
,
'
sql
'
:
'
text/x-mysql
'
,
},
}
},
}
</
script
>
</
script
>
\ No newline at end of file
src/views/tool/library/formatter.js
0 → 100644
浏览文件 @
d2c4a58b
import
codeFormatter
from
'
code-formatter
'
import
xmlFormatter
from
"
xml-formatter
"
export
default
(
code
,
type
,
isCompress
=
false
)
=>
{
if
(
type
===
"
xml
"
)
{
return
xmlFormatter
(
code
,
{
indentation
:
isCompress
?
''
:
'
'
,
collapseContent
:
true
,
lineSeparator
:
isCompress
?
''
:
'
\n
'
});
}
return
codeFormatter
(
code
,
{
method
:
isCompress
?
type
+
"
min
"
:
type
})
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录