Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
unison.vim106 linesDownload Raw Back to syntax
1" Vim syntax file2"3" Language:        unison4" Maintainer:      Anton Parkhomenko <anton@chuwy.me>5" Last Change:     Oct 25, 20256" Original Author: John Williams, Paul Chiusano and Rúnar Bjarnason7 8if exists("b:current_syntax")9  finish10endif11 12syntax include @markdown $VIMRUNTIME/syntax/markdown.vim13 14syn cluster markdownLikeDocs contains=markdownBold,markdownItalic,markdownLinkText,markdownListMarker,markdownOrderedListMarker,markdownH1,markdownH2,markdownH3,markdownH4,markdownH5,markdownH615 16syn match unisonOperator "[-!#$%&\*\+/<=>\?@\\^|~]"17syn match unisonDelimiter "[\[\](){},.]"18 19" Strings and constants20syn match   unisonSpecialChar	contained "\\\([0-9]\+\|o[0-7]\+\|x[0-9a-fA-F]\+\|[\"\\'&\\abfnrtv]\|^[A-Z^_\[\\\]]\)"21syn 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\)"22syn match   unisonSpecialCharError	contained "\\&\|'''\+"23syn region  unisonString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=unisonSpecialChar24syn match   unisonCharacter		"[^a-zA-Z0-9_']'\([^\\]\|\\[^']\+\|\\'\)'"lc=1 contains=unisonSpecialChar,unisonSpecialCharError25syn match   unisonCharacter		"^'\([^\\]\|\\[^']\+\|\\'\)'" contains=unisonSpecialChar,unisonSpecialCharError26syn match   unisonNumber		"\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>\|\<0[bB][01]\+\>"27syn match   unisonFloat		"\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"28 29" Keyword definitions. These must be patterns instead of keywords30" because otherwise they would match as keywords at the start of a31" "literate" comment (see lu.vim).32syn match unisonModule		"\<namespace\>"33syn match unisonImport		"\<use\>"34syn match unisonTypedef		"\<\(unique\|structural\|∀\|forall\)\>"35syn match unisonStatement		"\<\(ability\|do\|type\|where\|match\|cases\|;\|let\|with\|handle\)\>"36syn match unisonConditional		"\<\(if\|else\|then\)\>"37 38syn match unisonBoolean "\<\(true\|false\)\>"39 40syn match unisonType "\<\C[A-Z][0-9A-Za-z_'!]*\>"41syn match unisonName "\<\C[a-z_][0-9A-Za-z_'!]*\>" contains=ALL42syn match unisonDef "^\C[A-Za-z_][0-9A-Za-z_'!]*:"43 44" Comments45syn match   unisonLineComment      "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$"46syn region  unisonBlockComment     start="{-"  end="-}" contains=unisonBlockComment47syn region  unisonBelowFold	   start="^---" skip="." end="." contains=unisonBelowFold48 49" Docs50syn region  unisonDocBlock         matchgroup=unisonDoc start="{{" end="}}" contains=unisonDocTypecheck,unisonDocQuasiquote,unisonDocDirective,unisonDocCode,unisonDocCodeInline,unisonDocCodeRaw,unisonDocMono,@markdownLikeDocs51syn region  unisonDocQuasiquote    contained matchgroup=unisonDocQuote start="{{" end= "}}" contains=TOP52syn region  unisonDocCode          contained matchgroup=unisonDocCode start="^\s*```\s*$" end="^\s*```\s*$" contains=TOP53syn region  unisonDocTypecheck     contained matchgroup=unisonDocCode start="^\s*@typecheck\s*```\s*$" end="^\s*```\s*$" contains=TOP54syn region  unisonDocCodeRaw       contained matchgroup=unisonDocCode start="^\s*```\s*raw\s*$" end="^\s*```\s*$" contains=NoSyntax55syn region  unisonDocCodeInline    contained matchgroup=unisonDocCode start="`\@<!``" end="`\@<!``" contains=TOP56syn match   unisonDocMono          "''[^']*''"57syn region  unisonDocDirective     contained matchgroup=unisonDocDirective start="\(@\([a-zA-Z0-9_']*\)\)\?{{\@!" end="}" contains=TOP58 59syn match unisonDebug "\<\(todo\|bug\|Debug.trace\|Debug.evalToText\)\>"60 61" things like62"    > my_func 1 363"    test> Function.tap.tests.t1 = check let64"      use Nat == +65"      ( 99, 100 ) === (withInitialValue 0 do66"          :      :      :67syn match unisonWatch "^[A-Za-z]*>"68 69hi def link       unisonWatch                           Debug70hi def link       unisonDocMono                         Delimiter71hi def link       unisonDocDirective                    Import72hi def link       unisonDocQuote                        Delimiter73hi def link       unisonDocCode                         Delimiter74hi def link       unisonDoc                             String75hi def link       unisonBelowFold                       Comment76hi def link       unisonBlockComment                    Comment77hi def link       unisonBoolean                         Boolean78hi def link       unisonCharacter                       Character79hi def link       unisonComment                         Comment80hi def link       unisonConditional                     Conditional81hi def link       unisonConditional                     Conditional82hi def link       unisonDebug                           Debug83hi def link       unisonDelimiter                       Delimiter84hi def link       unisonDocBlock                        String85hi def link       unisonDocDirective                    Import86hi def link       unisonDocIncluded                     Import87hi def link       unisonFloat                           Float88hi def link       unisonImport                          Include89hi def link       unisonLineComment                     Comment90hi def link       unisonLink                            Type91hi def link       unisonName                            Identifier92hi def link       unisonDef                             Typedef93hi def link       unisonNumber                          Number94hi def link       unisonOperator                        Operator95hi def link       unisonSpecialChar                     SpecialChar96hi def link       unisonSpecialCharError                Error97hi def link       unisonStatement                       Statement98hi def link       unisonString                          String99hi def link       unisonType                            Type100hi def link       unisonTypedef                         Typedef101 102 103let b:current_syntax = "unison"104 105" Options for vi: ts=8 sw=2 sts=2 nowrap noexpandtab ft=vim106 
codekingpro/portable-devtools · Team Ai