FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
vim-ruby/syntax/eruby.vim at master · vim-ruby/vim-ruby · GitHub
vim-ruby
/
vim-ruby
Public
Notifications
You must be signed in to change notification settings
Fork
285
Star
2k
Code
Issues
57
Pull requests
6
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
vim-ruby
/
syntax
/
eruby.vim
Copy path
More file actions
More file actions
Latest commit
History
History
History
77 lines (64 loc) · 2.98 KB
Breadcrumbs
vim-ruby
/
syntax
/
eruby.vim
Copy path
File metadata and controls
77 lines (64 loc) · 2.98 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
"
Vim syntax file
"
Language:
eRuby
"
Maintainer:
Tim Pope <vimNOSPAM@tpope.org>
"
URL:
https://github.com/vim-ruby/vim-ruby
if
exists
(
"
b:current_syntax
"
)
finish
endif
if
!
exists
(
"
main_syntax
"
)
let
main_syntax
=
'
eruby
'
endif
if
!
exists
(
"
g:eruby_default_subtype
"
)
let
g:
eruby_default_subtype
=
"
html
"
endif
if
&
filetype
=
~
'
^eruby\.
'
let
b:
eruby_subtype
=
matchstr
(&
filetype
,
'
^eruby\.\zs\w\+
'
)
elseif
!
exists
(
"
b:eruby_subtype
"
)
&&
main_syntax
==
'
eruby
'
let
s:
lines
=
getline
(
1
).
"
\n
"
.
getline
(
2
).
"
\n
"
.
getline
(
3
).
"
\n
"
.
getline
(
4
).
"
\n
"
.
getline
(
5
).
"
\n
"
.
getline
(
"
$
"
)
let
b:
eruby_subtype
=
matchstr
(
s:
lines
,
'
eruby_subtype=\zs\w\+
'
)
if
b:
eruby_subtype
==
'
'
let
b:
eruby_subtype
=
matchstr
(
substitute
(
expand
(
"
%:t
"
),
'
\c\%(\.erb\|\.eruby\|\.erubis\|\.example\)\+$
'
,
'
'
,
'
'
),
'
\.\zs\w\+\%(\ze+\w\+\)\=$
'
)
endif
if
b:
eruby_subtype
==
'
rhtml
'
let
b:
eruby_subtype
=
'
html
'
elseif
b:
eruby_subtype
==
'
rb
'
let
b:
eruby_subtype
=
'
ruby
'
elseif
b:
eruby_subtype
==
'
yml
'
let
b:
eruby_subtype
=
'
yaml
'
elseif
b:
eruby_subtype
==
'
js
'
let
b:
eruby_subtype
=
'
javascript
'
elseif
b:
eruby_subtype
==
'
txt
'
"
Conventional; not a real file type
let
b:
eruby_subtype
=
'
text
'
elseif
b:
eruby_subtype
==
'
'
let
b:
eruby_subtype
=
g:
eruby_default_subtype
endif
endif
if
!
exists
(
"
b:eruby_nest_level
"
)
if
&
syntax
=
~#
'
\<eruby\.eruby\>
'
let
b:
eruby_nest_level
=
strlen
(
substitute
(
substitute
(&
filetype
,
'
\C\<eruby\>
'
,
'
@
'
,
'
g
'
),
'
[^@]
'
,
'
'
,
'
g
'
))
else
let
b:
eruby_nest_level
=
strlen
(
substitute
(
substitute
(
substitute
(
expand
(
"
%:t
"
),
'
@
'
,
'
'
,
'
g
'
),
'
\c\.\%(erb\|rhtml\)\>
'
,
'
@
'
,
'
g
'
),
'
[^@]
'
,
'
'
,
'
g
'
))
endif
endif
if
!
b:
eruby_nest_level
let
b:
eruby_nest_level
=
1
endif
if
exists
(
"
b:eruby_subtype
"
)
&&
b:
eruby_subtype
!=
'
'
&&
b:
eruby_subtype
!=?
'
eruby
'
exe
"
runtime! syntax/
"
.
b:
eruby_subtype
.
"
.vim
"
unlet
!
b:
current_syntax
endif
syn
include
@rubyTop
syntax/ruby.vim
syn
cluster
erubyRegions
contains
=
erubyOneLiner,erubyBlock,erubyExpression,erubyComment
exe
'
syn region erubyOneLiner matchgroup=erubyDelimiter start="^%\{1,
'
.
b:
eruby_nest_level
.
'
\}%\@!" end="$" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend oneline
'
exe
'
syn region erubyBlock matchgroup=erubyDelimiter start="<%\{1,
'
.
b:
eruby_nest_level
.
'
\}%\@!-\=" end="[=-]\=%\@<!%\{1,
'
.
b:
eruby_nest_level
.
'
\}>" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend
'
exe
'
syn region erubyExpression matchgroup=erubyDelimiter start="<%\{1,
'
.
b:
eruby_nest_level
.
'
\}=\{1,4}" end="[=-]\=%\@<!%\{1,
'
.
b:
eruby_nest_level
.
'
\}>" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend
'
exe
'
syn region erubyComment matchgroup=erubyDelimiter start="<%\{1,
'
.
b:
eruby_nest_level
.
'
\}-\=#" end="[=-]\=%\@<!%\{1,
'
.
b:
eruby_nest_level
.
'
\}>" contains=rubyTodo,@Spell containedin=ALLBUT,@erubyRegions keepend
'
"
Define the default highlighting.
hi
def
link
erubyDelimiter
PreProc
hi
def
link
erubyComment
Comment
let
b:
current_syntax
=
'
eruby
'
if
main_syntax
==
'
eruby
'
unlet
main_syntax
endif
"
vim:
nowrap
sw
=
2
sts
=
2
ts
=
8
:
Back
|
FazBrowse Home
|
New Git URL