-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathhighlight.ts
60 lines (55 loc) · 1.33 KB
/
highlight.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import hljs from 'highlight.js'
function hljsDefineVue() {
return {
subLanguage: 'xml',
contains: [
hljs.COMMENT('<!--', '-->', {
relevance: 10
}),
{
begin: /^(\s*)(<script>)/gm,
end: /^(\s*)(<\/script>)/gm,
subLanguage: 'javascript',
excludeBegin: true,
excludeEnd: true
},
{
begin: /^(\s*)(<script lang=["']ts["']>)/gm,
end: /^(\s*)(<\/script>)/gm,
subLanguage: 'typescript',
excludeBegin: true,
excludeEnd: true
},
{
begin: /^(\s*)(<style(\sscoped)?>)/gm,
end: /^(\s*)(<\/style>)/gm,
subLanguage: 'css',
excludeBegin: true,
excludeEnd: true
},
{
begin: /^(\s*)(<style lang=["'](scss|sass)["'](\sscoped)?>)/gm,
end: /^(\s*)(<\/style>)/gm,
subLanguage: 'scss',
excludeBegin: true,
excludeEnd: true
},
{
begin: /^(\s*)(<style lang=["']stylus["'](\sscoped)?>)/gm,
end: /^(\s*)(<\/style>)/gm,
subLanguage: 'stylus',
excludeBegin: true,
excludeEnd: true
}
]
}
}
hljs.registerLanguage('vue', hljsDefineVue)
const hljsDefineMermaid = () => {
return {
name: 'Mermaid',
contains: []
}
}
hljs.registerLanguage('mermaid', hljsDefineMermaid)
export default hljs