]> git.lizzy.rs Git - micro.git/blob - runtime/syntax/erb.yaml
Merge branch 'PR-find-on-type' of https://github.com/ilius/micro into ilius-PR-find...
[micro.git] / runtime / syntax / erb.yaml
1 filetype: erb
2
3 detect: 
4     filename: "\\.erb$|\\.rhtml$"
5
6 rules:
7     - error: "<[^!].*?>"
8     - symbol.tag: "(?i)<[/]?(a(bbr|cronym|ddress|pplet|rea|rticle|side|udio)?|b(ase(font)?|d(i|o)|ig|lockquote|r)?|ca(nvas|ption)|center|cite|co(de|l|lgroup)|d(ata(list)?|d|el|etails|fn|ialog|ir|l|t)|em(bed)?|fieldset|fig(caption|ure)|font|form|(i)?frame|frameset|h[1-6]|hr|i|img|in(put|s)|kbd|keygen|label|legend|li(nk)?|ma(in|p|rk)|menu(item)?|met(a|er)|nav|no(frames|script)|o(l|pt(group|ion)|utput)|p(aram|icture|re|rogress)?|q|r(p|t|uby)|s(trike)?|samp|se(ction|lect)|small|source|span|strong|su(b|p|mmary)|textarea|time|track|u(l)?|var|video|wbr)( .*|>)*?>"
9     - symbol.tag.extended: "(?i)<[/]?(body|div|html|head(er)?|footer|title|table|t(body|d|h(ead)?|r|foot))( .*|>)*?>"
10     - preproc: "(?i)<[/]?(script|style)( .*|>)*?>"
11     - special: "&[^;[[:space:]]]*;"
12     - symbol: "[:=]"
13     - identifier: "(alt|bgcolor|height|href|id|label|longdesc|name|onclick|onfocus|onload|onmouseover|size|span|src|style|target|type|value|width)="
14     - constant.string: "\"[^\"]*\""
15     - constant.number: "(?i)#[0-9A-F]{6,6}"
16     - constant.string.url: "(ftp(s)?|http(s)?|git|chrome)://[^  ]+"
17     - comment: "<!--.+?-->"
18     - preproc: "<!DOCTYPE.+?>"
19     - default:
20         start: "<%"
21         end: "%>"
22         rules: []
23
24     - preproc: "<%|%>"
25     - red: "&[^;[[:space:]]]*;"
26     - statement: "\\b(BEGIN|END|alias|and|begin|break|case|class|def|defined\\?|do|else|elsif|end|ensure|false|for|if|in|module|next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\\b"
27     - identifier.var: "(\\$|@|@@)?\\b[A-Z]+[0-9A-Z_a-z]*"
28     - magenta: "(?i)([  ]|^):[0-9A-Z_]+\\b"
29     - identifier.macro: "\\b(__FILE__|__LINE__)\\b"
30     - brightmagenta: "!/([^/]|(\\\\/))*/[iomx]*|%r\\{([^}]|(\\\\}))*\\}[iomx]*"
31     - brightblue: "`[^`]*`|%x\\{[^}]*\\}"
32     - constant.string: "\"([^\"]|(\\\\\"))*\"|%[QW]?\\{[^}]*\\}|%[QW]?\\([^)]*\\)|%[QW]?<[^>]*>|%[QW]?\\[[^]]*\\]|%[QW]?\\$[^$]*\\$|%[QW]?\\^[^^]*\\^|%[QW]?![^!]*!"
33     - brightgreen: "#\\{[^}]*\\}"
34     - green: "'([^']|(\\\\'))*'|%[qw]\\{[^}]*\\}|%[qw]\\([^)]*\\)|%[qw]<[^>]*>|%[qw]\\[[^]]*\\]|%[qw]\\$[^$]*\\$|%[qw]\\^[^^]*\\^|%[qw]![^!]*!"
35     - comment: "#[^{].*$|#$"
36     - comment.bright: "##[^{].*$|##$"
37     - identifier.macro:
38         start: "<<-?'?EOT'?"
39         end: "^EOT"
40         rules: []
41
42     - todo: "(XXX|TODO|FIXME|\\?\\?\\?)"