Mercurial > vim
view runtime/vimlogo.eps @ 33399:95db67c7b754 v9.0.1958
patch 9.0.1958: cannot complete option values
Commit: https://github.com/vim/vim/commit/900894b09a95398dfc75599e9f0aa2ea25723384
Author: Yee Cheng Chin <ychin.git@gmail.com>
Date: Fri Sep 29 20:42:32 2023 +0200
patch 9.0.1958: cannot complete option values
Problem: cannot complete option values
Solution: Add completion functions for several options
Add cmdline tab-completion for setting string options
Add tab-completion for setting string options on the cmdline using
`:set=` (along with `:set+=` and `:set-=`).
The existing tab completion for setting options currently only works
when nothing is typed yet, and it only fills in with the existing value,
e.g. when the user does `:set diffopt=<Tab>` it will be completed to
`set diffopt=internal,filler,closeoff` and nothing else. This isn't too
useful as a user usually wants auto-complete to suggest all the possible
values, such as 'iblank', or 'algorithm:patience'.
For set= and set+=, this adds a new optional callback function for each
option that can be invoked when doing completion. This allows for each
option to have control over how completion works. For example, in
'diffopt', it will suggest the default enumeration, but if `algorithm:`
is selected, it will further suggest different algorithm types like
'meyers' and 'patience'. When using set=, the existing option value will
be filled in as the first choice to preserve the existing behavior. When
using set+= this won't happen as it doesn't make sense.
For flag list options (e.g. 'mouse' and 'guioptions'), completion will
take into account existing typed values (and in the case of set+=, the
existing option value) to make sure it doesn't suggest duplicates.
For set-=, there is a new `ExpandSettingSubtract` function which will
handle flag list and comma-separated options smartly, by only suggesting
values that currently exist in the option.
Note that Vim has some existing code that adds special handling for
'filetype', 'syntax', and misc dir options like 'backupdir'. This change
preserves them as they already work, instead of converting to the new
callback API for each option.
closes: #13182
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 29 Sep 2023 20:45:04 +0200 |
parents | 9521463d4fc1 |
children |
line wrap: on
line source
%!PS-Adobe-3.0 EPSF-3.0 %%For: %%Title: %%Creator: Scribus1.4.2 %%Pages: 1 %%BoundingBox: 0 0 282 282 %%HiResBoundingBox: 0 0 282 282 %%LanguageLevel: 3 %%EndComments %%BeginProlog /Scribusdict 100 dict def Scribusdict begin /sp {showpage} bind def /oldsetgray /setgray load def /cmyk {setcmykcolor} def /m {moveto} bind def /l {lineto} bind def /li {lineto} bind def /cu {curveto} bind def /cl {closepath} bind def /gs {gsave} bind def /gr {grestore} bind def /tr {translate} bind def /ro {rotate} bind def /sh {show} bind def /shg {setcmykcolor moveto glyphshow} def /shgsp {moveto glyphshow} def /sc {scale} bind def /se {selectfont} bind def /sf {setfont} bind def /sw {setlinewidth} bind def /f {findfont} bind def /fi {fill} bind def /st {stroke} bind def /shgf {gs dup scale begin cvx exec fill end gr} bind def /shgs {gs dup 1 exch div currentlinewidth mul sw dup scale begin cvx exec st end gr} bind def /bEPS { /b4_Inc_state save def /dict_count countdictstack def /op_count count 1 sub def userdict begin /showpage { } def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [ ] 0 setdash newpath /languagelevel where {pop languagelevel 1 ne {false setstrokeadjust false setoverprint } if } if } bind def /eEPS { count op_count sub {pop} repeat countdictstack dict_count sub {end} repeat b4_Inc_state restore } bind def end %%EndProlog %%BeginSetup %%EndSetup %%Page: 1 1 %%PageOrientation: Portrait Scribusdict begin save /DeviceCMYK setcolorspace 0 0 tr 0 0 m 282 0 li 282 282 li 0 282 li cl clip newpath gs 0.708406 281.428 m 281.58 281.428 li 281.58 0.556 li 0.708406 0.556 li 0.708406 281.428 li cl eoclip newpath gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 0.816406 281.32 tr 280.656 -138.888 m 138.888 0 li 0 -141.696 li 138.888 -280.656 li 280.656 -138.888 li cl 0 0 0 1 cmyk eofill 280.656 -138.888 m 138.888 0 li 0 -141.696 li 138.888 -280.656 li 280.656 -138.888 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 139.704 142.432 tr 127.584 0 m 136.08 0 li 0 -136.08 li 0 -127.584 li 127.584 0 li cl 0.6 0 0.4 0.580392 cmyk eofill 127.584 0 m 136.08 0 li 0 -136.08 li 0 -127.584 li 127.584 0 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 6.50391 139.624 tr 0 0 m 8.49609 0 li 133.2 -124.776 li 133.2 -133.272 li 0 0 li cl 0.6 0 0.4 0.509804 cmyk eofill 0 0 m 8.49609 0 li 133.2 -124.776 li 133.2 -133.272 li 0 0 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 6.50391 275.632 tr 133.2 -8.42384 m 133.2 0 li 0 -136.008 li 8.49609 -136.008 li 133.2 -8.42384 li cl 0.6 0 0.4 0 cmyk eofill 133.2 -8.42384 m 133.2 0 li 0 -136.008 li 8.49609 -136.008 li 133.2 -8.42384 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 139.704 275.632 tr 0 0 m 0 -8.42384 li 127.584 -133.2 li 136.08 -133.2 li 0 0 li cl 0.729412 0 0.988235 0 cmyk eofill 0 0 m 0 -8.42384 li 127.584 -133.2 li 136.08 -133.2 li 0 0 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 15 267.208 tr 124.704 -252.36 m 252.288 -124.776 li 124.704 0 li 0 -127.584 li 124.704 -252.36 li cl 0.6 0 0.4 0.4 cmyk eofill 124.704 -252.36 m 252.288 -124.776 li 124.704 0 li 0 -127.584 li 124.704 -252.36 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 18.8164 270.016 tr 147.384 -31.1758 m 155.88 -39.7431 li 97.2716 -99.2156 li 97.2716 -39.7431 li 102.96 -39.7431 li 111.456 -31.1758 li 111.456 -8.5674 li 102.96 0 li 8.4951 0 li 0 -8.5674 li 0 -31.1758 li 8.4951 -39.7431 li 15.1191 -39.7431 li 15.1191 -232.488 li 25.4873 -240.984 li 54.792 -240.984 li 257.904 -31.1758 li 257.904 -8.5674 li 249.408 0 li 156.816 0 li 147.384 -8.5674 li 147.384 -31.1758 li cl 0 0 0 1 cmyk eofill 147.384 -31.1758 m 155.88 -39.7431 li 97.2716 -99.2156 li 97.2716 -39.7431 li 102.96 -39.7431 li 111.456 -31.1758 li 111.456 -8.5674 li 102.96 0 li 8.4951 0 li 0 -8.5674 li 0 -31.1758 li 8.4951 -39.7431 li 15.1191 -39.7431 li 15.1191 -232.488 li 25.4873 -240.984 li 54.792 -240.984 li 257.904 -31.1758 li 257.904 -8.5674 li 249.408 0 li 156.816 0 li 147.384 -8.5674 li 147.384 -31.1758 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 24.4316 264.4 tr 5.6885 -28.4404 m 0 -22.752 li 0 -5.7608 li 5.6885 -0.0723 li 94.5364 0 li 100.152 -5.7608 li 94.5364 -8.4961 li 91.6564 -5.7608 li 5.6885 -19.8721 li 5.6885 -28.4404 li cl 0 0 0 0 cmyk eofill 5.6885 -28.4404 m 0 -22.752 li 0 -5.7608 li 5.6885 -0.0723 li 94.5364 0 li 100.152 -5.7608 li 94.5364 -8.4961 li 91.6564 -5.7608 li 5.6885 -19.8721 li 5.6885 -28.4404 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 40.4883 241.648 tr 6.624 -206.928 m 0 -201.24 li 0 -5.6162 li 6.624 0 li 6.624 -206.928 li cl 0 0 0 0 cmyk eofill 6.624 -206.928 m 0 -201.24 li 0 -5.6162 li 6.624 0 li 6.624 -206.928 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 100.032 241.648 tr 88.848 -5.6884 m 94.536 0 li 94.536 -11.3759 li 0 -107.712 li 10.44 -85.0324 li 88.848 -5.6884 li cl 0 0 0 0 cmyk eofill 88.848 -5.6884 m 94.536 0 li 94.536 -11.3759 li 0 -107.712 li 10.44 -85.0324 li 88.848 -5.6884 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 30.1201 247.336 tr 18.9356 -2.8798 m 16.9922 -5.6875 li 10.3682 -11.3759 li 0 -11.3759 li 0 0 li 18.9356 -2.8798 li cl 0 0 0 0.501961 cmyk eofill 18.9356 -2.8798 m 16.9922 -5.6875 li 10.3682 -11.3759 li 0 -11.3759 li 0 0 li 18.9356 -2.8798 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 100.032 258.64 tr 10.44 -22.6796 m 10.44 -102.024 li 0 -124.632 li 0 -16.9199 li 16.056 -16.9199 li 18.936 -14.1113 li 16.056 0 li 24.552 0 li 24.552 -16.9912 li 18.936 -22.6796 li 10.44 -22.6796 li cl 0 0 0 0.501961 cmyk eofill 10.44 -22.6796 m 10.44 -102.024 li 0 -124.632 li 0 -16.9199 li 16.056 -16.9199 li 18.936 -14.1113 li 16.056 0 li 24.552 0 li 24.552 -16.9912 li 18.936 -22.6796 li 10.44 -22.6796 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 171.888 264.328 tr 5.616 -28.3681 m 0 -22.6797 li 0 -5.6885 li 6.552 0 li 92.592 0 li 99.216 -5.6885 li 89.712 -14.1845 li 5.616 -19.7998 li 5.616 -28.3681 li cl 0 0 0 0 cmyk eofill 5.616 -28.3681 m 0 -22.6797 li 0 -5.6885 li 6.552 0 li 92.592 0 li 99.216 -5.6885 li 89.712 -14.1845 li 5.616 -19.7998 li 5.616 -28.3681 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 47.1123 258.64 tr 223.992 -16.9912 m 24.5518 -223.92 li 0 -223.92 li 0 -215.424 li 18 -215.424 li 217.368 -11.3037 li 214.488 0 li 223.992 0 li 223.992 -16.9912 li cl 0 0 0 0.501961 cmyk eofill 223.992 -16.9912 m 24.5518 -223.92 li 0 -223.92 li 0 -215.424 li 18 -215.424 li 217.368 -11.3037 li 214.488 0 li 223.992 0 li 223.992 -16.9912 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 177.504 247.336 tr 18.936 -2.8798 m 16.992 -5.6875 li 11.376 -11.3759 li 0 -11.3759 li 0 0 li 18.936 -2.8798 li cl 0 0 0 0.501961 cmyk eofill 18.936 -2.8798 m 16.992 -5.6875 li 11.376 -11.3759 li 0 -11.3759 li 0 0 li 18.936 -2.8798 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 30.1201 258.712 tr 69.9119 -124.704 m 69.9119 -16.9922 li 85.9679 -16.9922 li 88.8479 -14.1836 li 88.8479 -2.8076 li 85.9679 0 li 2.8076 0 li 0 -2.8076 li 0 -14.1836 li 2.8076 -16.9922 li 16.9922 -16.9922 li 16.9922 -215.496 li 20.6641 -218.304 li 36.8643 -218.304 li 235.296 -11.376 li 235.296 -3.2402 li 232.416 0 li 150.264 0 li 147.384 -2.8076 li 147.384 -14.2558 li 150.264 -17.0635 li 164.448 -17.0635 li 164.448 -28.4394 li 69.9119 -124.704 li cl 0 0 0 0.2 cmyk eofill 69.9119 -124.704 m 69.9119 -16.9922 li 85.9679 -16.9922 li 88.8479 -14.1836 li 88.8479 -2.8076 li 85.9679 0 li 2.8076 0 li 0 -2.8076 li 0 -14.1836 li 2.8076 -16.9922 li 16.9922 -16.9922 li 16.9922 -215.496 li 20.6641 -218.304 li 36.8643 -218.304 li 235.296 -11.376 li 235.296 -3.2402 li 232.416 0 li 150.264 0 li 147.384 -2.8076 li 147.384 -14.2558 li 150.264 -17.0635 li 164.448 -17.0635 li 164.448 -28.4394 li 69.9119 -124.704 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 145.896 139.552 tr 5.688 -5.688 m 12.312 0 li 29.304 0 li 34.056 -5.688 li 28.368 -22.68 li 21.816 -28.368 li 4.824 -28.368 li 0 -22.68 li 5.688 -5.688 li cl 0 0 0 1 cmyk eofill 5.688 -5.688 m 12.312 0 li 29.304 0 li 34.056 -5.688 li 28.368 -22.68 li 21.816 -28.368 li 4.824 -28.368 li 0 -22.68 li 5.688 -5.688 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 157.272 108.376 tr 0 -68.04 m 17.064 -17.064 li 11.376 -17.064 li 17.064 0 li 42.48 0 li 48.168 -5.688 li 51.984 -5.688 li 57.6 0 li 76.536 0 li 82.224 -5.688 li 85.968 -5.688 li 91.656 0 li 112.392 0 li 119.952 -11.376 li 107.568 -51.696 li 113.184 -51.696 li 107.712 -68.04 li 73.656 -68.04 li 86.976 -28.368 li 78.48 -28.368 li 70.632 -51.552 li 76.248 -51.552 li 70.92 -68.04 li 36.864 -68.04 li 50.112 -28.368 li 41.616 -28.368 li 33.696 -51.696 li 39.384 -51.696 li 34.056 -68.04 li 0 -68.04 li cl 0 0 0 1 cmyk eofill 0 -68.04 m 17.064 -17.064 li 11.376 -17.064 li 17.064 0 li 42.48 0 li 48.168 -5.688 li 51.984 -5.688 li 57.6 0 li 76.536 0 li 82.224 -5.688 li 85.968 -5.688 li 91.656 0 li 112.392 0 li 119.952 -11.376 li 107.568 -51.696 li 113.184 -51.696 li 107.712 -68.04 li 73.656 -68.04 li 86.976 -28.368 li 78.48 -28.368 li 70.632 -51.552 li 76.248 -51.552 li 70.92 -68.04 li 36.864 -68.04 li 50.112 -28.368 li 41.616 -28.368 li 33.696 -51.696 li 39.384 -51.696 li 34.056 -68.04 li 0 -68.04 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 164.832 102.688 tr 102.24 0 m 106.632 -6.264 li 92.664 -51.048 li 98.28 -51.048 li 96.408 -56.664 li 73.728 -56.664 li 86.976 -16.992 li 67.104 -16.992 li 55.8 -51.048 li 61.416 -51.048 li 59.544 -56.664 li 36.864 -56.664 li 50.112 -16.992 li 30.24 -16.992 li 18.936 -51.048 li 24.624 -51.048 li 22.68 -56.664 li 0 -56.664 li 17.064 -5.688 li 11.376 -5.688 li 13.248 0 li 34.056 0 li 39.744 -5.688 li 45.36 -5.688 li 51.048 0 li 68.04 0 li 73.728 -5.688 li 79.416 -5.688 li 85.104 0 li 102.24 0 li cl 0 0 0 0.2 cmyk eofill 102.24 0 m 106.632 -6.264 li 92.664 -51.048 li 98.28 -51.048 li 96.408 -56.664 li 73.728 -56.664 li 86.976 -16.992 li 67.104 -16.992 li 55.8 -51.048 li 61.416 -51.048 li 59.544 -56.664 li 36.864 -56.664 li 50.112 -16.992 li 30.24 -16.992 li 18.936 -51.048 li 24.624 -51.048 li 22.68 -56.664 li 0 -56.664 li 17.064 -5.688 li 11.376 -5.688 li 13.248 0 li 34.056 0 li 39.744 -5.688 li 45.36 -5.688 li 51.048 0 li 68.04 0 li 73.728 -5.688 li 79.416 -5.688 li 85.104 0 li 102.24 0 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 120.408 108.376 tr 51.048 0 m 33.696 -51.624 li 39.6 -51.624 li 33.984 -68.04 li 0 -68.04 li 16.992 -17.064 li 11.304 -17.064 li 51.048 0 li cl 11.304 -17.064 m 16.992 0 li 51.048 0 li 11.304 -17.064 li cl 0 0 0 1 cmyk eofill 51.048 0 m 33.696 -51.624 li 39.6 -51.624 li 33.984 -68.04 li 0 -68.04 li 16.992 -17.064 li 11.304 -17.064 li 51.048 0 li cl 11.304 -17.064 m 16.992 0 li 51.048 0 li 11.304 -17.064 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 127.968 102.688 tr 22.68 -56.664 m 24.552 -51.048 li 18.864 -51.048 li 35.928 0 li 12.312 0 li 10.368 -5.688 li 16.992 -5.688 li 0 -56.664 li 22.68 -56.664 li cl 0 0 0 0.2 cmyk eofill 22.68 -56.664 m 24.552 -51.048 li 18.864 -51.048 li 35.928 0 li 12.312 0 li 10.368 -5.688 li 16.992 -5.688 li 0 -56.664 li 22.68 -56.664 li cl 0 0 0 1 cmyk st gr gs 0.216 sw 0 setlinecap 0 setlinejoin [] 0 setdash 152.52 133.864 tr 16.992 -14.184 m 20.808 -2.808 li 18.936 0 li 7.56 0 li 3.816 -2.808 li 0 -14.184 li 1.944 -16.992 li 13.32 -16.992 li 16.992 -14.184 li cl 0 0 0 0.2 cmyk eofill 16.992 -14.184 m 20.808 -2.808 li 18.936 0 li 7.56 0 li 3.816 -2.808 li 0 -14.184 li 1.944 -16.992 li 13.32 -16.992 li 16.992 -14.184 li cl 0 0 0 1 cmyk st gr gr %%PageTrailer restore gs gr sp end %%Trailer %%EOF