Skip to content

Latest commit

 

History

History
170 lines (133 loc) · 5.25 KB

README.ru.md

File metadata and controls

170 lines (133 loc) · 5.25 KB

Highlight Whitespace

Сочный плагин по подсветке пустых и любых других нежелательных символов в проекте
с кастомизацией цветов под определённый тип файла

demo

Здесь можно посмотреть, что означают цвета в палитре по умолчанию.
(К сожалению, разместить в шапке 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.

Посмотрим на примеры наиболее вероятного применения.

  1. Подсвечивать нежелательные символы только в питоне и маркдауне
      palette = {
        python = {
          -- поисковые выражения для нежелательных символов
        },
        markdown = {
          -- поисковые выражения для нежелательных символов
        },
        other = {},
      }
  1. Везде где бы то ни было, но не в яваскрипте
      palette = {
        javascript = {},
        other = {
          -- поисковые выражения для нежелательных символов
        },
      }

Разбор палитры цветов по умолчанию

Данная секция описывает, что характеризуют цвета, использованные в GIF, что в шапке README


$$ {\color{PaleVioletRed}красный}\text{ ─ пустые символы в конце строки в питонячем буфере (и в любом другом, отличном от маркдауна)} $$

$$ {\color{#3B3B3B}тёмно\ серый}\text{ ─ пустые символы в начале и в конце строк в комментариях в коде} $$

$${\color{RosyBrown}коричневый}\text{ ─ в маркдауне}$$


$$ {\color{#CDBE70}жёлтый}\text{ ─ лишние (больше одного) пробелы в питоне} $$

$${\color{#87CEFF}голубой}\text{ ─ в маркдауне}$$


$${\color{#FF7256}оранжевый}\text{ ─ пробел перед запятой в питоне}$$

$${\color{#7AC5CD}"зелёный"}\text{ ─ в маркдауне}$$


$${\color{#8B668B}фиолетовый}\text{ ─ табуляция вместо пробелов}$$