view runtime/syntax/uci.vim @ 35288:e0701cae97d4

Added tag v9.1.0448 for changeset b68266606e8434409a5b8fd532bc7d801b292737
author Christian Brabandt <cb@256bit.org>
date Wed, 29 May 2024 08:00:05 +0200
parents f4511bd98310
children
line wrap: on
line source

" Vim syntax file
" Language:	OpenWrt Unified Configuration Interface
" Maintainer:	Colin Caine <complaints@cmcaine.co.uk>
" Upstream:	https://github.com/cmcaine/vim-uci
" Last Change:	2021 Sep 19
"
" For more information on uci, see https://openwrt.org/docs/guide-user/base-system/uci

if exists("b:current_syntax")
    finish
endif

" Fancy zero-width non-capturing look-behind to see what the last word was.
" Would be really nice if there was some less obscure or more efficient way to
" do this.
syntax match uciOptionName '\%(\%(option\|list\)\s\+\)\@<=\S*'
syntax match uciConfigName '\%(\%(package\|config\)\s\+\)\@<=\S*'
syntax keyword uciConfigDec package config nextgroup=uciConfigName skipwhite
syntax keyword uciOptionType option list nextgroup=uciOptionName skipwhite

" Standard matches.
syntax match uciComment "#.*$"
syntax region uciString start=+"+ end=+"+ skip=+\\"+
syntax region uciString start=+'+ end=+'+ skip=+\\'+

highlight default link uciConfigName Identifier
highlight default link uciOptionName Constant
highlight default link uciConfigDec Statement
highlight default link uciOptionType Type
highlight default link uciComment Comment
highlight default link uciString Normal

let b:current_syntax = "uci"