aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r--runtime/lua/vim/_meta/options.lua42
-rw-r--r--runtime/lua/vim/_meta/vimfn.lua8
2 files changed, 34 insertions, 16 deletions
diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua
index 6323d11d4c..4adad760e9 100644
--- a/runtime/lua/vim/_meta/options.lua
+++ b/runtime/lua/vim/_meta/options.lua
@@ -1183,11 +1183,22 @@ vim.go.cia = vim.go.completeitemalign
--- to gather more alternatives for your candidate list,
--- see 'completefuzzycollect'.
---
---- longest Only insert the longest common text of the matches. If
---- the menu is displayed you can use CTRL-L to add more
---- characters. Whether case is ignored depends on the kind
---- of completion. For buffer text the 'ignorecase' option is
---- used.
+--- longest
+--- When 'autocomplete' is not active, only the longest
+--- common prefix of the matches is inserted. If the popup
+--- menu is displayed, you can use CTRL-L to add more
+--- characters. Whether case is ignored depends on the type
+--- of completion. For buffer text the 'ignorecase' option
+--- applies.
+---
+--- When 'autocomplete' is active and no completion item is
+--- selected, the longest common prefix of the matches is
+--- inserted after the cursor. The prefix is taken either
+--- from all displayed items or only from items in the current
+--- buffer. The inserted text is highlighted with
+--- `hl-PreInsert`, and the cursor position does not change
+--- (similar to `"preinsert"`). Press CTRL-Y to accept.
+--- See also `preinserted()`.
---
--- menu Use a popup menu to show the possible completions. The
--- menu is only shown when there is more than one match and
@@ -1220,22 +1231,21 @@ vim.go.cia = vim.go.completeitemalign
--- with "menu" or "menuone". Overrides "preview".
---
--- preinsert
---- When 'autocomplete' is not active, inserts the part of the
---- first candidate word beyond the current completion leader,
---- highlighted with `hl-PreInsert`. The cursor doesn't move.
---- Requires "fuzzy" unset and "menuone" in 'completeopt'.
----
---- When 'autocomplete' is active, inserts the longest common
---- prefix of matches (from all shown items or from the
---- current buffer items). This occurs only when no menu item
---- is selected. Press CTRL-Y to accept.
+--- Inserts the text of the first completion candidate
+--- beyond the current leader, highlighted with `hl-PreInsert`.
+--- The cursor does not move.
+--- Requires "fuzzy" to be unset, and either "menuone" in
+--- 'completeopt' or 'autocomplete' enabled. When
+--- 'autocomplete' is enabled, this does not work if
+--- 'ignorecase' is set without 'infercase'.
+--- See also `preinserted()`.
---
--- preview Show extra information about the currently selected
--- completion in the preview window. Only works in
--- combination with "menu" or "menuone".
---
---- Only "fuzzy", "popup", "preinsert" and "preview" have an effect when
---- 'autocomplete' is enabled.
+--- Only "fuzzy", "longest", "popup", "preinsert" and "preview" have an
+--- effect when 'autocomplete' is enabled.
---
--- This option does not apply to `cmdline-completion`. See 'wildoptions'
--- for that.
diff --git a/runtime/lua/vim/_meta/vimfn.lua b/runtime/lua/vim/_meta/vimfn.lua
index 4302c3d689..830882c9c1 100644
--- a/runtime/lua/vim/_meta/vimfn.lua
+++ b/runtime/lua/vim/_meta/vimfn.lua
@@ -6554,6 +6554,14 @@ function vim.fn.perleval(expr) end
--- @return number
function vim.fn.pow(x, y) end
+--- Returns non-zero if text has been inserted after the cursor
+--- because "preinsert" is present in 'completeopt', or because
+--- "longest" is present in 'completeopt' while 'autocomplete'
+--- is active. Otherwise returns zero.
+---
+--- @return number
+function vim.fn.preinserted() end
+
--- Return the line number of the first line at or above {lnum}
--- that is not blank. Example: >vim
--- let ind = indent(prevnonblank(v:lnum - 1))