feat(ui): add vim.ui.input and use in lsp rename (#15959)

* vim.ui.input is an overridable function that prompts for user input
* take an opts table and the `on_confirm` callback, see `:help vim.ui.input` for more details
* defaults to a wrapper around vim.fn.input(opts)
* switches the built-in client's rename handler to use vim.ui.input by default
This commit is contained in:
Sebastian Lyng Johansen
2021-11-07 16:13:53 +01:00
committed by GitHub
parent b74916cfd2
commit 16d4af6d2f
6 changed files with 106 additions and 13 deletions

View File

@@ -1100,7 +1100,8 @@ rename({new_name}) *vim.lsp.buf.rename()*
Parameters: ~
{new_name} (string) If not provided, the user will be
prompted for a new name using |input()|.
prompted for a new name using
|vim.ui.input()|.
server_ready() *vim.lsp.buf.server_ready()*
Checks whether the language servers attached to the current

View File

@@ -1697,6 +1697,28 @@ uri_to_fname({uri}) *vim.uri_to_fname()*
==============================================================================
Lua module: ui *lua-ui*
input({opts}, {on_confirm}) *vim.ui.input()*
Prompts the user for input
Parameters: ~
{opts} table Additional options. See |input()|
• prompt (string|nil) Text of the prompt.
Defaults to `Input:` .
• default (string|nil) Default reply to the
input
• completion (string|nil) Specifies type of
completion supported for input. Supported
types are the same that can be supplied to
a user-defined command using the
"-complete=" argument. See
|:command-completion|
• highlight (function) Function that will be
used for highlighting user inputs.
{on_confirm} function ((input|nil) -> ()) Called once the
user confirms or abort the input. `input` is
what the user typed. `nil` if the user
aborted the dialog.
select({items}, {opts}, {on_choice}) *vim.ui.select()*
Prompts the user to pick a single item from a collection of
entries