blob: 094771ef9cca626bb9fdb044ece22fdaa6d803c5 [file] [log] [blame]
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" __________ __ ___.
" Open \______ \ ____ ____ | | _\_ |__ _______ ___
" Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
" Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
" Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
" \/ \/ \/ \/ \/
" $Id$
"
" Vim syntax file for Rockbox WPS (While Playing Screen) definitions.
" Copyright (C) 2009 by Kevin Schoedel
"
" This program is free software; you can redistribute it and/or
" modify it under the terms of the GNU General Public License
" as published by the Free Software Foundation; either version 2
" of the License, or (at your option) any later version.
"
" This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
" KIND, either express or implied.
"
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if exists("b:current_syntax")
finish
endif
syn case match
" Highlight trailing white space.
if exists("c_space_errors")
if !exists("c_no_trail_space_error")
syn match wpsSpaceError display excludenl "\s\+$"
endif
if !exists("c_no_tab_space_error")
syn match wpsSpaceError display " \+\t"me=e-1
endif
endif
" Comments.
syn keyword wpsTodo contained TODO FIXME XXX
syn cluster wpsCommentGroup contains=wpsTodo
syn region wpsComment start="#" end="$" keepend contains=@wpsCommentGroup,wpsSpaceError,@Spell
" Delimiters.
syn match wpsPipeError "|"
syn match wpsSep "|" contained
syn match wpsSubline ";"
syn match wpsPct "%" nextgroup=wpsSpecial,wpsCond,@wpsTag
" Literals.
syn match wpsSpecial "[%<|>;#]" contained
" Conditional test.
syn match wpsCond "?" nextgroup=@wpsTag
syn match wpsElse "|" contained
syn match wpsEndIfError ">"
syn match wpsIfEndIf "[<>]" contained
syn region wpsConditions matchgroup=wpsIfEndIf start="<" end=">" skip="%>" contains=wpsElse,wpsConditions,wpsPct,wpsSubline
hi def link wpsCond wpsConditional
hi def link wpsIfEndIf wpsConditional
hi def link wpsElse wpsConditional
" Tags not otherwise defined (overridden by known tags).
syn match wpsUnknownTag "\a\+" contained
syn cluster wpsTag add=wpsUnknownTag
hi def link wpsUnknownTag wpsTagError
" Known tags are defined individually, so that the user can classify
" and colour them differently if desired.
" %a -- Alignment tags.
syn match wpsAlignError "a\a" contained
syn cluster wpsTag add=wpsAlignError
hi def link wpsAlignError wpsTagError
syn match wpsAlignTag "a[lcr]" contained
syn cluster wpsTag add=wpsAlignTag
hi def link wpsAlignTag wpsTag
" %b -- Power tags.
syn match wpsPowerError "b\a" contained
syn cluster wpsTag add=wpsPowerError
hi def link wpsPowerError wpsTagError
syn match wpsPowerTag "b[clpstv]" contained
syn cluster wpsTag add=wpsPowerTag
hi def link wpsPowerTag wpsTag
" %c -- Clock tags.
syn match wpsClockError "c\a" contained
syn cluster wpsTag add=wpsClockError
hi def link wpsClockError wpsTagError
syn match wpsClockTag "c[abdefklmpuwyHIMPSY]" contained
syn cluster wpsTag add=wpsClockTag
hi def link wpsClockTag wpsTag
" %C -- Album art tags.
syn match wpsAlbumArtError "C\a" contained
syn cluster wpsTag add=wpsAlbumArtError
hi def link wpsAlbumArtError wpsTagError
syn match wpsDefAlbumArtTag "Cl|"he=e-1 contained contains=wpsSep nextgroup=wpsDefAlbumArtX
syn match wpsDefAlbumArtX "\d\+|"he=e-1 contained contains=wpsSep nextgroup=wpsDefAlbumArtY
syn match wpsDefAlbumArtY "\d\+|"he=e-1 contained contains=wpsSep nextgroup=wpsDefAlbumArtW
syn match wpsDefAlbumArtW "\([lcrs]\?\d\+\)\?|"he=e-1 contained contains=wpsSep nextgroup=wpsDefAlbumArtH
syn match wpsDefAlbumArtH "\([tcbs]\?\d\+\)\?|"he=e-1 contained contains=wpsSep
syn cluster wpsTag add=wpsDefAlbumArtTag
hi def link wpsDefAlbumArtTag wpsAlbumArtTags
hi def link wpsDefAlbumArtX wpsAlbumArtArgs
hi def link wpsDefAlbumArtY wpsAlbumArtArgs
hi def link wpsDefAlbumArtW wpsAlbumArtArgs
hi def link wpsDefAlbumArtH wpsAlbumArtArgs
hi def link wpsAlbumArtArgs wpsArgs
syn match wpsRefAlbumArtTag "C\>" contained
syn cluster wpsTag add=wpsRefAlbumArtTag
hi def link wpsRefAlbumArtTag wpsAlbumArtTags
hi def link wpsAlbumArtTags wpsTag
" %d -- Directory tags.
syn match wpsDirError "d\a" contained
syn match wpsNextDirError "D\a" contained
syn cluster wpsTag add=wpsDirError,wpsNextDirError
hi def link wpsDirError wpsTagError
hi def link wpsNextDirError wpsTagError
syn match wpsDirTag "d[123]" contained
syn match wpsNextDirTag "D[123]" contained
syn cluster wpsTag add=wpsDirTag,wpsNextDirTag
hi def link wpsDirTag wpsDirTags
hi def link wpsNextDirTag wpsDirTags
hi def link wpsDirTags wpsTag
" %f -- File tags.
syn match wpsFileError "f\a" contained
syn match wpsNextFileError "F\a" contained
syn cluster wpsTag add=wpsFileError,wpsNextFileError
hi def link wpsFileError wpsTagError
hi def link wpsNextFileError wpsTagError
syn match wpsFileTag "f[bcfkmnpsv]" contained
syn match wpsNextFileTag "F[bcfkmnpsv]" contained
syn cluster wpsTag add=wpsFileTag,wpsNextFileTag
hi def link wpsFileTag wpsFileTags
hi def link wpsNextFileTag wpsFileTags
hi def link wpsFileTags wpsTag
" %i -- ID3 tags.
syn match wpsID3Error "i\a" contained
syn match wpsNextID3Error "I\a" contained
syn cluster wpsTag add=wpsID3Error,wpsNextID3Error
hi def link wpsID3Error wpsTagError
hi def link wpsNextID3Error wpsTagError
syn match wpsID3Tag "i[acdgntvykAGC]" contained
syn match wpsNextID3Tag "I[acdgntvykAGC]" contained
syn cluster wpsTag add=wpsID3Tag,wpsNextID3Tag
hi def link wpsID3Tag wpsID3Tags
hi def link wpsNextID3Tag wpsID3Tags
hi def link wpsID3Tags wpsTag
" %l -- LED tags.
syn match wpsLEDError "l\a" contained
syn cluster wpsTag add=wpsLEDError
hi def link wpsLEDError wpsTagError
syn match wpsLEDTag "l[h]" contained
syn cluster wpsTag add=wpsLEDTag
hi def link wpsLEDTag wpsTag
" %m -- Mode tags.
syn match wpsModeError "m\a" contained
syn cluster wpsTag add=wpsModeError
hi def link wpsModeError wpsTagError
syn match wpsHoldTag "m[hr]" contained
hi def link wpsHoldTag wpsTag
syn cluster wpsTag add=wpsHoldTag
syn match wpsPlaybackTag "mp" contained
hi def link wpsPlaybackTag wpsTag
syn cluster wpsTag add=wpsPlaybackTag
syn match wpsRepeatTag "mm" contained
hi def link wpsRepeatTag wpsTag
syn cluster wpsTag add=wpsRepeatTag
syn match wpsVolumeTag "mv" contained
hi def link wpsVolumeTag wpsTag
syn cluster wpsTag add=wpsVolumeTag
" %p -- Playlist/Song tags.
syn match wpsSongError "p\a" contained
syn cluster wpsTag add=wpsSongError
hi def link wpsSongError wpsTagError
syn match wpsSongTag "p[cefmnprstvx]" contained
syn cluster wpsTag add=wpsSongTag
hi def link wpsSongTag wpsTag
syn match wpsProgress6Tag "pb" contained
syn cluster wpsTag add=wpsProgress6Tag
hi def link wpsProgress6Tag wpsTag
syn match wpsProgressTag "pb|" contained contains=wpsSep nextgroup=wpsProgressFile
syn match wpsProgressFile "[^|]\+|"he=e-1 contained contains=wpsSep nextgroup=wpsProgressX
syn match wpsProgressX "\(-\|\d\+\)|"he=e-1 contained contains=wpsSep nextgroup=wpsProgressY
syn match wpsProgressY "\(-\|\d\+\)|"he=e-1 contained contains=wpsSep nextgroup=wpsProgressW
syn match wpsProgressW "\(-\|\d\+\)|"he=e-1 contained contains=wpsSep nextgroup=wpsProgressH
syn match wpsProgressH "\(-\|\d\+\)|"he=e-1 contained contains=wpsSep
syn cluster wpsTag add=wpsProgressTag
hi def link wpsProgressTag wpsTag
hi def link wpsProgressFile wpsProgressArgs
hi def link wpsProgressX wpsProgressArgs
hi def link wpsProgressY wpsProgressArgs
hi def link wpsProgressW wpsProgressArgs
hi def link wpsProgressH wpsProgressArgs
hi def link wpsProgressArgs wpsArgs
" %r -- Runtime/Replaygain tags.
syn match wpsRuntimeError "r\a" contained
syn cluster wpsTag add=wpsRuntimeError
hi def link wpsRuntimeError wpsTagError
syn match wpsRuntimeTag "r[apr]" contained
syn cluster wpsTag add=wpsRuntimeTag
hi def link wpsRuntimeTag wpsTag
syn match wpsReplaygainTag "rg" contained
syn cluster wpsTag add=wpsReplaygainTag
hi def link wpsReplaygainTag wpsTag
" %s -- Scrolling tag.
syn match wpsScrollError "s\a" contained
syn cluster wpsTag add=wpsScrollError
hi def link wpsScrollError wpsTagError
syn match wpsScrollTag "s\>" contained
syn cluster wpsTag add=wpsScrollTag
hi def link wpsScrollTag wpsTag
" %S -- Settings tags.
syn match wpsSettingError "S\a" contained
syn cluster wpsTag add=wpsSettingError
hi def link wpsSettingError wpsTagError
syn match wpsSettingTag "St|"he=e-1 contained contains=wpsSep nextgroup=wpsSettingName
syn match wpsSettingName "[^|]\+|"he=e-1 contained contains=wpsSep
syn cluster wpsTag add=wpsSettingTag
hi def link wpsSettingTag wpsTag
hi def link wpsSettingName wpsSettingArgs
hi def link wpsSettingArgs wpsArgs
syn match wpsPitchTag "Sp\>" contained
syn cluster wpsTag add=wpsPitchTag
hi def link wpsPitchTag wpsTag
syn match wpsTranslatedTag "Sx|"he=e-1 contained contains=wpsSep nextgroup=wpsTranslatedText
syn match wpsTranslatedText "[^|]\+|"he=e-1 contained contains=wpsSep
syn cluster wpsTag add=wpsTranslatedTag
hi def link wpsTranslatedTag wpsTag
hi def link wpsTranslatedText wpsTranslatedArgs
hi def link wpsTranslatedArgs wpsArgs
syn match wpsLangIsRtlTag "Sr" contained
hi def link wpsLangIsRtlTag wpsArgs
syn cluster wpsTag add=wpsLangIsRTLTag
" %t -- Alternation tags.
syn match wpsAlternateError "t" contained
syn cluster wpsTag add=wpsAlternateError
hi def link wpsAlternateError wpsTagError
syn match wpsAlternateTag "t\d"me=e-1 contained contains=wpsSep nextgroup=wpsAlternateTime
syn match wpsAlternateTime "\d\+\(\.\d+\)\?" contained
syn cluster wpsTag add=wpsAlternateTag
hi def link wpsAlternateTag wpsTag
hi def link wpsAlternateTime wpsAlternateArgs
hi def link wpsAlternateArgs wpsArgs
" %V -- Viewport tags.
syn match wpsViewportError "V\a" contained
syn cluster wpsTag add=wpsViewportError
hi def link wpsViewportError wpsTagError
syn match wpsViewportTag "V|"he=e-1 contained contains=wpsSep nextgroup=wpsViewportX
syn cluster wpsTag add=wpsViewportTag
hi def link wpsViewportTag wpsViewportTags
syn match wpsDefViewportTag "Vl|"he=e-1 contained contains=wpsSep nextgroup=wpsDefViewportId
syn match wpsDefViewportId "\a|"he=e-1 contained contains=wpsSep nextgroup=wpsViewportX
syn match wpsViewportX "\d\+|"he=e-1 contained contains=wpsSep nextgroup=wpsViewportY
syn match wpsViewportY "\d\+|"he=e-1 contained contains=wpsSep nextgroup=wpsViewportW
syn match wpsViewportW "\(-\|\d\+\)|"he=e-1 contained contains=wpsSep nextgroup=wpsViewportH
syn match wpsViewportH "\(-\|\d\+\)|"he=e-1 contained contains=wpsSep nextgroup=wpsViewportFont
syn match wpsViewportFont "[-01]|"he=e-1 contained contains=wpsSep nextgroup=wpsViewportShade,wpsViewportFG
syn match wpsViewportShade "[-0-3]|"he=e-1 contained contains=wpsSep
syn match wpsViewportFG "\(-\|\x\{6}\)|"he=e-1 contained contains=wpsSep nextgroup=wpsViewportBG
syn match wpsViewportBG "\(-\|\x\{6}\)|"he=e-1 contained contains=wpsSep
syn cluster wpsTag add=wpsDefViewportTag
hi def link wpsDefViewportId wpsDefId
hi def link wpsDefViewportTag wpsViewportTags
hi def link wpsViewportX wpsViewportArgs
hi def link wpsViewportY wpsViewportArgs
hi def link wpsViewportW wpsViewportArgs
hi def link wpsViewportH wpsViewportArgs
hi def link wpsViewportFont wpsViewportArgs
hi def link wpsViewportShade wpsViewportArgs
hi def link wpsViewportFG wpsViewportArgs
hi def link wpsViewportBG wpsViewportArgs
hi def link wpsViewportArgs wpsArgs
syn match wpsRefViewportTag "Vd" nextgroup=wpsRefViewportId
syn match wpsRefViewportId "\a" contained
syn cluster wpsTag add=wpsRefViewportTag
hi def link wpsRefViewportTag wpsViewportTags
hi def link wpsRefViewportId wpsRefId
hi def link wpsViewportTags wpsTag
" %w -- Status bar tags.
syn match wpsStatusBarError "w\a" contained
syn cluster wpsTag add=wpsStatusBarError
hi def link wpsStatusBarError wpsTagError
syn match wpsStatusBarTag "w[ed]" contained
syn cluster wpsTag add=wpsStatusBarTag
hi def link wpsStatusBarTag wpsTag
" %x -- Image/Crossfade tags.
syn match wpsImageError "x\a" contained
syn cluster wpsTag add=wpsImageError
hi def link wpsImageError wpsTagError
syn match wpsLoadImageTag "xl|"he=e-1 contained contains=wpsSep nextgroup=wpsLoadImageId
syn match wpsLoadImageId "\a|"he=e-1 contained contains=wpsSep nextgroup=wpsLoadImageFile
syn match wpsLoadImageFile "[^|]\+|"he=e-1 contained contains=wpsSep nextgroup=wpsLoadImageX
syn match wpsLoadImageX "\d\+|"he=e-1 contained contains=wpsSep nextgroup=wpsLoadImageY
syn match wpsLoadImageY "\d\+|"he=e-1 contained contains=wpsSep
syn cluster wpsTag add=wpsLoadImageTag
hi def link wpsLoadImageTag wpsImageTags
hi def link wpsLoadImageFile wpsImageArgs
hi def link wpsLoadImageX wpsImageArgs
hi def link wpsLoadImageY wpsImageArgs
syn match wpsDefImageTag "xl|"he=e-1 contained contains=wpsSep nextgroup=wpsDefImageId
syn match wpsDefImageId "\a|"he=e-1 contained contains=wpsSep nextgroup=wpsDefImageFile
syn match wpsDefImageFile "[^|]\+|"he=e-1 contained contains=wpsSep nextgroup=wpsDefImageX
syn match wpsDefImageX "\d\+|"he=e-1 contained contains=wpsSep nextgroup=wpsDefImageY
syn match wpsDefImageY "\d\+|"he=e-1 contained contains=wpsSep nextgroup=wpsDefImageCount
syn match wpsDefImageCount "\d\+|"he=e-1 contained contains=wpsSep
syn cluster wpsTag add=wpsDefImageTag
hi def link wpsDefImageTag wpsImageTags
hi def link wpsDefImageId wpsDefId
hi def link wpsDefImageFile wpsImageArgs
hi def link wpsDefImageX wpsImageArgs
hi def link wpsDefImageY wpsImageArgs
hi def link wpsDefImageCount wpsImageArgs
syn match wpsRefImageTag "xd" nextgroup=wpsRefImageId
syn match wpsRefImageId "\a" contained nextgroup=wpsRefImageBitmap
syn match wpsRefImageBitmap "\a" contained
syn cluster wpsTag add=wpsRefImageTag
hi def link wpsRefImageTag wpsImageTags
hi def link wpsRefImageId wpsRefId
hi def link wpsRefImageBitmap wpsRefId
hi def link wpsImageTags wpsTag
hi def link wpsImageArgs wpsArgs
syn match wpsCrossfadeTag "xf" contained
syn cluster wpsTag add=wpsCrossfadeTag
hi def link wpsCrossfadeTag wpsTag
" %X -- Backdrop tag.
syn match wpsBackdropError "X\a" contained
syn cluster wpsTag add=wpsBackdropError
hi def link wpsBackdropError wpsTagError
syn match wpsBackdropTag "X|" contained contains=wpsSep nextgroup=wpsBackdropFile
syn match wpsBackdropFile "[^|]\+|"he=e-1 contained contains=wpsSep
syn cluster wpsTag add=wpsBackdropTag
hi def link wpsBackdropTag wpsTag
hi def link wpsBackdropFile wpsBackdropArgs
hi def link wpsBackdropArgs wpsArgs
hi def link wpsDefId wpsIdentifier
hi def link wpsRefId wpsIdentifier
hi def link wpsPct wpsOperator
hi def link wpsSep wpsOperator
hi def link wpsSubline wpsOperator
hi def link wpsPipeError wpsError
hi def link wpsEndIfError wpsError
hi def link wpsTagError wpsError
hi def link wpsSpaceError wpsError
hi def link wpsError Error
hi def link wpsComment Comment
hi def link wpsTodo Todo
hi def link wpsSpecial SpecialChar
hi def link wpsTag Statement
hi def link wpsArgs Constant
hi def link wpsOperator Operator
hi def link wpsConditional Conditional
hi def link wpsIdentifier Identifier
let b:current_syntax = "wps"
" vim:ts=4 et sts=4 sw=4: