xref: /vim-8.2.3635/runtime/syntax/hitest.vim (revision 61da1bfa)
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