neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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