" " CopyRight Roberti & Parau Enterprises, Inc. 2021-2023 " " This work is licensed under the Creative Commons Attribution 4.0 International License. " To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ " or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. " " Syntax and color settings for Da Vinci Assembler Source Code " " Written by Paolo Roberti " " if exists("b:current_syntax") finish endif let b:current_syntax = "asm" syn match dvaOperator "[+-=\*/%^|&]" syn match dvaDecimal "\<\d*\(\.\d*\)\?\([E][+,-]\d\+\)\?\>" syn match dvaHexaDecimal "\<0x\x\+\>" syn match dvaComma "," syn region dvaString start=/"/ skip=/\\"/ end=/"/ syn region dvaCharError start=/'/ skip=/\\'/ end=/'/ syn match dvaCharacter "\('[^\\']'\)\|\('\\['obtnvfr]'\)\|\('\\\\'\)\|\('x\x\x'\)" syn region dvaComment start="//" end="$" syn region dvaContinuation start="/>" end="$" syn region dvaMacro start="^#MACRO\s*$" end="^#END\s*$" syn match dvaSymbol "\<\h\w*\(\.\h\w*\)*\>" syn match dvaLabel "^\h\w*\(\.\h\w*\)*\(\s\+\|$\)" syn match dvaOpCode "\(^\(\s*\(/>.*\n\)\)*\s\+\)\@<=\h\w*\(\.\h\w*\)*\(\s\+\|$\)" syn match dvaOpCode "\(^\s\+\)\@<=\h\w*\(\.\h\w*\)*\(\s\+\|$\)" syn match dvaOpCode "\(\(^\h\w*\(\.\h\w*\)*\)\s\+\)\@<=\h\w*\(\.\h\w*\)*\(\s\+\|$\)" syn match dvaContError "\(/>.*\n\)\@<=\S\+" " " Parenthesis match " syn cluster dvaParenGroup contains=dvaOperator,dvaDEcimal,dvaHexaDecimal,dvaComma,dvaString,dvaCharacter,dvaContinuation,dvaSymbol,dvaLabel,dvaOpCode, syn match dvaParenError display ")" syn region dvaParen transparent matchgroup=dvaParenGrp skip="/>.*$" start="(" end=")" contains=@dvaParenGroup,dvaParen " " Bracket match " syn cluster dvaBracketGroup contains=dvaOperator,dvaDEcimal,dvaHexaDecimal,dvaParentGrp,dvaComma,dvaString,dvaCharacter,dvaContinuation,dvaSymbol,dvaLabel,dvaOpCode, syn match dvaBracketError display "\]" syn region dvaBracket transparent matchgroup=dvaBracketGrp skip="/>.*$" start="\[" end="\]" contains=@dvaBracketGroup " " Colors used when background set ro 'dark' or otherwise " " If you use color setting file comment out the following or delete it " and add highlight definitions for dva* groups " hi clear set bg="dark" hi normal guifg=#00FF00 guibg=#101030 hi nCursor guibg=#F59D15 guifg=#101030 hi iCursor guibg=#00FFFF guifg=#101030 hi rCursor guibg=#FF00FF guifg=#101030 hi dvaOperator guifg=#FFFFFF hi dvaDecimal guifg=#F5AD15 hi dvaHexaDecimal guifg=#F5AD15 hi dvaComma guifg=#FFFFFF hi dvaString guifg=#F5AD15 hi dvaCharError guifg=#FFFFFF guibg=#FF0000 hi dvaCharacter guifg=#F5AD15 hi dvaComment guifg=#C0C0C0 hi dvaContinuation guifg=#C0C0C0 hi dvaMacro guifg=#00FF00 hi dvaSymbol guifg=#00FF00 hi dvaLabel guifg=#FF80E0 hi dvaLabelError guifg=#FFFFFF guibg=#FF0000 hi dvaOpCode guifg=#55FFFF hi dvaContError guifg=#FFFFFF guibg=#FF0000 hi dvaParenGrp guifg=#FFFFFF hi dvaParenError guifg=#FFFFFF guibg=#FF0000 hi dvaBracketGrp guifg=#FFFFFF hi dvaBracketError guifg=#FFFFFF guibg=#FF0000