mirror of
https://github.com/rwinkhart/go-highlite.git
synced 2026-09-03 23:57:13 -04:00
D and vi syntax files
This commit is contained in:
@@ -0,0 +1,118 @@
|
|||||||
|
filetype: d
|
||||||
|
|
||||||
|
detect:
|
||||||
|
filename: "\\.(d(i|d)?)$"
|
||||||
|
|
||||||
|
rules:
|
||||||
|
# Operators and punctuation
|
||||||
|
- statement: "(\\*|/|%|\\+|-|>>|<<|>>>|&|\\^(\\^)?|\\||~)?="
|
||||||
|
- statement: "\\.\\.(\\.)?|!|\\*|&|~|\\(|\\)|\\[|\\]|\\\|/|\\+|-|%|<|>|\\?|:|;"
|
||||||
|
# Octal integer literals are deprecated
|
||||||
|
- error: "(0[0-7_]*)(L[uU]?|[uU]L?)?"
|
||||||
|
# Decimal integer literals
|
||||||
|
- constant.number: "([0-9]|[1-9][0-9_]*)(L[uU]?|[uU]L?)?"
|
||||||
|
# Binary integer literals
|
||||||
|
- constant: "(0[bB][01_]*)(L[uU]?|[uU]L?)?"
|
||||||
|
# Decimal float literals
|
||||||
|
- constant.number: "[0-9][0-9_]*\\.([0-9][0-9_]*)([eE][+-]?([0-9][0-9_]*))?[fFL]?i?"
|
||||||
|
- constant.number: "[0-9][0-9_]*([eE][+-]?([0-9][0-9_]*))[fFL]?i?"
|
||||||
|
- constant.number: "[^.]\\.([0-9][0-9_]*)([eE][+-]?([0-9][0-9_]*))?[fFL]?i?"
|
||||||
|
- constant.number: "[0-9][0-9_]*([fFL]?i|[fF])"
|
||||||
|
# Hexadecimal integer literals
|
||||||
|
- constant.number: "(0[xX]([0-9a-fA-F][0-9a-fA-F_]*|[0-9a-fA-F_]*[0-9a-fA-F]))(L[uU]?|[uU]L?)?"
|
||||||
|
# Hexadecimal float literals
|
||||||
|
- constant.number: "0[xX]([0-9a-fA-F][0-9a-fA-F_]*|[0-9a-fA-F_]*[0-9a-fA-F])(\\.[0-9a-fA-F][0-9a-fA-F_]*|[0-9a-fA-F_]*[0-9a-fA-F])?[pP][+-]?([0-9][0-9_]*)[fFL]?i?"
|
||||||
|
- constant.number: "0[xX]\\.([0-9a-fA-F][0-9a-fA-F_]*|[0-9a-fA-F_]*[0-9a-fA-F])[pP][+-]?([0-9][0-9_]*)[fFL]?i?"
|
||||||
|
# Character literals
|
||||||
|
- constant.string:
|
||||||
|
start: "'"
|
||||||
|
end: "'"
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
# Keywords
|
||||||
|
# a-e
|
||||||
|
- statement: "\\b(abstract|alias|align|asm|assert|auto|body|break|case|cast|catch|class|const|continue|debug|default|delegate|do|else|enum|export|extern)\\b"
|
||||||
|
# f-l
|
||||||
|
- statement: "\\b(false|final|finally|for|foreach|foreach_reverse|function|goto|if|immutable|import|in|inout|interface|invariant|is|lazy)\\b"
|
||||||
|
# m-r
|
||||||
|
- statement: "\\b(macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|ref|return)\\b"
|
||||||
|
# s-w
|
||||||
|
- statement: "\\b(scope|shared|static|struct|super|switch|synchronized|template|this|throw|true|try|typeid|typeof|union|unittest|version|while|with)\\b"
|
||||||
|
# __
|
||||||
|
- statement: "\\b(__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__|__gshared|__traits|__vector|__parameters)\\b"
|
||||||
|
# Deprecated keywords
|
||||||
|
- error: "\\b(delete|deprecated|typedef|volatile)\\b"
|
||||||
|
# Primitive types
|
||||||
|
- type: "\\b(bool|byte|cdouble|cent|cfloat|char|creal|dchar|double|float|idouble|ifloat|int|ireal|long|real|short|ubyte|ucent|uint|ulong|ushort|void|wchar)\\b"
|
||||||
|
# Globally defined symbols
|
||||||
|
- type: "\\b(string|wstring|dstring|size_t|ptrdiff_t)\\b"
|
||||||
|
# Special tokens
|
||||||
|
- constant: "\\b(__DATE__|__EOF__|__TIME__|__TIMESTAMP__|__VENDOR__|__VERSION__)\\b"
|
||||||
|
# String literals
|
||||||
|
# DoubleQuotedString
|
||||||
|
- constant.string:
|
||||||
|
start: "\""
|
||||||
|
end: "\""
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
# WysiwygString
|
||||||
|
- constant.string:
|
||||||
|
start: "r\""
|
||||||
|
end: "\""
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
- constant.string:
|
||||||
|
start: "`"
|
||||||
|
end: "`"
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
# HexString
|
||||||
|
- constant.string:
|
||||||
|
start: "x\""
|
||||||
|
end: "\""
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
# DelimitedString
|
||||||
|
- constant.string:
|
||||||
|
start: "q\"\\("
|
||||||
|
end: "\\)\""
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
- constant.string:
|
||||||
|
start: "q\"\\{"
|
||||||
|
end: "q\"\\}"
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
- constant.string:
|
||||||
|
start: "q\"\\["
|
||||||
|
end: "q\"\\]"
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
- constant.string:
|
||||||
|
start: "q\"<"
|
||||||
|
end: "q\">"
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
- constant.string:
|
||||||
|
start: "q\"[^({[<\"][^\"]*$"
|
||||||
|
end: "^[^\"]+\""
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
- constant.string:
|
||||||
|
start: "q\"([^({[<\"])"
|
||||||
|
end: "\""
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
# Comments
|
||||||
|
- comment:
|
||||||
|
start: "//"
|
||||||
|
end: "$"
|
||||||
|
rules: []
|
||||||
|
- comment:
|
||||||
|
start: "/\\*"
|
||||||
|
end: "\\*/"
|
||||||
|
rules: []
|
||||||
|
- comment:
|
||||||
|
start: "/\\+"
|
||||||
|
end: "\\+/"
|
||||||
|
rules: []
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
filetype: vi
|
||||||
|
|
||||||
|
detect:
|
||||||
|
filename: "(^|/|\\.)(ex|vim)rc$|\\.vim"
|
||||||
|
|
||||||
|
rules:
|
||||||
|
- identifier: "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[()]"
|
||||||
|
- statement: "\\b([nvxsoilc]?(nore|un)?map|[nvlx]n|[ico]?no|[cilovx][um]|s?unm)\\b"
|
||||||
|
- statement: "\\b(snor|nun|nm|set|if|endif|let|unlet)\\b"
|
||||||
|
- statement: "[!&=]"
|
||||||
|
- constant.number: "\\b[0-9]+\\b"
|
||||||
|
|
||||||
|
- constant.string:
|
||||||
|
start: "\""
|
||||||
|
end: "\""
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
|
||||||
|
- constant.string:
|
||||||
|
start: "'"
|
||||||
|
end: "'"
|
||||||
|
rules:
|
||||||
|
- constant.specialChar: "\\\\."
|
||||||
|
|
||||||
|
- constant.comment:
|
||||||
|
start: "\""
|
||||||
|
end: "$"
|
||||||
|
rules: []
|
||||||
Reference in New Issue
Block a user