mirror of
https://github.com/getzola/zola
synced 2024-12-15 06:42:29 +00:00
91 lines
2.8 KiB
Text
91 lines
2.8 KiB
Text
|
%YAML 1.2
|
||
|
---
|
||
|
# http://www.sublimetext.com/docs/3/syntax.html
|
||
|
name: VimL
|
||
|
file_extensions:
|
||
|
- vim
|
||
|
scope: source.viml
|
||
|
contexts:
|
||
|
main:
|
||
|
- include: comment
|
||
|
- include: string_quoted_double
|
||
|
- include: string_quoted_single
|
||
|
- include: string_regex
|
||
|
- include: inline_comment
|
||
|
- include: number_int
|
||
|
- include: number_hex
|
||
|
- include: keyword
|
||
|
- include: support_function
|
||
|
- include: support_variable
|
||
|
- include: support_type
|
||
|
- include: function_params
|
||
|
- include: function_definition
|
||
|
- include: function_call
|
||
|
- include: function
|
||
|
- include: variable
|
||
|
- include: expr
|
||
|
comment:
|
||
|
- match: ^\s*".*$
|
||
|
scope: comment.line.quotes.viml
|
||
|
captures:
|
||
|
1: punctuation.definition.comment.vim
|
||
|
expr:
|
||
|
- match: (\|\||&&|==(\?|#)?|(!|>|<)=(#|\?)?|(=|!)~(#|\?)?|(>|<)(#|\?)is|isnot|\.|\*|\\|%)
|
||
|
scope: storage.function.viml
|
||
|
function:
|
||
|
- match: \b(fu(n|nction)?|end(f|fu|fun|function)?)\b
|
||
|
scope: storage.function.viml
|
||
|
function_call:
|
||
|
- match: '(([sgbwtl]|)?:?[0-9a-zA-Z_#]+)(?=\()'
|
||
|
scope: support.function.any-method
|
||
|
function_definition:
|
||
|
- match: '^\s*(function)\s*!?\s+(?=(s:)?[0-9a-zA-Z_#]+\s*\()'
|
||
|
captures:
|
||
|
1: storage.function.viml
|
||
|
push:
|
||
|
- meta_scope: meta.function.viml
|
||
|
- match: (\()
|
||
|
captures:
|
||
|
1: punctuation.definition.parameters.begin.viml
|
||
|
pop: true
|
||
|
- match: "(s:)?[0-9a-zA-Z_#]+"
|
||
|
scope: entity.name.function.viml
|
||
|
function_params:
|
||
|
- match: '-\w+='
|
||
|
scope: support.type.viml
|
||
|
inline_comment:
|
||
|
- match: '(?!\$)(")(?!\{).*$\n?'
|
||
|
scope: comment.line.quotes.viml
|
||
|
captures:
|
||
|
1: punctuation.definition.comment.vim
|
||
|
keyword:
|
||
|
- match: \b(if|while|for|try|return|throw|end(if|for|while|try)?|au(g|group)|else(if|)?|do|in|catch|finally|:)\b
|
||
|
scope: keyword.control.viml
|
||
|
number_hex:
|
||
|
- match: "#[0-9a-f]{6}"
|
||
|
scope: constant.numeric.hex
|
||
|
number_int:
|
||
|
- match: '-?\d+'
|
||
|
scope: constant.numeric.integer
|
||
|
string_quoted_double:
|
||
|
- match: '"(\\\\|\\"|\n[^\S\n]*\\|[^\n"])*"'
|
||
|
scope: string.quoted.double.viml
|
||
|
string_quoted_single:
|
||
|
- match: '''(''''|\n[^\S\n]*\\|[^\n''])*'''
|
||
|
scope: string.quoted.single.viml
|
||
|
string_regex:
|
||
|
- match: '/(\\\\|\\/|\n[^\S\n]*\\|[^\n/])*/'
|
||
|
scope: string.regexp.viml
|
||
|
support_function:
|
||
|
- match: \b(set(local|global)?|let|command|filetype|colorscheme|\w*map|\w*a(b|brev)?|syn|exe(c|cute)?|ec(ho|)?|au(tocmd|)?)\b
|
||
|
scope: support.function.viml
|
||
|
support_type:
|
||
|
- match: <.*?>
|
||
|
scope: support.type.viml
|
||
|
support_variable:
|
||
|
- match: '\b(am(enu|)?|(hl|inc)?search|[Bb]uf([Nn]ew[Ff]ile|[Rr]ead)?|[Ff]ile[Tt]ype)\b'
|
||
|
scope: support.variable.viml
|
||
|
variable:
|
||
|
- match: '([sSgGbBwWlLaAvV]:|@|$|&(?!&))\w*'
|
||
|
scope: variable.other.viml
|