From 5847137f3d4a58475427bc128da929a649ebea14 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Thu, 14 May 2026 14:39:32 +0200 Subject: export lspc_select as lspc:select This allows external code to reuse the select method. Example visrc.lua: local lspc = require('plugins/vis-lspc') local choice = lspc:select({'A', 'B', 'C', '6'}) --- README.md | 11 +++++++++++ init.lua | 10 +++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0a0b6fc..b67bd9c 100644 --- a/README.md +++ b/README.md @@ -253,6 +253,17 @@ get_running_ls(win, explicit_syntax) - `win` - a window in which the language server is running - `explicit_syntax` - syntax of the language server if it differs from `win.syntax` +#### `lspc.select` + +Select an item from a list of choices by calling the external program specified by `lspc.menu_cmd`. + +```lua +lspc.select(lspc, choices) -- or +lspc:select(choices) +``` + + - `choices` - A numeric table containing the possible choices + ## License All code except otherwise noted is licensed under the term of GPL-3. diff --git a/init.lua b/init.lua index 321518e..63610c7 100644 --- a/init.lua +++ b/init.lua @@ -215,7 +215,7 @@ local function lsp_range_starts_before(r1, r2) end -- concatenate all numeric values in choices and pass it on stdin to lspc.menu_cmd -local function lspc_select(choices) +function lspc:select(choices) local menu_input = '' local i = 0 for _, c in ipairs(choices) do @@ -228,8 +228,8 @@ local function lspc_select(choices) return choices[1] end - local fullscreen = lspc.menu_cmd == 'fzf' - local status, output = util.vis_pipe(menu_input, lspc.menu_cmd, fullscreen) + local fullscreen = self.menu_cmd == 'fzf' + local status, output = util.vis_pipe(menu_input, self.menu_cmd, fullscreen) local choice = nil if status == 0 then @@ -307,7 +307,7 @@ local function lspc_select_location(locations) end -- select a location - local choice = lspc_select(choices) + local choice = lspc:select(choices) if not choice then return nil end @@ -805,7 +805,7 @@ local function lspc_handle_completion_method_response(win, result, old_pos) end -- select a completion - local choice = lspc_select(choices) + local choice = lspc:select(choices) if not choice then return end -- cgit v1.2.3