From 7a73598f762942e9e59d64412142f872a90b5f96 Mon Sep 17 00:00:00 2001 From: Fernando Schauenburg Date: Sun, 13 Aug 2023 01:52:26 +0200 Subject: [PATCH] vim/lualine: add trailing whitespace --- config/nvim/lua/fschauen/lualine.lua | 18 ++++++++++++++++++ config/nvim/lua/fschauen/plugins/lualine.lua | 8 +++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/config/nvim/lua/fschauen/lualine.lua b/config/nvim/lua/fschauen/lualine.lua index efc2aee..e6a80ad 100644 --- a/config/nvim/lua/fschauen/lualine.lua +++ b/config/nvim/lua/fschauen/lualine.lua @@ -65,6 +65,23 @@ function mode:update_status(is_focused) return ' 󰒲 ' end +local trailing_whitespace = function() + local pattern = [[\s\+$]] + local lineno = vim.fn.search(pattern, 'nwc') + if lineno == 0 then + return '' + end + + local result = '·' .. lineno + + local info = vim.fn.searchcount { pattern = pattern } + if info.total then + result = result .. string.format(' Σ%d', info.total) + end + + return result +end + local colored_if_focused = function(component) if type(component) == 'string' then local c = require('lualine.components.' .. component):extend() @@ -96,5 +113,6 @@ return { colored_if_focused = colored_if_focused, filename = filename, mode = mode, + trailing_whitespace = trailing_whitespace, } diff --git a/config/nvim/lua/fschauen/plugins/lualine.lua b/config/nvim/lua/fschauen/plugins/lualine.lua index a88ba58..4b88619 100644 --- a/config/nvim/lua/fschauen/plugins/lualine.lua +++ b/config/nvim/lua/fschauen/plugins/lualine.lua @@ -56,6 +56,12 @@ return { fg = '#f9f5d7', }, }, + trailing_whitespace = { + colored_if_focused(require('fschauen.lualine').trailing_whitespace), + color = { + bg = orange, + }, + } } local sections = { @@ -64,7 +70,7 @@ return { lualine_c = { C.filename, C.status }, lualine_x = { C.diagnostics, C.filetype }, lualine_y = { C.fileformat, 'progress' }, - lualine_z = { 'location' }, + lualine_z = { 'location', C.trailing_whitespace }, } require('lualine').setup {