0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 9.1.0354: runtime(uci): No support for uci file types

Problem:  runtime(uci): No support for uci file types
          (Wu, Zhenyu)
Solution: include basic uci ftplugin and syntax plugins
          (Colin Caine)

closes: #14575

Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Colin Caine <complaints@cmcaine.co.uk>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Colin Caine
2024-04-18 23:53:02 +02:00
committed by Christian Brabandt
parent 36e667ab83
commit 4b3fab14db
6 changed files with 100 additions and 0 deletions

33
runtime/syntax/uci.vim Normal file
View File

@@ -0,0 +1,33 @@
" 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"