1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: none; used to see highlighting 3071d4279SBram Moolenaar" Maintainer: Ronald Schild <[email protected]> 4*61da1bfaSBram Moolenaar" Last Change: 2019 Jun 06 5071d4279SBram Moolenaar" Version: 5.4n.1 6*61da1bfaSBram Moolenaar" Additional Changes By: Lifepillar, Bram 7071d4279SBram Moolenaar 8071d4279SBram Moolenaar" To see your current highlight settings, do 9071d4279SBram Moolenaar" :so $VIMRUNTIME/syntax/hitest.vim 10071d4279SBram Moolenaar 11071d4279SBram Moolenaar" save global options and registers 12071d4279SBram Moolenaarlet s:hidden = &hidden 13071d4279SBram Moolenaarlet s:lazyredraw = &lazyredraw 14071d4279SBram Moolenaarlet s:more = &more 15071d4279SBram Moolenaarlet s:report = &report 16*61da1bfaSBram Moolenaarlet s:whichwrap = &whichwrap 17071d4279SBram Moolenaarlet s:shortmess = &shortmess 18071d4279SBram Moolenaarlet s:wrapscan = &wrapscan 19071d4279SBram Moolenaarlet s:register_a = @a 20071d4279SBram Moolenaarlet s:register_se = @/ 21071d4279SBram Moolenaar 22071d4279SBram Moolenaar" set global options 23071d4279SBram Moolenaarset hidden lazyredraw nomore report=99999 shortmess=aoOstTW wrapscan 24*61da1bfaSBram Moolenaarset whichwrap& 25071d4279SBram Moolenaar 26071d4279SBram Moolenaar" print current highlight settings into register a 27071d4279SBram Moolenaarredir @a 28*61da1bfaSBram Moolenaarsilent highlight 29071d4279SBram Moolenaarredir END 30071d4279SBram Moolenaar 31071d4279SBram Moolenaar" Open a new window if the current one isn't empty 32071d4279SBram Moolenaarif line("$") != 1 || getline(1) != "" 33071d4279SBram Moolenaar new 34071d4279SBram Moolenaarendif 35071d4279SBram Moolenaar 36071d4279SBram Moolenaar" edit temporary file 37071d4279SBram Moolenaaredit Highlight\ test 38071d4279SBram Moolenaar 39071d4279SBram Moolenaar" set local options 40*61da1bfaSBram Moolenaarsetlocal autoindent noexpandtab formatoptions=t shiftwidth=18 noswapfile tabstop=18 41071d4279SBram Moolenaarlet &textwidth=&columns 42071d4279SBram Moolenaar 43071d4279SBram Moolenaar" insert highlight settings 44071d4279SBram Moolenaar% delete 45071d4279SBram Moolenaarput a 46071d4279SBram Moolenaar 47*61da1bfaSBram Moolenaar" remove cleared groups 48*61da1bfaSBram Moolenaarsilent! g/ cleared$/d 49*61da1bfaSBram Moolenaar 50071d4279SBram Moolenaar" remove the colored xxx items 51071d4279SBram Moolenaarg/xxx /s///e 52071d4279SBram Moolenaar 53071d4279SBram Moolenaar" remove color settings (not needed here) 54071d4279SBram Moolenaarglobal! /links to/ substitute /\s.*$//e 55071d4279SBram Moolenaar 56*61da1bfaSBram Moolenaar" Move split 'links to' lines to the same line 57*61da1bfaSBram Moolenaar% substitute /^\(\w\+\)\n\s*\(links to.*\)/\1\t\2/e 58*61da1bfaSBram Moolenaar 59071d4279SBram Moolenaar" move linked groups to the end of file 60071d4279SBram Moolenaarglobal /links to/ move $ 61071d4279SBram Moolenaar 62071d4279SBram Moolenaar" move linked group names to the matching preferred groups 63*61da1bfaSBram Moolenaar" TODO: this fails if the group linked to isn't defined 64071d4279SBram Moolenaar% substitute /^\(\w\+\)\s*\(links to\)\s*\(\w\+\)$/\3\t\2 \1/e 65*61da1bfaSBram Moolenaarsilent! global /links to/ normal mz3ElD0#$p'zdd 66071d4279SBram Moolenaar 67071d4279SBram Moolenaar" delete empty lines 68071d4279SBram Moolenaarglobal /^ *$/ delete 69071d4279SBram Moolenaar 70071d4279SBram Moolenaar" precede syntax command 71071d4279SBram Moolenaar% substitute /^[^ ]*/syn keyword &\t&/ 72071d4279SBram Moolenaar 73071d4279SBram Moolenaar" execute syntax commands 74071d4279SBram Moolenaarsyntax clear 75071d4279SBram Moolenaar% yank a 76071d4279SBram Moolenaar@a 77071d4279SBram Moolenaar 78071d4279SBram Moolenaar" remove syntax commands again 79071d4279SBram Moolenaar% substitute /^syn keyword // 80071d4279SBram Moolenaar 81071d4279SBram Moolenaar" pretty formatting 82071d4279SBram Moolenaarglobal /^/ exe "normal Wi\<CR>\t\eAA\ex" 83071d4279SBram Moolenaarglobal /^\S/ join 84071d4279SBram Moolenaar 85071d4279SBram Moolenaar" find out first syntax highlighting 86071d4279SBram Moolenaarlet b:various = &highlight.',:Normal,:Cursor,:,' 87071d4279SBram Moolenaarlet b:i = 1 88071d4279SBram Moolenaarwhile b:various =~ ':'.substitute(getline(b:i), '\s.*$', ',', '') 89071d4279SBram Moolenaar let b:i = b:i + 1 90071d4279SBram Moolenaar if b:i > line("$") | break | endif 91071d4279SBram Moolenaarendwhile 92071d4279SBram Moolenaar 93071d4279SBram Moolenaar" insert headlines 94071d4279SBram Moolenaarcall append(0, "Highlighting groups for various occasions") 95071d4279SBram Moolenaarcall append(1, "-----------------------------------------") 96071d4279SBram Moolenaar 97071d4279SBram Moolenaarif b:i < line("$")-1 98071d4279SBram Moolenaar let b:synhead = "Syntax highlighting groups" 99071d4279SBram Moolenaar if exists("hitest_filetypes") 100071d4279SBram Moolenaar redir @a 101071d4279SBram Moolenaar let 102071d4279SBram Moolenaar redir END 103071d4279SBram Moolenaar let @a = substitute(@a, 'did_\(\w\+\)_syn\w*_inits\s*#1', ', \1', 'g') 104071d4279SBram Moolenaar let @a = substitute(@a, "\n\\w[^\n]*", '', 'g') 105071d4279SBram Moolenaar let @a = substitute(@a, "\n", '', 'g') 106071d4279SBram Moolenaar let @a = substitute(@a, '^,', '', 'g') 107071d4279SBram Moolenaar if @a != "" 108071d4279SBram Moolenaar let b:synhead = b:synhead." - filetype" 109071d4279SBram Moolenaar if @a =~ ',' 110071d4279SBram Moolenaar let b:synhead = b:synhead."s" 111071d4279SBram Moolenaar endif 112071d4279SBram Moolenaar let b:synhead = b:synhead.":".@a 113071d4279SBram Moolenaar endif 114071d4279SBram Moolenaar endif 115071d4279SBram Moolenaar call append(b:i+1, "") 116071d4279SBram Moolenaar call append(b:i+2, b:synhead) 117071d4279SBram Moolenaar call append(b:i+3, substitute(b:synhead, '.', '-', 'g')) 118071d4279SBram Moolenaarendif 119071d4279SBram Moolenaar 120071d4279SBram Moolenaar" remove 'hls' highlighting 121071d4279SBram Moolenaarnohlsearch 122071d4279SBram Moolenaarnormal 0 123071d4279SBram Moolenaar 124071d4279SBram Moolenaar" we don't want to save this temporary file 125071d4279SBram Moolenaarset nomodified 126071d4279SBram Moolenaar 127071d4279SBram Moolenaar" the following trick avoids the "Press RETURN ..." prompt 128071d4279SBram Moolenaar0 append 129071d4279SBram Moolenaar. 130071d4279SBram Moolenaar 131071d4279SBram Moolenaar" restore global options and registers 132071d4279SBram Moolenaarlet &hidden = s:hidden 133071d4279SBram Moolenaarlet &lazyredraw = s:lazyredraw 134071d4279SBram Moolenaarlet &more = s:more 135071d4279SBram Moolenaarlet &report = s:report 136071d4279SBram Moolenaarlet &shortmess = s:shortmess 137*61da1bfaSBram Moolenaarlet &whichwrap = s:whichwrap 138071d4279SBram Moolenaarlet &wrapscan = s:wrapscan 139071d4279SBram Moolenaarlet @a = s:register_a 140071d4279SBram Moolenaar 141071d4279SBram Moolenaar" restore last search pattern 142071d4279SBram Moolenaarcall histdel("search", -1) 143071d4279SBram Moolenaarlet @/ = s:register_se 144071d4279SBram Moolenaar 145071d4279SBram Moolenaar" remove variables 146071d4279SBram Moolenaarunlet s:hidden s:lazyredraw s:more s:report s:shortmess 147*61da1bfaSBram Moolenaarunlet s:whichwrap s:wrapscan s:register_a s:register_se 148071d4279SBram Moolenaar 149071d4279SBram Moolenaar" vim: ts=8 150