summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dat/levdes.vim
blob: 116fd4c3a4a8438b373ea99ddedabbf1e205277d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
" levdes.vim: 
"
" Basic Vim syntax highlighting for Dungeon Crawl Stone Soup level design
" (.des) files.
"

if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

syn case match

setlocal iskeyword+=:
setlocal iskeyword+=-

syn keyword desDeclarator NAME: ORIENT: DEPTH: PLACE: MONS: FLAGS: SYMBOL: default-depth: TAGS: CHANCE:
syn keyword desOrientation encompass north south east west northeast northwest southeast southwest

syn match desComment "^\s*#.*$"

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 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,desMapTrap
syn cluster desMapElements add=desMapEntry,desMapWaxWall

syn cluster desMapElements add=desMapRune,desMapOrb,desMapValuable

syn region desMap start=/^\s*\<MAP\>\s*$/ end=/^\s*\<ENDMAP\>\s*$/ contains=@desMapElements keepend

hi link desDeclarator Statement
hi link desMapBookend Statement
hi link desComment    Comment
hi link desMap        String
hi link desOrientation 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 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

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"