Mercurial > vim
view runtime/syntax/hostconf.vim @ 15838:de068e9acd8e v8.1.0926
patch 8.1.0926: no test for :wnext, :wNext and :wprevious
commit https://github.com/vim/vim/commit/e93e5a504f481bd0dad9c504d5fcf0e5f0dfc6e6
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Feb 15 20:22:38 2019 +0100
patch 8.1.0926: no test for :wnext, :wNext and :wprevious
Problem: No test for :wnext, :wNext and :wprevious.
Solution: Add a test. (Dominique Pelle, closes https://github.com/vim/vim/issues/3963)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 15 Feb 2019 20:30:07 +0100 |
parents | 1218c5353e2b |
children |
line wrap: on
line source
" Vim syntax file " Language: host.conf(5) configuration file " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2007-06-25 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn keyword hostconfTodo \ contained \ TODO \ FIXME \ XXX \ NOTE syn match hostconfComment \ display \ contained \ '\s*#.*' \ contains=hostconfTodo, \ @Spell syn match hostconfBegin \ display \ '^' \ nextgroup=hostconfComment,hostconfKeyword \ skipwhite syn keyword hostconfKeyword \ contained \ order \ nextgroup=hostconfLookupOrder \ skipwhite let s:orders = ['bind', 'hosts', 'nis'] function s:permute_suffixes(list) if empty(a:list) return [] elseif len(a:list) == 1 return a:list[0] else let i = 0 let n = len(a:list) let sub_permutations = [] while i < n let list_copy = copy(a:list) let removed = list_copy[i] call remove(list_copy, i) call add(sub_permutations, [removed, s:permute_suffixes(list_copy)]) let i += 1 endwhile return sub_permutations endif endfunction function s:generate_suffix_groups(list_of_order_of_orders, context, trailing_context) for order_of_orders in a:list_of_order_of_orders let order = order_of_orders[0] let trailing_context = a:trailing_context . toupper(order[0]) . order[1:] let nextgroup = 'hostconfLookupOrder' . trailing_context let nextgroup_delimiter = nextgroup . 'Delimiter' let group = 'hostconfLookupOrder' . a:context execute 'syn keyword' group 'contained' order 'nextgroup=' . nextgroup_delimiter 'skipwhite' execute 'syn match' nextgroup_delimiter 'contained display "," nextgroup=' . nextgroup 'skipwhite' if a:context != "" execute 'hi def link' group 'hostconfLookupOrder' endif execute 'hi def link' nextgroup_delimiter 'hostconfLookupOrderDelimiter' let context = trailing_context if type(order_of_orders[1]) == type([]) call s:generate_suffix_groups(order_of_orders[1], context, trailing_context) else execute 'syn keyword hostconfLookupOrder' . context 'contained' order_of_orders[-1] execute 'hi def link hostconfLookupOrder' . context 'hostconfLookupOrder' endif endfor endfunction call s:generate_suffix_groups(s:permute_suffixes(s:orders), "", "") delfunction s:generate_suffix_groups delfunction s:permute_suffixes syn keyword hostconfKeyword \ contained \ trim \ nextgroup=hostconfDomain \ skipwhite syn match hostconfDomain \ contained \ '\.[^:;,[:space:]]\+' \ nextgroup=hostconfDomainDelimiter \ skipwhite syn match hostconfDomainDelimiter \ contained \ display \ '[:;,]' \ nextgroup=hostconfDomain \ skipwhite syn keyword hostconfKeyword \ contained \ multi \ nospoof \ spoofalert \ reorder \ nextgroup=hostconfBoolean \ skipwhite syn keyword hostconfBoolean \ contained \ on \ off syn keyword hostconfKeyword \ contained \ spoof \ nextgroup=hostconfSpoofValue \ skipwhite syn keyword hostconfSpoofValue \ contained \ off \ nowarn \ warn hi def link hostconfTodo Todo hi def link hostconfComment Comment hi def link hostconfKeyword Keyword hi def link hostconfLookupOrder Identifier hi def link hostconfLookupOrderDelimiter Delimiter hi def link hostconfDomain String hi def link hostconfDomainDelimiter Delimiter hi def link hostconfBoolean Boolean hi def link hostconfSpoofValue hostconfBoolean let b:current_syntax = "hostconf" let &cpo = s:cpo_save unlet s:cpo_save