diff options
| author | Simon Hauser <Simon-Hauser@outlook.de> | 2020-12-09 21:46:41 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-09 15:46:41 -0500 |
| commit | 141dc6d55e4f53ee9527adc164a0d39725394bfd (patch) | |
| tree | 335457a78d554327a7c9e550118c84a7c283a059 /lua/telescope/pickers/entry_display.lua | |
| parent | c276db06e2981416995450a4198cef4b87170f6f (diff) | |
ci: Add luacheck ci job (#317)
* Add luacheck ci job
* Fix most of the linting issues
* fixup: lint
Co-authored-by: TJ DeVries <devries.timothyj@gmail.com>
Diffstat (limited to 'lua/telescope/pickers/entry_display.lua')
| -rw-r--r-- | lua/telescope/pickers/entry_display.lua | 48 |
1 files changed, 3 insertions, 45 deletions
diff --git a/lua/telescope/pickers/entry_display.lua b/lua/telescope/pickers/entry_display.lua index 2a156b6..a6bf8f9 100644 --- a/lua/telescope/pickers/entry_display.lua +++ b/lua/telescope/pickers/entry_display.lua @@ -1,46 +1,5 @@ -local log = require('telescope.log') - local entry_display = {} --- index are used to determine the correct order --- elements = { --- [1] = { element, max width }, -- max width should be greater than 0 --- [2] = { a, 0 } -- Use 0 to disable max width --- [3] = { b, 0 } -- If b is nil, skip this column, should skip column for all rows --- }, --- separator = " " -- either arbitrary string, when you wanna use the same separator between all elements --- separator = { " ", ":" } -- or table, where [1] is separator between elements[1] and elements[2], etc - --- TODO: Remove this and move ONLY to create method. - -local table_format = function(picker, elements, separator) - -- TODO: Truncate... - local win_width = vim.api.nvim_win_get_width(picker.results_win) - - local output = "" - for k, v in ipairs(elements) do - local text = v[1] - local width = v[2] - if text ~= nil then - if k > 1 then - output = output .. (type(separator) == "table" and separator[k - 1] or separator) - end - if width then - if width == 0 then - output = output .. string.format("%s", text) - elseif width < 1 then - output = output .. string.format("%-" .. math.floor(width * win_width) .. "s", text) - else - output = output .. string.format("%-" .. width .."s", text) - end - else - output = output .. text - end - end - end - return output -end - local function truncate(str, len) -- TODO: This doesn't handle multi byte chars... if vim.fn.strdisplaywidth(str) > len then @@ -94,9 +53,10 @@ entry_display.create = function(configuration) if configuration.separator_hl then local width = #configuration.separator or 1 - local hl_start, hl_end = 0, 0 + + local hl_start, hl_end for _, v in ipairs(results) do - hl_start = hl_end + #tostring(v) + hl_start = (hl_end or 0) + #tostring(v) hl_end = hl_start + width table.insert(highlights, { { hl_start, hl_end }, configuration.separator_hl }) end @@ -122,8 +82,6 @@ entry_display.resolve = function(self, entry) if type(display) == 'string' then return display, display_highlights - elseif type(display) == 'table' then - return table_format(self, display, "│"), display_highlights end end |
