poefilter.vim (5787B)
1 " Vim syntax file 2 " Language: PoE item filter 3 " Maintainer: ObserverOfTime <chronobserver@disroot.org> 4 " Filenames: *.filter 5 " Last Change: 2023 Feb 10 6 7 if exists('b:current_syntax') 8 finish 9 endif 10 11 let s:cpo_save = &cpoptions 12 set cpoptions&vim 13 14 " Comment 15 syn keyword poefilterTodo TODO NOTE XXX contained 16 syn match poefilterCommentTag /\[[0-9A-Z\[\]]\+\]/ contained 17 syn match poefilterComment /#.*$/ contains=poefilterTodo,poefilterCommentTag,@Spell 18 19 " Blocks 20 syn keyword poefilterBlock Show Hide Minimal 21 22 " Conditions 23 syn keyword poefilterCondition 24 \ AlternateQuality 25 \ AnyEnchantment 26 \ BlightedMap 27 \ Corrupted 28 \ ElderItem 29 \ ElderMap 30 \ FracturedItem 31 \ Identified 32 \ Mirrored 33 \ Replica 34 \ Scourged 35 \ ShapedMap 36 \ ShaperItem 37 \ SynthesisedItem 38 \ UberBlightedMap 39 \ skipwhite nextgroup=poefilterBoolean 40 syn keyword poefilterCondition 41 \ ArchnemesisMod 42 \ BaseType 43 \ Class 44 \ EnchantmentPassiveNode 45 \ HasEnchantment 46 \ HasExplicitMod 47 \ ItemLevel 48 \ SocketGroup 49 \ Sockets 50 \ skipwhite nextgroup=poefilterOperator,poefilterString 51 syn keyword poefilterCondition 52 \ AreaLevel 53 \ BaseArmour 54 \ BaseDefencePercentile 55 \ BaseEnergyShield 56 \ BaseEvasion 57 \ BaseWard 58 \ CorruptedMods 59 \ DropLevel 60 \ EnchantmentPassiveNum 61 \ GemLevel 62 \ HasEaterOfWorldsImplicit 63 \ HasSearingExarchImplicit 64 \ Height 65 \ LinkedSockets 66 \ MapTier 67 \ Quality 68 \ StackSize 69 \ Width 70 \ skipwhite nextgroup=poefilterOperator,poefilterNumber 71 syn keyword poefilterCondition 72 \ GemQualityType 73 \ skipwhite nextgroup=poefilterString,poefilterQuality 74 syn keyword poefilterCondition 75 \ HasInfluence 76 \ skipwhite nextgroup=poefilterString,poefilterInfluence 77 syn keyword poefilterCondition 78 \ Rarity 79 \ skipwhite nextgroup=poefilterString,poefilterRarity 80 81 " Actions 82 syn keyword poefilterAction 83 \ PlayAlertSound 84 \ PlayAlertSoundPositional 85 \ skipwhite nextgroup=poefilterNumber,poefilterDisable 86 syn keyword poefilterAction 87 \ CustomAlertSound 88 \ CustomAlertSoundOptional 89 \ skipwhite nextgroup=poefilterString 90 syn keyword poefilterAction 91 \ DisableDropSound 92 \ EnableDropSound 93 \ DisableDropSoundIfAlertSound 94 \ EnableDropSoundIfAlertSound 95 \ skipwhite nextgroup=poefilterBoolean 96 syn keyword poefilterAction 97 \ MinimapIcon 98 \ SetBackgroundColor 99 \ SetBorderColor 100 \ SetFontSize 101 \ SetTextColor 102 \ skipwhite nextgroup=poefilterNumber 103 syn keyword poefilterAction 104 \ PlayEffect 105 \ skipwhite nextgroup=poefilterColour 106 107 " Operators 108 syn match poefilterOperator /!\|[<>=]=\?/ contained 109 \ skipwhite nextgroup=poefilterString,poefilterNumber, 110 \ poefilterQuality,poefilterRarity,poefilterInfluence 111 112 " Arguments 113 syn match poefilterString /[-a-zA-Z0-9:,']/ contained contains=@Spell 114 \ skipwhite nextgroup=poefilterString,poefilterNumber, 115 \ poefilterQuality,poefilterRarity,poefilterInfluence 116 syn region poefilterString matchgroup=poefilterQuote keepend 117 \ start=/"/ end=/"/ concealends contained contains=@Spell 118 \ skipwhite nextgroup=poefilterString,poefilterNumber, 119 \ poefilterQuality,poefilterRarity,poefilterInfluence 120 syn match poefilterNumber /-1\|0\|[1-9][0-9]*/ contained 121 \ skipwhite nextgroup=poefilterString,poefilterNumber, 122 \ poefilterQuality,poefilterRarity,poefilterInfluence,poefilterColour 123 syn keyword poefilterBoolean True False contained 124 125 " Special arguments (conditions) 126 syn keyword poefilterQuality Superior Divergent Anomalous Phantasmal 127 \ contained skipwhite nextgroup=poefilterString,poefilterQuality 128 syn keyword poefilterRarity Normal Magic Rare Unique 129 \ contained skipwhite nextgroup=poefilterString,poefilterRarity 130 syn keyword poefilterInfluence Shaper Elder 131 \ Crusader Hunter Redeemer Warlord None 132 \ contained skipwhite nextgroup=poefilterString,poefilterInfluence 133 134 " Special arguments (actions) 135 syn keyword poefilterColour Red Green Blue Brown 136 \ White Yellow Cyan Grey Orange Pink Purple 137 \ contained skipwhite nextgroup=poefilterShape,poefilterTemp 138 syn keyword poefilterShape Circle Diamond Hecagon Square Star Triangle 139 \ Cross Moon Raindrop Kite Pentagon UpsideDownHouse contained 140 syn keyword poefilterDisable None contained 141 syn keyword poefilterTemp Temp contained 142 143 " Colours 144 145 hi def link poefilterAction Statement 146 hi def link poefilterBlock Structure 147 hi def link poefilterBoolean Boolean 148 hi def link poefilterColour Special 149 hi def link poefilterComment Comment 150 hi def link poefilterCommentTag SpecialComment 151 hi def link poefilterCondition Conditional 152 hi def link poefilterDisable Constant 153 hi def link poefilterInfluence Special 154 hi def link poefilterNumber Number 155 hi def link poefilterOperator Operator 156 hi def link poefilterQuality Special 157 hi def link poefilterQuote Delimiter 158 hi def link poefilterRarity Special 159 hi def link poefilterShape Special 160 hi def link poefilterString String 161 hi def link poefilterTemp StorageClass 162 hi def link poefilterTodo Todo 163 164 let b:current_syntax = 'poefilter' 165 166 let &cpoptions = s:cpo_save 167 unlet s:cpo_save