diff options
author | jluehrs2 <jluehrs2@uiuc.edu> | 2007-12-09 21:55:31 -0500 |
---|---|---|
committer | jluehrs2 <jluehrs2@uiuc.edu> | 2007-12-09 21:55:31 -0500 |
commit | 96df7d201ddb1efb8791dbefe611aded0ddec82f (patch) | |
tree | d1c57c7204275cadbc42fdd7422802fc10d46fe4 /vim | |
parent | aa280a6237c8e3edafccd477b90d2249d8998b28 (diff) | |
download | conf-96df7d201ddb1efb8791dbefe611aded0ddec82f.tar.gz conf-96df7d201ddb1efb8791dbefe611aded0ddec82f.zip |
add crawl levdes syntax file
Diffstat (limited to 'vim')
-rw-r--r-- | vim/ftdetect/levdes.vim | 1 | ||||
-rw-r--r-- | vim/ftdetect/nhdes.vim | 2 | ||||
-rw-r--r-- | vim/syntax/levdes.vim | 149 |
3 files changed, 151 insertions, 1 deletions
diff --git a/vim/ftdetect/levdes.vim b/vim/ftdetect/levdes.vim new file mode 100644 index 0000000..c016fd8 --- /dev/null +++ b/vim/ftdetect/levdes.vim @@ -0,0 +1 @@ +au! BufRead,BufNewFile *crawl*/*.des set filetype=levdes diff --git a/vim/ftdetect/nhdes.vim b/vim/ftdetect/nhdes.vim index 089b391..5886d51 100644 --- a/vim/ftdetect/nhdes.vim +++ b/vim/ftdetect/nhdes.vim @@ -1 +1 @@ -au! BufRead,BufNewFile *.des set filetype=nhdes +au! BufRead,BufNewFile *nethack*/*.des set filetype=nhdes diff --git a/vim/syntax/levdes.vim b/vim/syntax/levdes.vim new file mode 100644 index 0000000..980cf27 --- /dev/null +++ b/vim/syntax/levdes.vim @@ -0,0 +1,149 @@ +" Vim syntax file +" Language: Dungeon Crawl level design (.des) files. +" Maintainer: Darshan Shaligram <scintilla@gmail.com> +" Last Change: 2007 Jun 28 +" Remark: Basic Vim syntax highlighting for Dungeon Crawl Stone Soup +" level design (.des) files. +" +" How to use this: +" * Put levdes.vim (this file) under ~/.vim/syntax (or similar directory for +" your system - usually C:\Program Files\Vim\vimfiles\syntax on Windows). +" * In your .vimrc, add this line: +" au BufRead,BufNewFile *.des set syntax=levdes +" Thereafter, any .des files you edit in (g)vim will use syntax highlighting. + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +if !exists("main_syntax") + let main_syntax = 'des' +endif + +syn include @desLua syntax/lua.vim + +syn case match + +syn match desLuaBlock /\(lua\)\?\s\+{{/ contained +syn match desOtherLuaBlock /^\(prelude\|lua\|validate\)\?\s*{{/ contained +syn match desLuaBlockEnd /}}/ contained +"syn match desColonLine /^\s*:/ contained + +syn cluster desLuaGroup contains=desLuaBlock,desOtherLuaBlock,desLuaBlockEnd + +syn region desLua start=/^\s*\(lua\)\?\s*{{/ end=/}}\s*$/ contains=@desLuaGroup,@desLua keepend +syn region desLuaCol start=/^\s*:/ end=/$/ contains=@desLuaGroup,@desLua keepend +syn region desVal start=/^\s*validate\?\s*{{/ end=/}}\s*$/ contains=@desLuaGroup,@desLua keepend +syn region desPre start=/^\s*prelude\?\s*{{/ end=/}}\s*$/ contains=@desLuaGroup,@desLua keepend + +setlocal iskeyword+=: +setlocal iskeyword+=- + +syn keyword desSubstDec SUBST: contained +syn keyword desNsubstDec NSUBST: contained +syn keyword desShuffleDec SHUFFLE: contained + +syn region desSubst start=/^SUBST:\s*/ end=/$/ contains=desSubstDec,desSubstArg,desSubstSep,@desMapElements keepend + +syn region desNsubst start=/^NSUBST:\s*/ end=/$/ contains=desNsubstDec,desSubstArg,desSubstSep,@desMapElements keepend + +syn region desShuffle start=/^SHUFFLE:\s*/ end=/$/ contains=desShuffleDec,desMapFrag keepend + +syn keyword desDeclarator NAME: ORIENT: DEPTH: PLACE: MONS: FLAGS: default-depth: TAGS: CHANCE: WEIGHT: ITEM: KFEAT: KMONS: KITEM: COLOUR: KMASK: MARKER: LFLAGS: BFLAGS: ROCKCOL: FLOORCOL: +syn keyword desOrientation encompass north south east west northeast northwest southeast southwest float +syn keyword desOrientation no_hmirror no_vmirror no_rotate +syn keyword desOrientation entry pan lab bazaar allow_dup dummy mini_float minotaur +syn keyword desOrientation no_pool_fixup no_monster_gen generate_awake no_item_gen no_tele_control not_mappable no_magic_map no_secret_doors generate_loot +syn keyword desOrientation Temple Orc Elf Lair Swamp Shoal Slime Snake Hive Vault Blade Crypt Tomb Hell Dis Geh Coc Tar +syn keyword desOrientation D: contained + +syn match desComment "^\s*#.*$" + +syn match desEntry "\<\w*_entry\>" +" 'transparent' is a Vim syntax keyword??? +syn match desTransparent "transparent" +syn match desRange "\d*-\d*" +syn match desNumber "\s\d*" +syn match desWeight "w:\d*" +syn match desSlash "/" + +syn keyword desMapBookend MAP ENDMAP contained +syn match desMapFloor /\./ contained +syn match desMapWall /x/ contained +syn match desMapDoor /[+=]/ contained +syn match desMapStoneWall /c/ contained +syn match desMapCrystalWall /b/ contained +syn match desMapMetalWall /v/ contained +syn match desMapWaxWall /a/ contained +syn match desMapMonst /[0-9]/ contained +syn match desMapGold /\$/ contained +syn match desMapLava /l/ contained +syn match desMapWater /w/ contained +syn match desMapShallow /W/ contained +syn match desMapEntry /@/ contained +syn match desMapTrap /\^/ contained + +syn match desMapValuable /[R%*|]/ contained +syn match desMapRune /[PO]/ contained +syn match desMapOrb /Z/ contained + +syn cluster desMapElements contains=desMapBookend,desMapWall,desMapFloor +syn cluster desMapElements add=desMapMonst,desMapCrystalWall,desMapGold +syn cluster desMapElements add=desMapLava,desMapMetalWall,desMapDoor +syn cluster desMapElements add=desMapStoneWall,desMapWater,desMapShallow +syn cluster desMapElements add=desMapTrap,desMapEntry,desMapWaxWall + +syn cluster desMapElements add=desMapRune,desMapOrb,desMapValuable + +syn match desSubstArg /\S/ contained nextgroup=desSubstSep skipwhite +syn match desSubstSep /[:=]/ contained nextgroup=desMapFrag skipwhite +syn region desMapFrag start=/./ end=/$/ contains=@desMapElements contained + +syn region desMap start=/^\s*\<MAP\>\s*$/ end=/^\s*\<ENDMAP\>\s*$/ contains=@desMapElements keepend + +hi link desDeclarator Statement +hi link desSubstDec Statement +hi link desNsubstDec Statement +hi link desShuffleDec Statement +hi link desMapBookend Statement +hi link desLuaBlock Statement +hi link desOtherLuaBlock Statement +hi link desLuaBlockEnd Statement +"hi link desColonLine Statement +hi link desComment Comment +hi link desMap String +hi link desSubstArg String +hi link desRange String +hi link desEntry Type +hi link desNumber String +hi link desWeight String +hi link desSlash Comment + +hi link desSubstSep Type +hi link desOrientation Type +hi link desTransparent Type + +hi desMapWall guifg=darkgray term=bold gui=bold ctermfg=brown +hi desMapCrystalWall guifg=#009040 term=bold gui=bold ctermfg=green +hi desMapStoneWall guifg=black gui=bold ctermfg=darkgray +hi desMapMetalWall guifg=#004090 term=bold gui=bold ctermfg=blue +hi desMapWaxWall guifg=#a0a000 gui=bold ctermfg=yellow +hi desMapFloor guifg=#008000 ctermfg=lightgray +hi desMapMonst guifg=red ctermfg=darkred +hi desMapLava guifg=red gui=bold ctermfg=red +hi desMapTrap guifg=red gui=bold ctermfg=red +hi desMapWater guifg=lightblue ctermfg=darkblue +hi desMapShallow guifg=lightcyan ctermfg=darkcyan +hi desMapGold guifg=#c09000 ctermfg=yellow +hi desMapDoor guifg=brown gui=bold ctermfg=black ctermbg=brown +hi desMapEntry guifg=black guibg=white gui=bold ctermfg=white ctermbg=black + +hi desMapValuable guifg=darkgreen gui=bold ctermfg=lightgreen +hi desMapRune guifg=orange gui=bold ctermfg=white +hi desMapOrb guibg=gold guifg=black ctermfg=white + +syn sync minlines=45 + +let b:current_syntax="levdes" |