Сочный плагин по подсветке пустых и любых других нежелательных символов в проекте
с кастомизацией цветов под определённый тип файла
Здесь можно посмотреть, что означают
цвета в палитре по умолчанию.
(К сожалению, разместить в шапке README не удалось, так
как иначе это сломало бы отображение блоков с кодом)
С помощью lazy.nvim
{
"lukoshkin/highlight-whitespace",
config=true,
}
Вместе с packer.nvim
use "lukoshkin/highlight-whitespace"
tws
ключик - "главное" RegEx выражение для поиска пустых символов с конца строки.
clear_on_bufleave
- бинарный флаг (переключатель), отвечающий на вопрос
"нужно ли зачищать подсветку нежелательных структур в тексте по переходе из
одного буфера в другой?".
lazy.nvim
{
"lukoshkin/highlight-whitespace",
opts = {
tws = "\\s\\+$",
clear_on_bufleave = false,
palette = {
markdown = {
tws = 'RosyBrown',
['\\S\\@<=\\s\\(\\.\\|,\\)\\@='] = 'CadetBlue3',
['\\S\\@<= \\{2,\\}\\S\\@='] = 'SkyBlue1',
['\\t\\+'] = 'plum4',
},
other = {
tws = 'PaleVioletRed',
['\\S\\@<=\\s,\\@='] = 'coral1',
['\\S\\@<=\\(#\\|--\\)\\@<! \\{2,3\\}\\S\\@=\\(#\\|--\\)\\@!'] = 'LightGoldenrod3',
['\\(#\\|--\\)\\@<= \\{2,\\}\\S\\@='] = '#3B3B3B',
['\\S\\@<= \\{3,\\}\\(#\\|--\\)\\@='] = '#3B3B3B',
['\\t\\+'] = 'plum4',
}
}
}
}
packer.nvim
use {
'lukoshkin/highlight-whitespace',
config = function ()
require'highlight-whitespace'.setup {
tws = '\\s\\+$',
clear_on_bufleave = false,
palette = {
markdown = {
tws = 'RosyBrown',
['\\S\\@<=\\s\\(\\.\\|,\\)\\@='] = 'CadetBlue3',
['\\S\\@<= \\{2,\\}\\S\\@='] = 'SkyBlue1',
['\\t\\+'] = 'plum4',
},
other = {
tws = 'PaleVioletRed',
['\\S\\@<=\\s,\\@='] = 'coral1',
['\\S\\@<=\\(#\\|--\\)\\@<! \\{2,3\\}\\S\\@=\\(#\\|--\\)\\@!'] = 'LightGoldenrod3',
['\\(#\\|--\\)\\@<= \\{2,\\}\\S\\@='] = '#3B3B3B',
['\\S\\@<= \\{3,\\}\\(#\\|--\\)\\@='] = '#3B3B3B',
['\\t\\+'] = 'plum4',
}
}
}
end
}
Отключить работу плагина для конкретных типов файлов можно путём передачи
пустого массива в подтаблице palette
.
Посмотрим на примеры наиболее вероятного применения.
- Подсвечивать нежелательные символы только в питоне и маркдауне
palette = {
python = {
-- поисковые выражения для нежелательных символов
},
markdown = {
-- поисковые выражения для нежелательных символов
},
other = {},
}
- Везде где бы то ни было, но не в яваскрипте
palette = {
javascript = {},
other = {
-- поисковые выражения для нежелательных символов
},
}
Данная секция описывает, что характеризуют цвета, использованные в GIF, что в шапке README