first commit

This commit is contained in:
2025-08-20 23:45:39 +03:00
commit 972944b977
12 changed files with 857 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
# BSNC Syntax & Highlighting
Расширение для Visual Studio Code, добавляющее полноценную подсветку синтаксиса, автодополнение и цветовые схемы для программ ЧПУ в формате **BSNC / NC-310**.
## ✨ Возможности
- **Подсветка G/M-кодов**
Разделение кода и числовой части, поддержка слитной и раздельной записи (`G1X0Y0F500`, `S600 M3` и т.д.).
- **Подсветка трёхбуквенных кодов в скобках**
(`UCG`, `UAO`, `URT`, `RPT`, `ERP` и др.) с разбором аргументов по типам: числа, переменные, строки.
- **Подсветка переменных E**
(`E30=0`, `ZE30`) с раздельным цветом для имени и значения.
- **Выделение начала и конца циклов**
`(RPT,...)` и `(ERP)` — яркие цвета для мгновенного поиска в коде.
- **Подсветка допустимых и недопустимых G-кодов**
Валидные коды из документации — обычный цвет, неизвестные — выделяются как ошибка.
- **Подсветка комментариев**
Однострочные (`; ...`) и блочные в скобках.
- **Встроенная цветовая схема**
Все цвета для токенов уже встроены в расширение, интерфейс VS Code не меняется.
## 📦 Установка
1. Скачайте `.vsix` или установите из [Visual Studio Marketplace](#) (ссылка после публикации).
2. В VS Code: `Ctrl+Shift+P`**Extensions: Install from VSIX** → выберите файл.
3. Расширение активируется автоматически для файлов с кодом BSNC.
## 🚀 Использование
- Откройте файл программы ЧПУ (с расширением или без).
- Подсветка и цвета применяются автоматически.
- Сниппеты:
- `ucg``(UCG,2,X-33X33,Y-33Y33,Z-15Z0,1,-3)`
- `urt``(URT,0)`
- `rpt``(RPT,E0)`
- Недопустимые G-коды будут выделены красным фоном.
## ⚙️ Кастомизация
Если хотите изменить цвета:
1. Откройте `settings.json`.
2. Добавьте свои правила в `editor.tokenColorCustomizations.textMateRules` — они перекроют встроенные.
## 📄 Лицензия
MIT — используйте, модифицируйте и делитесь.
---
💡 **Совет:** Расширение можно использовать вместе с любыми тёмными или светлыми темами — встроенные цвета будут работать поверх.