diff --git a/doc/lualine.txt b/doc/lualine.txt index bb97663..bb0d3df 100644 --- a/doc/lualine.txt +++ b/doc/lualine.txt @@ -251,6 +251,7 @@ CHANGING COMPONENTS IN LUALINE SECTIONS ~ - `mode` (vim mode) - `progress` (%progress in file) - `searchcount` (number of search matches when hlsearch is active) +- `selectioncount` (number of selected characters or lines) - `tabs` (shows currently available tabs) - `windows` (shows currently available windows) diff --git a/lua/lualine/components/selectioncount.lua b/lua/lualine/components/selectioncount.lua index a763936..f08bde0 100644 --- a/lua/lualine/components/selectioncount.lua +++ b/lua/lualine/components/selectioncount.lua @@ -1,15 +1,15 @@ local function selectioncount() local mode = vim.fn.mode(true) - local line_start, col_start = vim.fn.line("v"), vim.fn.col("v") - local line_end, col_end = vim.fn.line("."), vim.fn.col(".") - if mode:match("") then - return string.format('%dx%d', math.abs(line_start-line_end)+1, math.abs(col_start-col_end)+1) - elseif mode:match("V") or line_start ~= line_end then + local line_start, col_start = vim.fn.line('v'), vim.fn.col('v') + local line_end, col_end = vim.fn.line('.'), vim.fn.col('.') + if mode:match('') then + return string.format('%dx%d', math.abs(line_start - line_end) + 1, math.abs(col_start - col_end) + 1) + elseif mode:match('V') or line_start ~= line_end then return math.abs(line_start - line_end) + 1 - elseif mode:match("v") then + elseif mode:match('v') then return math.abs(col_start - col_end) + 1 else - return '' + return '' end end