"######################################################################### "# syntax/scurvy.vim: Scurvy syntax highlighting "# Description: Scurvy is a scriptwriting tool from MarginalHacks.com "# Author: David Ljung Madison "# See License: http://MarginalHacks.com/License/ "######################################################################### " HISTORY {{{1 "######################################################################### "# V1.00 "# First release "# "######################################################################### " Level Colors {{{1 " colors for outline levels 1-9 " Light background {{{2 if &background == "light" hi General guifg=Green ctermfg=Green hi Action guifg=Blue ctermfg=Blue hi Transition guifg=Brown ctermfg=Brown hi Dialogue guifg=DarkGrey ctermfg=DarkGrey hi VoiceOver guifg=Green ctermfg=Green hi Parenthetical guifg=Green ctermfg=Green " Dark background {{{2 else hi General guifg=LightGreen ctermfg=LightGreen hi Action guifg=LightBlue ctermfg=LightBlue hi Transition guifg=Brown ctermfg=Brown hi Dialogue guifg=LightGrey ctermfg=LightGrey hi VoiceOver guifg=Green ctermfg=Green hi Parenthetical guifg=LightGreen ctermfg=LightGreen endif " Both backgrounds {{{2 hi Alias guifg=red guibg=white ctermfg=red ctermbg=white hi UseAlias guifg=DarkGrey guibg=white ctermfg=DarkGrey ctermbg=white hi DialogueName guifg=darkgreen guibg=white ctermfg=darkgreen ctermbg=white hi Heading guifg=darkgreen guibg=white ctermfg=darkgreen ctermbg=white hi Error guifg=white guibg=red ctermfg=white ctermbg=red " Syntax {{{1 syn clear syn sync fromstart " Syntax Types {{{2 syn match scurvyGeneral "^[^ ].*$" syn match scurvyComment "^\s*#.*$" syn match scurvyHeading "^INT.*$" syn match scurvyHeading "^EXT.*$" syn match scurvyHeading "^I/E.*$" syn match scurvyAction "^ [^ ].*$" syn match scurvyTrans "^ [^ ].*$" syn match scurvyTransErr "^ .*$" syn match scurvyAlias "^\S\S*:=.*$" syn match scurvyUseAlias "{\S\+}"ms=s+1,me=e-1 " Dialogue syn match scurvyDialName "^\S[^ ]*\( (V.O.)\)\{0,1}: "he=e-2 contains=scurvyVO nextgroup=scurvyDialogue syn match scurvyDialStErr "^\S[^ ]*:[^= ].*$" syn match scurvyVO " (V.O.)" contained syn match scurvyVO " (O.S.)" contained syn match scurvyDialogue ".*$" contained contains=scurvyDialParen,scurvyUseAlias,scurvyDialErr syn match scurvyDialParen " ([^)]\+)"lc=1 contained " I was making any tab in Dialogue be an error because it was " more likely to be an attempt to do some other form of syntax, but " it's also possible (and something I've done) to put tabs after, " for example, a parenthetical, and we don't want a red blob there. " syn match scurvyDialErr " " contained " Type Colors {{{2 hi link scurvyDialErr Error hi link scurvyTransErr Error hi link scurvyDialStErr Error hi link scurvyComment Comment hi link scurvyHeading Heading hi link scurvyGeneral General hi link scurvyAction Action hi link scurvyTrans Transition hi link scurvyAlias Alias hi link scurvyUseAlias UseAlias "hi link scurvyDialName DialogueName hi link scurvyDialName Identifier hi link scurvyVO VoiceOver "hi link scurvyDialogue Dialogue hi link scurvyDialogue Normal hi link scurvyDialParen Parenthetical " Also colors: Special, Statement, Normal " The End {{{1 " vim600: set ts=8 foldmethod=marker foldlevel=0: