" Vim syntax file" Language: none; used to see highlighting" Maintainer: Ronald Schild <rs@scutum.de>" Last Change: 2001 Sep 02" Version: 5.4n.1" To see your current highlight settings, do" :so $VIMRUNTIME/syntax/hitest.vim" save global options and registerslet s:hidden = &hiddenlet s:lazyredraw = &lazyredrawlet s:more = &morelet s:report = &reportlet s:shortmess = &shortmesslet s:wrapscan = &wrapscanlet s:register_a = @alet s:register_se = @/" set global optionsset hidden lazyredraw nomore report=99999 shortmess=aoOstTW wrapscan" print current highlight settings into register aredir @ahighlightredir END" Open a new window if the current one isn't emptyif line("$") != 1 || getline(1) != "" newendif" edit temporary fileedit Highlight\ test" set local optionssetlocal autoindent noexpandtab formatoptions=t shiftwidth=16 noswapfile tabstop=16let &textwidth=&columns" insert highlight settings% deleteput a" remove the colored xxx itemsg/xxx /s///e" remove color settings (not needed here)global! /links to/ substitute /\s.*$//e" move linked groups to the end of fileglobal /links to/ move $" move linked group names to the matching preferred groups% substitute /^\(\w\+\)\s*\(links to\)\s*\(\w\+\)$/\3\t\2 \1/eglobal /links to/ normal mz3ElD0#$p'zdd" delete empty linesglobal /^ *$/ delete" precede syntax command% substitute /^[^ ]*/syn keyword &\t&/" execute syntax commandssyntax clear% yank a@a" remove syntax commands again% substitute /^syn keyword //" pretty formattingglobal /^/ exe "normal Wi\<CR>\t\eAA\ex"global /^\S/ join" find out first syntax highlightinglet b:various = &highlight.',:Normal,:Cursor,:,'let b:i = 1while b:various =~ ':'.substitute(getline(b:i), '\s.*$', ',', '') let b:i = b:i + 1 if b:i > line("$") | break | endifendwhile" insert headlinescall append(0, "Highlighting groups for various occasions")call append(1, "-----------------------------------------")if b:i < line("$")-1 let b:synhead = "Syntax highlighting groups" if exists("hitest_filetypes") redir @a let redir END let @a = substitute(@a, 'did_\(\w\+\)_syn\w*_inits\s*#1', ', \1', 'g') let @a = substitute(@a, "\n\\w[^\n]*", '', 'g') let @a = substitute(@a, "\n", '', 'g') let @a = substitute(@a, '^,', '', 'g') if @a != "" let b:synhead = b:synhead." - filetype" if @a =~ ',' let b:synhead = b:synhead."s" endif let b:synhead = b:synhead.":".@a endif endif call append(b:i+1, "") call append(b:i+2, b:synhead) call append(b:i+3, substitute(b:synhead, '.', '-', 'g'))endif" remove 'hls' highlightingnohlsearchnormal 0" add autocommands to remove temporary file from buffer listaug highlighttest au! au BufUnload Highlight\ test if expand("<afile>") == "Highlight test" au BufUnload Highlight\ test bdelete! Highlight\ test au BufUnload Highlight\ test endif au VimLeavePre * if bufexists("Highlight test") au VimLeavePre * bdelete! Highlight\ test au VimLeavePre * endifaug END" we don't want to save this temporary fileset nomodified" the following trick avoids the "Press RETURN ..." prompt0 append." restore global options and registerslet &hidden = s:hiddenlet &lazyredraw = s:lazyredrawlet &more = s:morelet &report = s:reportlet &shortmess = s:shortmesslet &wrapscan = s:wrapscanlet @a = s:register_a" restore last search patterncall histdel("search", -1)let @/ = s:register_se" remove variablesunlet s:hidden s:lazyredraw s:more s:report s:shortmessunlet s:wrapscan s:register_a s:register_se" vim: ts=8
" Vim syntax file
" Language: none; used to see highlighting
" Maintainer: Ronald Schild <rs@scutum.de>
" Last Change: 2001 Sep 02
" Version: 5.4n.1
" To see your current highlight settings, do
" :so $VIMRUNTIME/syntax/hitest.vim
" save global options and registers
let s:hidden = &hidden
let s:lazyredraw = &lazyredraw
let s:more = &more
let s:report = &report
let s:shortmess = &shortmess
let s:wrapscan = &wrapscan
let s:register_a = @a
let s:register_se = @/
" set global options
set hidden lazyredraw nomore report=99999 shortmess=aoOstTW wrapscan
" print current highlight settings into register a
redir @a
highlight
redir END
" Open a new window if the current one isn't empty
if line("$") != 1 || getline(1) != ""
new
endif
" edit temporary file
edit Highlight\ test
" set local options
setlocal autoindent noexpandtab formatoptions=t shiftwidth=16 noswapfile tabstop=16
let &textwidth=&columns
" insert highlight settings
% delete
put a
" remove the colored xxx items
g/xxx /s///e
" remove color settings (not needed here)
global! /links to/ substitute /\s.*$//e
" move linked groups to the end of file
global /links to/ move $
" move linked group names to the matching preferred groups
% substitute /^\(\w\+\)\s*\(links to\)\s*\(\w\+\)$/\3\t\2 \1/e
global /links to/ normal mz3ElD0#$p'zdd
" delete empty lines
global /^ *$/ delete
" precede syntax command
% substitute /^[^ ]*/syn keyword &\t&/
" execute syntax commands
syntax clear
% yank a
@a
" remove syntax commands again
% substitute /^syn keyword //
" pretty formatting
global /^/ exe "normal Wi\<CR>\t\eAA\ex"
global /^\S/ join
" find out first syntax highlighting
let b:various = &highlight.',:Normal,:Cursor,:,'
let b:i = 1
while b:various =~ ':'.substitute(getline(b:i), '\s.*$', ',', '')
let b:i = b:i + 1
if b:i > line("$") | break | endif
endwhile
" insert headlines
call append(0, "Highlighting groups for various occasions")
call append(1, "-----------------------------------------")
if b:i < line("$")-1
let b:synhead = "Syntax highlighting groups"
if exists("hitest_filetypes")
redir @a
let
redir END
let @a = substitute(@a, 'did_\(\w\+\)_syn\w*_inits\s*#1', ', \1', 'g')
let @a = substitute(@a, "\n\\w[^\n]*", '', 'g')
let @a = substitute(@a, "\n", '', 'g')
let @a = substitute(@a, '^,', '', 'g')
if @a != ""
let b:synhead = b:synhead." - filetype"
if @a =~ ','
let b:synhead = b:synhead."s"
endif
let b:synhead = b:synhead.":".@a
endif
endif
call append(b:i+1, "")
call append(b:i+2, b:synhead)
call append(b:i+3, substitute(b:synhead, '.', '-', 'g'))
endif
" remove 'hls' highlighting
nohlsearch
normal 0
" add autocommands to remove temporary file from buffer list
aug highlighttest
au!
au BufUnload Highlight\ test if expand("<afile>") == "Highlight test"
au BufUnload Highlight\ test bdelete! Highlight\ test
au BufUnload Highlight\ test endif
au VimLeavePre * if bufexists("Highlight test")
au VimLeavePre * bdelete! Highlight\ test
au VimLeavePre * endif
aug END
" we don't want to save this temporary file
set nomodified
" the following trick avoids the "Press RETURN ..." prompt
0 append
.
" restore global options and registers
let &hidden = s:hidden
let &lazyredraw = s:lazyredraw
let &more = s:more
let &report = s:report
let &shortmess = s:shortmess
let &wrapscan = s:wrapscan
let @a = s:register_a
" restore last search pattern
call histdel("search", -1)
let @/ = s:register_se
" remove variables
unlet s:hidden s:lazyredraw s:more s:report s:shortmess
unlet s:wrapscan s:register_a s:register_se
" vim: ts=8