Atom — это фантастический редактор, который поставляется по умолчанию со всем, что вам нужно для разработки проекта … за исключением, может быть, одной вещи — той детали, которую вы хотели бы видеть в Atom. Это может быть что угодно: сочетание клавиш, чтобы писать быстрее; важная особенность; или даже подсветку синтаксиса для языка, который вы используете, но он не поддерживается по умолчанию.
Хорошей новостью является то, что Atom готов принять множество пакетов. Вы можете расширить возможности по умолчанию с помощью этих пакетов, написанных сообществом. Но что, если вы не найдете пакет, который ищете?
Написание собственного пакета не так сложно, так почему бы и нет? В этом уроке мы увидим, как создать собственный пакет для Atom, на примере пакета с подсветкой синтаксиса.
Что мы будем строить
Недавно я хотел разработать несколько программ на языке Scilab . Так как это язык, используемый в математике, на самом деле это не тот тип языка, который мы находим в Atom по умолчанию, и не было пакета для его синтаксиса. Вот почему я решил написать свой собственный пакет: language-scilab .
Здесь мы напишем аналогичный пакет, для языка, который вы хотите. Сначала мы увидим, как инициализировать новый пакет с помощью действительного файла package.json
Затем мы напишем несколько правил, чтобы выделить наш язык. Наконец, мы увидим, как опубликовать наш пакет, чтобы любой пользователь Atom мог его использовать.
Инициализация нового пакета Atom
Atom использует папку конфигурации для хранения всех ваших личных параметров, а также установленных вами пакетов. Эта папка называется .atom
/home/user/.atom
Все устанавливаемые вами пакеты находятся в подпапках packages
Каждый пакет имеет свою собственную папку. Поэтому первым шагом для создания вашего пакета является создание вашей папки, названной в честь вашего пакета. В нашем примере я создаю папку language-mylanguage
На данный момент ваш пакет является недействительным. Для распознавания Atom ему нужен файл package.json
Этот файл содержит некоторую информацию, такую как имя вашего пакета или хранилище, где мы можем его найти. Ниже приведен файл package.json
language-mylanguage
{
"name": "language-mylanguage",
"version": "0.0.0",
"description": "Mylanguage language support in Atom",
"engines": {
"atom": "*"
},
"dependencies": {},
"repository": {
"type": "git",
"url": "https://github.com/JeremyHeleine/language-mylanguage.git"
},
"bugs": {
"url": "https://github.com/JeremyHeleine/language-mylanguage/issues"
},
"license": "MIT"
}
Мы находим несколько записей в этом файле. Во-первых, name
Вы можете (и должны) добавить описание вместе с записью description
Запись о version
major.minor.bug
Здесь мы указываем 0.0.0
Даже если вы знаете, что разрабатываете версию 1.0.0 или 0.1.0 или свой пакет, укажите 0.0.0
Мы увидим почему, когда мы опубликуем наш пакет.