patch 9.1.1835: completion: not possible to style popup borders globally
Problem: not possible to style popup borders globally
Solution: Add the 'pumborder' option (Girish Palya)
This commit introduces a new global option, 'pumborder' ('pb'), that
allows users to define borders and optional decorations for the
completion popup menu.
```
Defines a border and optional decorations for the popup menu in
completion. The value is a comma-separated list of keywords.
Border styles (at most one):
"single"singleuse thin box-drawing characters
"double"doubleuse double-line box-drawing characters
"round"rounduse rounded corners
"ascii"asciiuse ASCII characters (-, |, +)
"custom:XXXXXXXX"
use eight characters given after "custom:",
in order: top, right, bottom, left,
topleft, topright, botright, botleft
Additional flags:
"margin"marginadds one-cell spacing inside the left and right border
"shadow"shadowdraws a shadow at the right and bottom edges
Highlight groups:
|hl-PmenuBorder|hl-PmenuBorderused for the border characters
|hl-PmenuShadow|hl-PmenuShadowused for the shadow
Examples: >
:set pumborder=single
:set pumborder=double,margin,shadow
:set pumborder=custom:─│─│┌┐┘└,shadow
Border styles using box-drawing characters ("single", "double",
"round") are only available when |'encoding'| is "utf-8" and
|'ambiwidth'| is "single". "margin" requires a border style.
See also: |ins-completion-menu|.
```
fixes: https://github.com/vim/vim/pull/18441#issuecomment-3360188458
closes: #18486
closes: #17091
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
2c09368273
commit
474b981e40
@ -4683,7 +4683,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
=:PmenuSel, k:PmenuMatch,<:PmenuMatchSel,
|
||||
[:PmenuKind,]:PmenuKindSel,
|
||||
{:PmenuExtra,}:PmenuExtraSel,
|
||||
x:PmenuSbar,X:PmenuThumb,*:TabLine,
|
||||
x:PmenuSbar,X:PmenuThumb,j:PmenuBorder,
|
||||
H:PmenuShadow,*:TabLine,
|
||||
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
||||
.:CursorLine,o:ColorColumn,q:QuickFixLine,
|
||||
z:StatusLineTerm,Z:StatusLineTermNC,
|
||||
@ -4750,6 +4751,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|hl-PmenuThumb| X popup menu scrollbar thumb
|
||||
|hl-PmenuMatch| k popup menu matched text
|
||||
|hl-PmenuMatchSel| < popup menu matched text in selected line
|
||||
|hl-PmenuBorder| j popup menu border characters
|
||||
|hl-PmenuShadow| H popup menu shadow
|
||||
|hl-PreInsert| I text inserted when "preinsert" is in 'completeopt'
|
||||
|
||||
The display modes are:
|
||||
@ -6787,6 +6790,40 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
When on a ":" prompt is used in Ex mode.
|
||||
|
||||
*'pumborder'* *'pb'*
|
||||
'pumborder' 'pb' string (default "")
|
||||
global
|
||||
Defines a border and optional decorations for the popup menu in
|
||||
completion. The value is a comma-separated list of keywords.
|
||||
|
||||
Border styles (at most one):
|
||||
"single" use thin box-drawing characters
|
||||
"double" use double-line box-drawing characters
|
||||
"round" use rounded corners
|
||||
"ascii" use ASCII characters (-, |, +)
|
||||
"custom:X;X;X;X;X;X;X;X"
|
||||
use eight characters separated by semicolons, in the
|
||||
order: top, right, bottom, left,
|
||||
topleft, topright, botright, botleft
|
||||
|
||||
Additional flags:
|
||||
"margin" adds one-cell spacing inside the left and right border
|
||||
"shadow" draws a shadow at the right and bottom edges
|
||||
|
||||
Highlight groups:
|
||||
|hl-PmenuBorder| used for the border characters
|
||||
|hl-PmenuShadow| used for the shadow
|
||||
|
||||
Examples: >
|
||||
:set pumborder=single
|
||||
:set pumborder=double,margin,shadow
|
||||
:set pumborder=custom:─;│;─;│;┌;┐;┘;└,shadow
|
||||
<
|
||||
Border styles using box-drawing characters ("single", "double",
|
||||
"round") are only available when |'encoding'| is "utf-8" and
|
||||
|'ambiwidth'| is "single". "margin" requires a border style.
|
||||
See also: |ins-completion-menu|.
|
||||
|
||||
*'pumheight'* *'ph'*
|
||||
'pumheight' 'ph' number (default 0)
|
||||
global
|
||||
|
||||
Reference in New Issue
Block a user