]> git.lizzy.rs Git - micro.git/blob - runtime/syntax/vue.yaml
Ignore tool files
[micro.git] / runtime / syntax / vue.yaml
1 filetype: vue
2
3 detect:
4     filename: "\\.vue$"
5
6 rules:
7     - default:
8         start: "<template.*?>"
9         end: "</template.*?>"
10         limit-group: symbol.tag
11         rules:
12             - error: "<[^!].*?>"
13             - symbol.tag: "(?i)<[/]?(a|a(bbr|ddress|rea|rticle|side|udio)|b|b(ase|d(i|o)|lockquote|r|utton)|ca(nvas|ption)|center|cite|co(de|l|lgroup)|d(ata|atalist|d|el|etails|fn|ialog|l|t)|em|embed|fieldset|fig(caption|ure)|form|iframe|h[1-6]|hr|i|img|in(put|s)|kbd|keygen|label|legend|li|link|ma(in|p|rk)|menu|menuitem|met(a|er)|nav|noscript|o(bject|l|pt(group|ion)|utput)|p|param|picture|pre|progress|q|r(p|t|uby)|s|samp|se(ction|lect)|svg|small|source|span|strong|su(b|p|mmary)|textarea|time|track|u|ul|var|video|wbr)( .*)*?>"
14             - symbol.tag.extended: "(?i)<[/]?(body|div|html|head(er)?|footer|title|table|t(body|d|h(ead)?|r|foot))( .*)*?>"                        
15             - preproc: "(?i)<[/]?(script|style)( .*)*?>"
16             - special: "&[^;[[:space:]]]*;"
17             
18             - identifier: "(alt|bgcolor|class|height|href|id|label|longdesc|name|on(click|focus|load|mouseover)|placeholder|size|span|src|style|target|type|value|width)="
19             - symbol: "[:=]"
20             - constant.string: "\"[^\"]*\""
21             - constant.number: "(?i)#[0-9A-F]{6,6}"
22
23             - symbol.tag: "<|>"
24             - constant.string.url: "(ftp(s)?|http(s)?|git|chrome)://[^  ]+"
25             - comment: "<!--.+?-->"
26             #- preproc: "<!DOCTYPE.+?>"
27             - comment.block:
28                 start: "<!\\-\\-"
29                 end: "\\-\\->"
30                 rules: []
31
32             # Bootstrap
33             - symbol.tag.extended: "(?i)<[/]?(b-alert|b-aspect|b-avatar|b-badge|b-icon|b-breadcrumb|b-button-group|b-button-toolbar|b-button|b-calendar|b-card-text|b-card-input|b-card|b-carousel-slide|b-carousel|b-collapse|b-dropdown|b-dropdown-item|b-dropdown-divider|b-embed|b-form-checkbox-group|b-form-checkbox|b-form-datepicker|b-form-file|b-form-group|b-form-input|b-form-radio|b-form-rating|b-form-select|b-form-spinbutton|b-form-tags|b-form-textarea|b-form|b-form-timepicker|b-img-lazy|b-img|b-input-group|b-jumbotron|b-input|b-container|b-row|b-col|b-link|b-list-group|b-list-group-item|b-media|b-modal|b-nav|b-nav-item|b-nav-item-dropdown|b-nav-text|b-nav-form|b-navbar|b-navbar-brand|b-navbar-toggle|b-navbar-nav|b-overlay|b-pagination|b-pagination-nav|b-popover|b-progress|b-progress-bar|b-sidebar|b-skeleton-wrapper|b-skeleton|b-spinner|b-table|b-table-lite|b-table-simple|b-tabs|b-tab|b-time|b-toast|b-tooltip)\\b"
34             - identifier: "(variant|title|show|shadow|icon|align-h|align-v|label-for|@submit|tag|img-alt|img-src|data-toggle|data-target|aria-controls|aria-expanded|aria-label|aria-disabled|tabindex|:interval|background|img-width|img-height|@sliding-start|@sliding-end|cols|header|@reset)="
35             - symbol: "[:=]"
36             # Vue
37             - symbol.tag.extended: "(?i)<[/]?(component|transition|transition-group|keep-alive|slot)\\b"
38             - identifier: "(v-text|v-html|v-show|v-if|v-else|v-else-if|v-for|v-on|v-bind|v-model|v-slot|v-pre|v-cloak|v-once|key|ref|is|@click)="
39             - symbol: "[:=]"
40             # Vue-router
41             - symbol.tag.extended: "(?i)<[/]?(router-link|router-view)\\b"
42             - identifier: "(to|v-slot)="
43             - symbol: "[:=]"
44             
45
46     - default: 
47         start: "<script>"
48         end: "</script>"
49         limit-group: symbol.tag
50         rules:
51             - include: "javascript"
52
53     - default: 
54         start: "<script[ ]+lang=(\"ts\"|'ts')>"
55         end: "</script>"
56         rules:
57             - include: "typescript"
58     
59     - default:
60         start: "<style.*?>"
61         end: "</style.*?>"
62         limit-group: symbol.tag
63         rules:
64             - include: "css"
65  
66
67