—
Время от времени делаю плагин для поддержки PHP Language Recognition Tool и его синтаксиса pp2
Делаю в свободное время, поэтому часто переключаюсь между контекстами, что приводит к отрыву от потока внимания, а из-за этого страдает понимание происходящего при создании парсера-генератора для парсера-генератора. В общем, порой бывает сложно.
А чтобы было попроще, я иногда отвлекаюсь на более простые вещи и делаю их. Всё равно их делать потом.
По ощущениям, я как будто бы уже запутался в создании плагина и захотел написать всё с нуля.
Немного поразмыслив, нашел вариант освежить и подкрепить свои знания иным способом, создание другого плагина 🤪
Часто в работе приходится писать Cron задачи, это где пять звездочек и что-то помимо них:
* * * * * rm -rf /
❗️ Эта команда каждую минуту удаляет все данные с жесткого диска на Linux и MacOS.
🤔 Вопрос: что произойдет после второго выполнения этой команды?
Обычно такие файлы редактируются на веру – если после деплоя крон задача не отработала, значит нужно поправить и повторить.
А задача может стоять и через неделю. А еще нужно понять отработала она или нет. А если много кронов, нужно чтобы логи за это время не сротировались в мусорку.
В базовой версии:
- поддержка парсинга крон файла как настоящего языка программирования, с лексером, парсером и анализатором
- подсветка и поддержка временных меток: *; */1; 30/5; 1,11,21,31; 1-30; 1-10,20-30,50-59 и другие их вариации
- подсветка переменных и их значений
- подсветка и автокомплит shell command, которая идет после временных меток
- подсветка комментариев
- небольшие оптимизации по схлопыванию временных интервалов
- несколько инспекций на корректность временного периода
- схлопывание временных интервалов в человеко-читаемый вид
- возможность открыть расписание на crontab.guru
- автопривязка к cron.* / crontab.* / *.cron / *.crontab / cron файлам
- Jetbrains сделали подсказку для установки плагина, если открыть один из таких файлов
- иконка от @roxblnfk, на которой вместо “CRON” написано “СГОП” (сгоп)
Хочу добавить туда еще подсказки и навигацию при вводе переменных, а еще внедрение подсветки в строчки в коде, похожие на крон джобы.
✅ Плагин поддерживается во всех Jetbrains IDE выпущенных с прошлого года.
Если пишите крон джобы, то буду рад фидбеку.
—
Jetbrains Marketplace
Github
@handle_topic