Last active
August 29, 2015 14:03
-
-
Save RWJMurphy/ff01a7d575b6729ce34f to your computer and use it in GitHub Desktop.
DF Init & Raw file syntax highlighting for vim - WIP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if exists("b:current_syntax") | |
finish | |
endif | |
" # matches and keywords | |
" ## Tags | |
syntax cluster initTags contains=@initTagNames,initTagDelimiter,@initValues | |
syntax region initTag start=/\v\[/ end=/\v[\]\n]/ contains=@initTags | |
syntax match initTagDelimiter /\v:/ contained | |
" highlight link initTag String | |
highlight link initTagDelimiter Delimiter | |
" ### Tags that take either YES or NO | |
syntax keyword initBoolTagName SOUND INTRO WINDOWED RESIZABLE BLACK_SPACE GRAPHICS GRAPHICS_BLACK_SPACE contained | |
syntax keyword initBoolTagName SINGLE_BUFFER TOPMOST FPS ARB_SYNC VSYNC MOUSE MOUSE_PICTURE COMPRESSED_SAVES contained | |
syntax keyword initYesValue YES contained | |
syntax keyword initNoValue NO contained | |
syntax cluster initTagNames add=initBoolTagName | |
syntax cluster initValues add=initYesValue,initNoValue | |
highlight link initBoolTagName Keyword | |
highlight link initYesValue Boolean | |
highlight link initNoValue Boolean | |
" ### Tags that take a numeric value | |
syntax keyword initNumericTagName VOLUME WINDOWEDX WINDOWEDY FULLSCREENX FULLSCREENY contained | |
syntax keyword initNumericTagName GRAPHICS_WINDOWEDX GRAPHICS_WINDOWEDY GRAPHICS_FULLSCREENX GRAPHICS_FULLSCREENY contained | |
syntax keyword initNumericTagName TRUETYPE FPS_CAP G_FPS_CAP ZOOM_SPEED KEY_HOLD_MS KEY_REPEAT_MS contained | |
syntax keyword initNumericTagName KEY_REPEAT_ACCEL_LIMIT KEY_REPEAT_ACCEL_START MACRO_MS RECENTER_INTERFACE_SHUTDOWN_MS contained | |
syntax match initNumericValue /\v[0-9]+/ contained | |
syntax cluster initTagNames add=initNumericTagName | |
syntax cluster initValues add=initNumericValue | |
highlight link initNumericTagName Keyword | |
highlight link initNumericValue Number | |
" ### Tags that take a filename | |
syntax region initFileTag start=/\v\[(GRAPHICS_)?(FULL)?FONT/ end=/\v[\]\n]/ contains=initFileTagName,initFileValue,initTagDelimiter | |
syntax keyword initFileTagName FONT FULLFONT GRAPHICS_FONT GRAPHICS_FULLFONT contained | |
syntax match initFileValue /\v:@<=[a-zA-Z0-9._]+\]@=/ contained | |
syntax cluster initTags add=initFileTag | |
highlight link initFileTagName Keyword | |
highlight link initFileValue String | |
" ### Tags with their own specific set of values | |
syntax keyword initPrintModeTagName PRINT_MODE contained | |
syntax match initPrintModeValue /\v(2D(|SW|ASYNC)|STANDARD|PARTIAL:[0-9]+|(ACCUM|FRAME)_BUFFER|VBO)/ contained | |
syntax cluster initTagNames add=initPrintModeTagName | |
syntax cluster initValues add=initPrintModeValue | |
highlight link initPrintModeTagName Keyword | |
highlight link initPrintModeValue Keyword | |
syntax keyword initTextureParamTagName TEXTURE_PARAM contained | |
syntax match initTextureParamValue /\v(LINEAR|NEAREST)/ contained | |
syntax cluster initTagNames add=initTextureParamTagName | |
syntax cluster initValues add=initTextureParamValue | |
highlight link initTextureParamTagName Keyword | |
highlight link initTextureParamValue Keyword | |
syntax keyword initPriorityTagName PRIORITY contained | |
syntax match initPriorityValue /\v(LOW|HIGH)/ contained | |
syntax cluster initTagNames add=initPriorityTagName | |
syntax cluster initValues add=initTexturePriorityValue | |
highlight link initPriorityTagName Keyword | |
highlight link initPriorityValue Keyword | |
" ## Comments | |
syntax match initComment "^\(\s*\[.*$\)\@!.*$" | |
highlight link initComment Comment | |
let b:current_syntax = "dwarf_fortress" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment