fix(view): check in get_selected_index (#1993)
This commit is contained in:
@@ -307,7 +307,7 @@ custom_entries_view.info = function(self)
|
||||
end
|
||||
|
||||
custom_entries_view.get_selected_index = function(self)
|
||||
if self:visible() and self.active then
|
||||
if self:visible() and self.entries_win:option('cursorline') then
|
||||
return vim.api.nvim_win_get_cursor(self.entries_win.win)[1]
|
||||
end
|
||||
end
|
||||
|
||||
@@ -117,8 +117,11 @@ native_entries_view.preselect = function(self, index)
|
||||
end
|
||||
|
||||
native_entries_view.get_selected_index = function(self)
|
||||
if self:visible() and (vim.v.completed_item or {}).word then
|
||||
return vim.fn.complete_info({ 'selected' }).selected
|
||||
if self:visible() then
|
||||
local idx = vim.fn.complete_info({ 'selected' }).selected
|
||||
if idx > -1 then
|
||||
return math.max(0, idx) + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -169,11 +172,9 @@ native_entries_view.get_first_entry = function(self)
|
||||
end
|
||||
|
||||
native_entries_view.get_selected_entry = function(self)
|
||||
if self:visible() then
|
||||
local idx = self:get_selected_index()
|
||||
if idx > -1 then
|
||||
return self.entries[math.max(0, idx) + 1]
|
||||
end
|
||||
local idx = self:get_selected_index()
|
||||
if idx then
|
||||
return self.entries[idx]
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -229,8 +229,9 @@ wildmenu_entries_view.get_first_entry = function(self)
|
||||
end
|
||||
|
||||
wildmenu_entries_view.get_selected_entry = function(self)
|
||||
if self:visible() and self.active then
|
||||
return self.entries[self:get_selected_index()]
|
||||
local idx = self:get_selected_index()
|
||||
if idx then
|
||||
return self.entries[idx]
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user