From 49570c8dd03448240897b37b68567352b790f16f Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 8 Oct 2023 12:09:20 -0400 Subject: convert to stow --- vim/.vim/syntax/nhdes.vim | 99 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 vim/.vim/syntax/nhdes.vim (limited to 'vim/.vim/syntax/nhdes.vim') diff --git a/vim/.vim/syntax/nhdes.vim b/vim/.vim/syntax/nhdes.vim new file mode 100644 index 0000000..dcafdf3 --- /dev/null +++ b/vim/.vim/syntax/nhdes.vim @@ -0,0 +1,99 @@ +" Vim syntax file +" Language: NetHack DES file +" Author: Pasi Kallinen +" Version: 20061119 +" Copyright: Copyright (c) 2006 Pasi Kallinen +" Licence: You may redistribute this under the same terms as NetHack itself + +if exists("b:current_syntax") + finish +endif + +syn sync minlines=30 + +" we're case sensitive +syn case match + +" some keywords use '-' +setlocal iskeyword+=- + +syn region nhDesComment start=/^[ \t]*#/ end=/$/ + +syn keyword nhDesCommandNoArgs + \ NOMAP RANDOM_CORRIDORS WALLIFY + +syn keyword nhDesCommandWithArgs + \ ALTAR BRANCH CHANCE CONTAINER CORRIDOR DOOR DRAWBRIDGE ENGRAVING + \ FLAGS FOUNTAIN GEOMETRY GOLD INIT_MAP LADDER LEVEL MAZE MAZEWALK + \ MESSAGE MONSTER NAME NON_DIGGABLE NON_PASSWALL OBJECT POOL PORTAL + \ RANDOM_MONSTERS RANDOM_OBJECTS RANDOM_PLACES REGION ROOM SINK STAIR + \ SUBROOM TELEPORT_REGION TRAP + +syn keyword nhDesRegister + \ align monster object place + +syn keyword nhDesConstant + \ altar arboreal asleep awake blessed bottom broken burn center chaos + \ closed coaligned \contained cursed down dust east engrave false filled + \ half-left half-right hardfloor hostile law left levregion lit locked + \ mark m_feature m_monster m_object neutral noalign nodoor nommap + \ noncoaligned none north noteleport open peaceful random right sanctum + \ shortsighted shrine south top true uncursed unfilled unlit up west + +syn region nhDesString start=/"/ end=/"/ +syn match nhDesChar /'.'/ + +syn match nhDesCoord /(\s*\d\+\s*,\s*\d\+\s*)/ +syn match nhDesRegion /(\s*\d\+\s*,\s*\d\+\s*,\s*\d\+\s*,\s*\d\+\s*)/ + +syn match nhDesMapCharDoor /[+S]/ contained +syn match nhDesMapCharFloor /[\.B]/ contained +syn match nhDesMapCharCorridor /[#H]/ contained +syn match nhDesMapCharWall /[\-\| ]/ contained +syn match nhDesMapCharWater /[WP}{]/ contained +syn match nhDesMapCharThrone /\\/ contained +syn match nhDesMapCharAir /A/ contained +syn match nhDesMapCharCloud /C/ contained +syn match nhDesMapCharLava /L/ contained +syn match nhDesMapCharSink /K/ contained +syn match nhDesMapCharIce /I/ contained +syn match nhDesMapCharTree /T/ contained +syn match nhDesMapCharIronbars /F/ contained +syn match nhDesMapCharLinenum /[0123456789]/ contained +" TODO: Any better way to do this? +syn match nhDesMapCharError /[^+S\.B#H\-\| WP}{\\ACLKITF0-9]/ contained + +syn region nhDesMap matchgroup=nhDesCommandNoArgs start=/^MAP$/ end=/^ENDMAP$/ + \ contains=nhDesMapCharError,nhDesMapCharDoor,nhDesMapCharFloor, + \ nhDesMapCharCorridor,nhDesMapCharWall,nhDesMapCharWater, + \ nhDesMapCharThrone,nhDesMapCharAir,nhDesMapCharCloud,nhDesMapCharLava, + \ nhDesMapCharSink,nhDesMapCharIce,nhDesMapCharTree,nhDesMapCharIronbars, + \ nhDesMapCharLinenum + +hi def link nhDesComment Comment +hi def link nhDesCommandNoArgs KeyWord +hi def link nhDesCommandWithArgs KeyWord +hi def link nhDesRegister Constant +hi def link nhDesConstant Constant +hi def link nhDesString String +hi def link nhDesChar String +hi def link nhDesCoord Number +hi def link nhDesRegion Number + +highlight nhDesMapCharDoor ctermbg=black ctermfg=brown guibg=black guifg=brown +highlight nhDesMapCharFloor ctermbg=black ctermfg=grey guibg=black guifg=grey +highlight nhDesMapCharCorridor ctermbg=black ctermfg=grey guibg=black guifg=grey +highlight nhDesMapCharWall ctermbg=black ctermfg=grey guibg=black guifg=grey +highlight nhDesMapCharWater ctermbg=black ctermfg=darkblue guibg=black guifg=darkblue +highlight nhDesMapCharThrone ctermbg=black ctermfg=yellow guibg=black guifg=yellow +highlight nhDesMapCharAir ctermbg=black ctermfg=lightblue guibg=black guifg=lightblue +highlight nhDesMapCharCloud ctermbg=black ctermfg=grey guibg=black guifg=grey +highlight nhDesMapCharLava ctermbg=black ctermfg=red guibg=black guifg=red +highlight nhDesMapCharSink ctermbg=black ctermfg=grey guibg=black guifg=grey +highlight nhDesMapCharIce ctermbg=black ctermfg=lightblue guibg=black guifg=lightblue +highlight nhDesMapCharTree ctermbg=black ctermfg=green guibg=black guifg=green +highlight nhDesMapCharIronbars ctermbg=black ctermfg=cyan guibg=black guifg=cyan +highlight nhDesMapCharLinenum ctermbg=black ctermfg=darkgrey guibg=black guifg=darkgrey +highlight nhDesMapCharError ctermbg=red ctermfg=yellow guibg=red guifg=yellow + +let b:current_syntax = "nhdes" -- cgit v1.2.3-54-g00ecf