mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			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" |