Перейти до змісту

vale в NvChad (Neovim)

Вступ

vale.sh є одним із найкращих проектів із відкритим кодом для технічних авторів, які хочуть покращити свій голос і послідовність стилю. Його можна використовувати з багатьма редакторами майже на всіх основних платформах ОС (Linux, macOS, Windows). Ви можете дізнатися більше про проект, перейшовши на веб-сайт vale.sh. Цей посібник допоможе вам додати vale до NvChad. Оскільки він включений до пакетів Mason для встановлення, процес не є надто складним, хоча він вимагає незначного редагування та налаштування, щоб розпочати роботу. Щоб було зрозуміло, NvChad насправді є менеджером конфігурації для редактора Neovim, тому з цього моменту посиланням буде nvim.

Передумови

  • Знайомство з NvChad 2.0 є корисним
  • Можливість змінювати файли з командного рядка за допомогою улюбленого редактора. (vi або ваш улюблений)
  • Плагін nvim-lint правильно встановлено в NvChad.

Встановлення nvim-lint

Плагін nvim-lint забезпечує підтримку вставки linters у редактор шляхом виправлення коду або вмісту як для синтаксичної, так і для семантичної частин.

Щоб установити плагін, потрібно відредагувати файл lua/plugins/init.lua, додавши наступний блок коду:

plugins.lua
  {
    "mfussenegger/nvim-lint",
    event = "VeryLazy",
    config = function()
      require "custom.configs.lint"
    end,
  },

Плагін має файл конфігурації, який потрібно розмістити в папці lua/configs. Усередині нього є таблиця linters_by_ft, де ви можете ввести лінтери для мов, які використовуються для розробки.

lint.lua
require("lint").linters_by_ft = {
  markdown = { "markdownlint" },
  yaml = { "yamllint" },
}

vim.api.nvim_create_autocmd({ "BufWritePost" }, {
  callback = function()
    require("lint").try_lint()
  end,
})

Цей файл конфігурації налаштовано на роботу з кодом markdown, але його можна змінити або розширити за допомогою цих доступних на сайті проекту.

Після внесення змін вийдіть із NvChad і знову ввійдіть у нього, щоб інсталювати плагін та імпортувати конфігурацію.

Встановлення vale за допомогою Mason

Встановлення vale з NvChad за допомогою Mason дозволить підтримувати пакет в актуальному стані за допомогою кількох додаткових кроків. Періодичний запуск Mason з nvim покаже вам, чи є оновлення, які потрібно встановити, і дозволить вам оновлювати їх звідти. Це включає vale після встановлення. Давайте почнемо із запуску nvim, щоб отримати порожній файл, а потім перейдемо в командний режим за допомогою Shift + : + Mason, який має показати інтерфейс, подібний до цього:

vale_mason

Замість того, щоб переглядати весь список пакунків, скористаємося пунктом меню 4, щоб обмежити список лінтерами. Натисніть 4 і прокрутіть список униз, доки не знайдете vale, а потім, встановивши курсор у цьому рядку, натисніть i, щоб установити. Тепер у вашому списку має відображатися встановлений vale:

vale_mason_installed

Налаштування та ініціалізація vale

Існує два методи, якими можна скористатися для налаштування vale. Ви можете вибрати свій улюблений із двох наведених нижче варіантів. В одному ви створите файли конфігурації всередині шляху двійкового файлу vale, а потім перемістите їх у свою домашню теку, а в іншому ви створите файли конфігурації безпосередньо у своїй домашній теці. Вони однаково добре працюють. Другий варіант має менше ручних кроків, але вимагає довгого шляху до двійкового файлу vale.

Підказка

Якщо ви хочете приховати папку «styles» (нижче), трохи змініть вміст .vale.ini під час створення, змінивши параметр «StylesPath» з «styles» на щось приховане, наприклад «.styles» або « .vale_styles." Приклад:

StylesPath = .vale_styles

Просто встановити vale недостатньо. Вам потрібно декілька додаткових речей. По-перше, вам потрібен файл .vale.ini, який зберігатиметься в корені вашої домашньої папки. Далі вам потрібно буде створити каталог «styles» за допомогою vale sync.

=== «Встановлення зі шляху двійкового файлу vale»

Якщо ви перебуваєте на шляху до двійкового файлу `vale` тут: `~/.local/share/nvim/mason/packages/vale/`, ви можете просто створити файл `.vale.ini` тут, згенерувати "стилі" а потім перемістіть їх обидва у свій домашній кореневий каталог `~/`. Створити файл `.vale.ini` легко за допомогою утиліти налаштування з [веб-сайту `vale.sh`](https://vale.sh/generator). Тут виберіть «Посібник із стилю документації Red Hat» для базового стилю та «alex» для додаткового стилю. Використання «alex» є необов’язковим, але це допоможе вам вловити та виправити гендерні, поляризаційні, расові слова тощо, що є важливим. Якщо ви виберете ці параметри, ваш екран має виглядати так:

![vale_ini_nvchad](images/vale_ini_nvchad.png)

Просто скопіюйте вміст внизу, створіть файл `.vale.ini` за допомогою улюбленого редактора та вставте те, що ви скопіювали.

Потрібно створити папку «styles». Зробіть це, запустивши двійковий файл `vale` за допомогою команди `sync`. Знову ж таки, якщо ви робите це з каталогу `~/.local/share/nvim/mason/packages/vale/`, просто виконайте:

```bash
./vale sync
```


Після завершення це покаже наступне:

![vale_sync](images/vale_sync.png)

Скопіюйте папки `.vale.ini` і `styles` до кореня домашньої папки:

```bash
cp .vale.ini ~/
cp -rf styles ~/
```

Якщо ви бажаєте не копіювати файли та хочете створити їх у своєму домашньому каталозі, ви можете скористатися цією командою з ~/:

Спочатку створіть .vale.ini у своїй домашній папці за допомогою веб-сайту vale.sh. Знову ж таки, виберіть «Посібник із стилю документації Red Hat» для базового стилю та «alex» для додаткового стилю. Потім скопіюйте вміст у файл .vale.ini.

vale_ini_nvchad

Далі запустіть команду vale sync. Оскільки ви перебуваєте у своєму домашньому каталозі, вам знадобиться повний шлях до двійкового файлу:

~/.local/share/nvim/mason/packages/vale/vale sync

vale_sync

У цьому випадку немає необхідності копіювати файли, оскільки вони будуть створені в кореневому каталозі вашого домашнього каталогу.

Зміна файлу lint.lua

Потрібен ще один останній крок. Вам потрібно змінити файл lint.lua, який знаходиться в ~/.config/nvim/lua/configs/, і додати лінкер vale.

Використовуючи наведений вище приклад для додавання vale до лінтера, доступного для файлів розмітки, потрібно буде додати новий лінтер до вже наявного рядка:

markdown = { "markdownlint", "vale" },

Після завершення ваш файл виглядатиме приблизно так:

require("lint").linters_by_ft = {
  markdown = { "markdownlint", "vale" },
  yaml = { "yamllint" },
}

vim.api.nvim_create_autocmd({ "BufWritePost" }, {
  callback = function()
    require("lint").try_lint()
  end,
})

Висновки та заключні думки

Звичайний запуск nvim тепер викликає vale, і ваші документи тепер порівнюватимуться з вибраним стилем. Якщо відкрити наявний файл, буде запущено vale та показано будь-які позначені елементи, тоді як відкриття нового файлу нічого не покаже в режимі вставки. Після виходу з режиму вставки ваш файл буде перевірено. Завдяки цьому екран не захаращується. vale — це чудовий продукт із відкритим вихідним кодом із чудовою інтеграцією в багато редакторів. NvChad не є винятком, і хоча для його запуску та запуску потрібно виконати кілька кроків, це не складна процедура.

Author: Steven Spencer

Contributors: Franco Colussi, Krista Burdine, Serge, Ganna Zhyrnova