mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
add mixed indent detection for lualine
This commit is contained in:
parent
8e46441a36
commit
c652796da1
@ -7,6 +7,7 @@ local function spell()
|
||||
end
|
||||
|
||||
local function trailing_space()
|
||||
-- Get the positions of trailing whitespaces from plugin 'jdhao/whitespace.nvim'.
|
||||
local trailing_space_pos = vim.b.trailing_whitespace_pos
|
||||
|
||||
local msg = ""
|
||||
@ -19,6 +20,30 @@ local function trailing_space()
|
||||
return msg
|
||||
end
|
||||
|
||||
local function mixed_indent()
|
||||
local space_pat = [[\v^ +]]
|
||||
local tab_pat = [[\v^\t+]]
|
||||
local space_indent = vim.fn.search(space_pat, 'nwc')
|
||||
local tab_indent = vim.fn.search(tab_pat, 'nwc')
|
||||
local mixed = (space_indent > 0 and tab_indent > 0)
|
||||
local mixed_same_line
|
||||
if not mixed then
|
||||
mixed_same_line = vim.fn.search([[\v^(\t+ | +\t)]], 'nwc')
|
||||
mixed = mixed_same_line > 0
|
||||
end
|
||||
if not mixed then return '' end
|
||||
if mixed_same_line ~= nil and mixed_same_line > 0 then
|
||||
return 'MI:'..mixed_same_line
|
||||
end
|
||||
local space_indent_cnt = vim.fn.searchcount({pattern=space_pat, max_count=1e3}).total
|
||||
local tab_indent_cnt = vim.fn.searchcount({pattern=tab_pat, max_count=1e3}).total
|
||||
if space_indent_cnt > tab_indent_cnt then
|
||||
return 'MI:'..tab_indent
|
||||
else
|
||||
return 'MI:'..space_indent
|
||||
end
|
||||
end
|
||||
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
@ -60,7 +85,11 @@ require("lualine").setup({
|
||||
{
|
||||
trailing_space,
|
||||
color = "WarningMsg"
|
||||
}
|
||||
},
|
||||
{
|
||||
mixed_indent,
|
||||
color = "WarningMsg"
|
||||
},
|
||||
},
|
||||
},
|
||||
inactive_sections = {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user