mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
8d77061051
Problem: runtime(uci): No support for uci file types
(Wu, Zhenyu)
Solution: include basic uci ftplugin and syntax plugins
(Colin Caine)
closes: vim/vim#14575
4b3fab14db
Co-authored-by: Colin Caine <complaints@cmcaine.co.uk>
Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
34 lines
1.2 KiB
VimL
34 lines
1.2 KiB
VimL
" 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"
|