Mercurial > vim
view runtime/syntax/unison.vim @ 34359:0447bf3a88a5 v9.1.0110
patch 9.1.0110: filetype: add 'Config.in' filetype detection
Commit: https://github.com/vim/vim/commit/5f20f050efed3431beaf85739f0113e9ef0abd8e
Author: Brandon Maier <brandon.maier@collins.com>
Date: Wed Feb 14 22:30:06 2024 +0100
patch 9.1.0110: filetype: add 'Config.in' filetype detection
The 'Config.in' file type is for Buildroot configuration files.
Buildroot Config.in files use the same Kconfig backend as the Linux
kernel's Kconfig files.
Buildroot also has other filename variants that follow "Config.in.*",
they are used to distinguish multiple Config.in files in the same
directory.
See https://buildroot.org/downloads/manual/manual.html#_literal_config_in_literal_file
closes: #14038
Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 14 Feb 2024 22:45:02 +0100 |
parents | 2200e4e8b3ae |
children |
line wrap: on
line source
" Vim syntax file " " Language: unison " Maintainer: Anton Parkhomenko <anton@chuwy.me> " Last Change: Aug 7, 2023 " Original Author: John Williams, Paul Chiusano and Rúnar Bjarnason if exists("b:current_syntax") finish endif syntax include @markdown $VIMRUNTIME/syntax/markdown.vim syn cluster markdownLikeDocs contains=markdownBold,markdownItalic,markdownLinkText,markdownListMarker,markdownOrderedListMarker,markdownH1,markdownH2,markdownH3,markdownH4,markdownH5,markdownH6 syn match unisonOperator "[-!#$%&\*\+/<=>\?@\\^|~]" syn match unisonDelimiter "[\[\](){},.]" " Strings and constants syn match unisonSpecialChar contained "\\\([0-9]\+\|o[0-7]\+\|x[0-9a-fA-F]\+\|[\"\\'&\\abfnrtv]\|^[A-Z^_\[\\\]]\)" syn match unisonSpecialChar contained "\\\(NUL\|SOH\|STX\|ETX\|EOT\|ENQ\|ACK\|BEL\|BS\|HT\|LF\|VT\|FF\|CR\|SO\|SI\|DLE\|DC1\|DC2\|DC3\|DC4\|NAK\|SYN\|ETB\|CAN\|EM\|SUB\|ESC\|FS\|GS\|RS\|US\|SP\|DEL\)" syn match unisonSpecialCharError contained "\\&\|'''\+" syn region unisonString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=unisonSpecialChar syn match unisonCharacter "[^a-zA-Z0-9_']'\([^\\]\|\\[^']\+\|\\'\)'"lc=1 contains=unisonSpecialChar,unisonSpecialCharError syn match unisonCharacter "^'\([^\\]\|\\[^']\+\|\\'\)'" contains=unisonSpecialChar,unisonSpecialCharError syn match unisonNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>" syn match unisonFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>" " Keyword definitions. These must be patterns instead of keywords " because otherwise they would match as keywords at the start of a " "literate" comment (see lu.vim). syn match unisonModule "\<namespace\>" syn match unisonImport "\<use\>" syn match unisonTypedef "\<\(unique\|structural\|∀\|forall\)\>" syn match unisonStatement "\<\(ability\|do\|type\|where\|match\|cases\|;\|let\|with\|handle\)\>" syn match unisonConditional "\<\(if\|else\|then\)\>" syn match unisonBoolean "\<\(true\|false\)\>" syn match unisonType "\<\C[A-Z][0-9A-Za-z_'!]*\>" syn match unisonName "\<\C[a-z_][0-9A-Za-z_'!]*\>" " Comments syn match unisonLineComment "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" syn region unisonBlockComment start="{-" end="-}" contains=unisonBlockComment syn region unisonBelowFold start="^---" skip="." end="." contains=unisonBelowFold " Docs syn region unisonDocBlock matchgroup=unisonDoc start="{{" end="}}" contains=unisonDocTypecheck,unisonDocQuasiquote,unisonDocDirective,unisonDocCode,unisonDocCodeInline,unisonDocCodeRaw,unisonDocMono,@markdownLikeDocs syn region unisonDocQuasiquote contained matchgroup=unisonDocQuote start="{{" end= "}}" contains=TOP syn region unisonDocCode contained matchgroup=unisonDocCode start="^\s*```\s*$" end="^\s*```\s*$" contains=TOP syn region unisonDocTypecheck contained matchgroup=unisonDocCode start="^\s*@typecheck\s*```\s*$" end="^\s*```\s*$" contains=TOP syn region unisonDocCodeRaw contained matchgroup=unisonDocCode start="^\s*```\s*raw\s*$" end="^\s*```\s*$" contains=NoSyntax syn region unisonDocCodeInline contained matchgroup=unisonDocCode start="`\@<!``" end="`\@<!``" contains=TOP syn match unisonDocMono "''[^']*''" syn region unisonDocDirective contained matchgroup=unisonDocDirective start="\(@\([a-zA-Z0-9_']*\)\)\?{{\@!" end="}" contains=TOP syn match unisonDebug "\<\(todo\|bug\|Debug.trace\|Debug.evalToText\)\>" " things like " > my_func 1 3 " test> Function.tap.tests.t1 = check let " use Nat == + " ( 99, 100 ) === (withInitialValue 0 do " : : : syn match unisonWatch "^[A-Za-z]*>" hi def link unisonWatch Debug hi def link unisonDocMono Delimiter hi def link unisonDocDirective Import hi def link unisonDocQuote Delimiter hi def link unisonDocCode Delimiter hi def link unisonDoc String hi def link unisonBelowFold Comment hi def link unisonBlockComment Comment hi def link unisonBoolean Boolean hi def link unisonCharacter Character hi def link unisonComment Comment hi def link unisonConditional Conditional hi def link unisonConditional Conditional hi def link unisonDebug Debug hi def link unisonDelimiter Delimiter hi def link unisonDocBlock String hi def link unisonDocDirective Import hi def link unisonDocIncluded Import hi def link unisonFloat Float hi def link unisonImport Include hi def link unisonLineComment Comment hi def link unisonLink Type hi def link unisonName Identifier hi def link unisonNumber Number hi def link unisonOperator Operator hi def link unisonSpecialChar SpecialChar hi def link unisonSpecialCharError Error hi def link unisonStatement Statement hi def link unisonString String hi def link unisonType Type hi def link unisonTypedef Typedef let b:current_syntax = "unison" " Options for vi: ts=8 sw=2 sts=2 nowrap noexpandtab ft=vim