patch 9.1.0770: current command line completion is a bit limited

Problem:  current command completion is a bit limited
Solution: Add the shellcmdline completion type and getmdcomplpat()
          function (Ruslan Russkikh).

closes: #15823

Signed-off-by: Ruslan Russkikh <dvrussk@yandex.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Ruslan Russkikh
2024-10-08 22:21:05 +02:00
committed by Christian Brabandt
parent 347d43bd33
commit 0407d621bb
14 changed files with 151 additions and 22 deletions

View File

@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.1. Last change: 2024 Sep 23
*builtin.txt* For Vim version 9.1. Last change: 2024 Oct 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -230,6 +230,8 @@ getcharmod() Number modifiers for the last typed character
getcharpos({expr}) List position of cursor, mark, etc.
getcharsearch() Dict last character search
getcharstr([{expr}]) String get one character from the user
getcmdcomplpat() String return the completion pattern of the
current command-line completion
getcmdcompltype() String return the type of the current
command-line completion
getcmdline() String return the current command-line input
@ -3973,6 +3975,16 @@ getcharstr([{expr}]) *getcharstr()*
Return type: |String|
getcmdcomplpat() *getcmdcomplpat()*
Return completion pattern of the current command-line.
Only works when the command line is being edited, thus
requires use of |c_CTRL-\_e| or |c_CTRL-R_=|.
Also see |getcmdtype()|, |setcmdpos()|, |getcmdline()|,
|getcmdprompt()|, |getcmdcompltype()| and |setcmdline()|.
Returns an empty string when completion is not defined.
Return type: |String|
getcmdcompltype() *getcmdcompltype()*
Return the type of the current command-line completion.
@ -3980,7 +3992,7 @@ getcmdcompltype() *getcmdcompltype()*
requires use of |c_CTRL-\_e| or |c_CTRL-R_=|.
See |:command-completion| for the return string.
Also see |getcmdtype()|, |setcmdpos()|, |getcmdline()|,
|getcmdprompt()| and |setcmdline()|.
|getcmdprompt()|, |getcmdcomplpat()| and |setcmdline()|.
Returns an empty string when completion is not defined.
Return type: |String|

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 9.1. Last change: 2024 Oct 07
*map.txt* For Vim version 9.1. Last change: 2024 Oct 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1657,6 +1657,8 @@ completion can be enabled:
-complete=runtime file and directory names in |'runtimepath'|
-complete=scriptnames sourced script names
-complete=shellcmd Shell command
-complete=shellcmdline First is a shell command and subsequent ones
are filenames. The same behavior as |:!cmd|
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'|
-complete=syntime |:syntime| suboptions

View File

@ -7827,6 +7827,7 @@ getcharmod() builtin.txt /*getcharmod()*
getcharpos() builtin.txt /*getcharpos()*
getcharsearch() builtin.txt /*getcharsearch()*
getcharstr() builtin.txt /*getcharstr()*
getcmdcomplpat() builtin.txt /*getcmdcomplpat()*
getcmdcompltype() builtin.txt /*getcmdcompltype()*
getcmdline() builtin.txt /*getcmdline()*
getcmdpos() builtin.txt /*getcmdpos()*

View File

@ -1068,6 +1068,8 @@ Buffers, windows and the argument list:
swapname() get the swap file path of a buffer
Command line: *command-line-functions*
getcmdcomplpat() get completion pattern of the current command
line
getcmdcompltype() get the type of the current command line
completion
getcmdline() get the current command line input

View File

@ -1,4 +1,4 @@
*version9.txt* For Vim version 9.1. Last change: 2024 Oct 05
*version9.txt* For Vim version 9.1. Last change: 2024 Oct 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -41589,6 +41589,8 @@ Changed~
- allow to complete directories from 'cdpath' for |:cd| and similar commands,
add the "cd_in_path" completion type for e.g. |:command-complete| and
|getcompletion()|
- allow to complete shell commands and files using the new shellcmdline
completion type using |:command-complete| and |getcmdcomplpat()|
- add 'cpoptions' flag "z" |cpo-z|, to disable some (traditional) vi
behaviour/inconsistency (see |d-special| and |cw|).
- allow to specify additional attributes in the completion menu (allows to
@ -41608,6 +41610,7 @@ Functions: ~
|diff()| diff two Lists of strings
|filecopy()| copy a file {from} to {to}
|foreach()| apply function to List items
|getcmdcomplpat()| Shell command line completion
|getcmdprompt()| get prompt for input()/confirm()
|getregion()| get a region of text from a buffer
|getregionpos()| get a list of positions for a region