nvim: Show selection in lualine
Shows number of lines and characters selected in visual mode.
This commit is contained in:
parent
0f46dcad28
commit
87ce74de40
1 changed files with 14 additions and 1 deletions
|
@ -29,6 +29,19 @@ return {
|
||||||
end
|
end
|
||||||
return ""
|
return ""
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- count number of selected lines and characters
|
||||||
|
-- stolen: https://github.com/chrisgrieser/.config/blob/8af1841ba24f7c81c513e12f853b52f530ef5b37/nvim/lua/plugins/lualine.lua#L80C1-L87C4
|
||||||
|
local function selectionCount()
|
||||||
|
local isVisualMode = vim.fn.mode():find("[Vv]")
|
||||||
|
if not isVisualMode then
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
local starts = vim.fn.line("v")
|
||||||
|
local ends = vim.fn.line(".")
|
||||||
|
local lines = starts <= ends and ends - starts + 1 or starts - ends + 1
|
||||||
|
return " " .. tostring(lines) .. "L " .. tostring(vim.fn.wordcount().visual_chars) .. "C"
|
||||||
|
end
|
||||||
require("lualine").setup({
|
require("lualine").setup({
|
||||||
options = {
|
options = {
|
||||||
icons_enabled = true,
|
icons_enabled = true,
|
||||||
|
@ -44,7 +57,7 @@ return {
|
||||||
lualine_c = { "filename" },
|
lualine_c = { "filename" },
|
||||||
lualine_x = { "encoding", "fileformat", "filetype", molten },
|
lualine_x = { "encoding", "fileformat", "filetype", molten },
|
||||||
lualine_y = { "progress" },
|
lualine_y = { "progress" },
|
||||||
lualine_z = { "location" },
|
lualine_z = { selectionCount, "location" },
|
||||||
},
|
},
|
||||||
inactive_sections = {
|
inactive_sections = {
|
||||||
lualine_a = {},
|
lualine_a = {},
|
||||||
|
|
Loading…
Reference in a new issue