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

Marksman - помічник коду

Marksman є корисним інструментом під час створення вашого документа для Rocky Linux. Це дозволяє легко вводити символи, необхідні для визначення мовних тегів markdown. Це дозволяє писати швидше та зменшує ймовірність помилок.

NvChad/Neovim вже містить текстові віджети, які допомагають писати, наприклад, повторення часто використовуваних слів, індексованих за частотою введення. Нові параметри, включені цим мовним сервером, збагатять ці віджети.

Marksman інтегрується з вашим редактором, щоб допомогти вам створювати та підтримувати документи Markdown за допомогою протокол LSP, що забезпечує такі функції, як завершення, визначення переходу, пошук посилань, рефакторинг імен, діагностика тощо.

Цілі

  • підвищення продуктивності NvChad при написанні коду Markdown
  • створення документів, які відповідають правилам мови Markdown
  • уточнення знання мови

Вимоги та навички

  • Базове знання мови Markdown, рекомендовано прочитати Посібник з Markdown
  • NvChad на використовуваній машині встановлено належним чином

Рівень складності ⭐

Час читання: 20 хвилин

Установка Marksman

Встановлення мовного сервера не викликає особливих проблем, оскільки він доступний у Mason. Встановіть його безпосередньо з рядка стану за допомогою команди:

:MasonInstall marksman

Ця команда відкриє інтерфейс Mason і безпосередньо встановить потрібний мовний сервер. Після завершення двійкового встановлення ви можете закрити екран Mason за допомогою клавіші q.

Його встановлення, однак, ще не включає його інтеграцію в редактор. Щоб увімкнути його, його потрібно розмістити у файлі конфігурації configs/lspconfig.lua.

Інтеграція в редактор

LSP в NvChad

Плагін nvim-lspconfig інтегрує мовні сервери в NvChad. Цей плагін значно спрощує їх включення в конфігурацію NvChad.

Файл lspconfig.lua піклується про введення викликів, необхідних для використання мовних серверів, а також дозволяє вказати ті, які ви встановили. Щоб інтегрувати marksman у конфігурацію мовного сервера редактора, вам потрібно буде відредагувати рядок локальних серверів, додавши свій новий ЛСП.

Відкрийте свій NvChad у файлі командою:

nvim ~/.config/nvim/lua/configs/lspconfig.lua

Відредагуйте рядок локальних серверів, який після завершення виглядатиме так:

local servers = { "html", "cssls", "tsserver", "clangd", "marksman" }

Збережіть файл і закрийте редактор за допомогою команди :wq.

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

 Client: marksman (id: 2, bufnr: [11, 156])
  filetypes:       markdown
  autostart:       true
  root directory:  /home/your_user/your_path/your_directory
  cmd:             /home/your_user/.local/share/nvim/mason/bin/marksman server

 Configured servers list: cssls, tsserver, clangd, html, yamlls, lua_ls, marksman

Це вказує на активацію сервера marksman для відкритого файлу та те, що він запускається автоматично (autostart: true), оскільки розпізнає його як розцінку файл filetypes: markdown. Інша інформація вказує на шлях до виконуваного файлу, який використовується для перевірки коду cmd:, що він використовує режим Marksman Server і що він використовує кореневий каталог your_directory для перевірок.

Коренева папка

Концепція «кореневої папки» є важливою для використання мовного сервера, оскільки для керування документом, наприклад посилань на інші файли чи зображення, він повинен мати «загальний вигляд» проекту. Ми можемо сказати, що «кореневі папки» прирівнюються до «Проектів» у графічних IDE.

Кореневий каталог, також званий «робочим каталогом», який використовується редактором для відкриття файлу, можна переглянути за допомогою команди :pwd. Його можна змінити за допомогою команди :lcd, якщо він не відповідає бажаному. Ця команда перепризначає робочий каталог лише цьому буферу, не змінюючи жодних налаштувань інших буферів, відкритих у редакторі.

Використання marksman

Після того, як ви виконаєте всі кроки для входу, активація мовного сервера відбувається кожного разу, коли відкривається файл markdown у редакторі. Увійшовши в режим INSERT, під час введення певних символів ви матимете нові параметри у віджетах, які допоможуть вам у написанні документа. На знімку екрана нижче ви можете побачити деякі фрагменти markdown, доступні у цих віджетах.

Marksman Snippets

Основні клавіші

Мовний сервер надає багато ярликів, які активують допомогу при написанні. Це включає швидку вставку тегів Markdown, створення посилань і вставлення зображень у документ. Нижче наведено неповний список персонажів, які активують різні фрагменти.

Ці фрагменти відображаються у віджетах, які також містять інші ярлики. Використовуйте клавішу Tab для навігації віджетами, щоб вибрати віджети, надані marksman.Ключ вставляє тег верхнього індексу. TrademarkTM

++"sub"++ Ключ вставляє тег subscript. Notes1
<tr>
  <td>
    ++"table"++
  </td>

  <td>
    Ця клавіша дозволяє швидко створити структуру таблиці та дає змогу вибирати з багатьох початкових структур
  </td>
</tr>

<tr>
  <td>
    ++"code"++
  </td>

  <td>
    Вставляє блок коду в рядок, розміщуючи дві зворотні галочки в місці розташування курсора, розміщуючи його в центрі двох зворотних галочок.
  </td>
</tr>

<tr>
  <td>
    ++"codeblock"++
  </td>

  <td>
    Вставляє три рядки, два з потрійними зворотними галочками та один порожній у місце вставлення блоків коду. Зауважте, що він також вставляє рядок <em x-id="3">language</em>, який має бути скомпільовано з мовою, яку ви використали в блоці.
  </td>
</tr></tbody> </table>

<p spaces-before="0">
  !!! note "Code block положення"
</p>

<pre><code>Правила коду Markdown рекомендують завжди декларувати код, який використовується в блоці, навіть без виділення функцій для належної інтерпретації. Якщо код у ньому надто загальний, рекомендується використовувати «текст» для його оголошення.

<p spaces-before="0">
  Ключі активації для ярликів тегів Markdown також включають інші комбінації, які ви можете знайти під час використання мовного сервера.
</p>

Висновок

Незважаючи на те, що це не обов’язково, цей мовний сервер з часом може стати чудовим компаньйоном у написанні вашої документації для Rocky Linux.

Його використання та, як наслідок, запам’ятовування первинних ключів для вставлення символів коду Markdown забезпечать ефективне пришвидшення запису, дозволяючи вам зосередити свою увагу на вмісті.

Author: Franco Colussi

Contributors: Steven Spencer, Ganna Zhyrnova