mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-13 15:03:20 +03:00
docs(mxl): убрать XML-уровень и механику из описания DSL
Продолжение чистки протёкшей реализации.
- «тип заполнения: param → Parameter, text → Text, template → Template» — автор DSL
ключ fillType не пишет и в выводе mxl-compile его не видит, это имена XML-перечисления.
Заменено на то, что действительно нужно: содержимое задаётся одним из ключей param /
text / template, где template — текст со вставками [Параметр]. Раньше синтаксис вставок
в инструкции не упоминался вовсе, хотя он куда полезнее перечисления. (У mxl-info
fillType остаётся: там навык объясняет свой собственный вывод.)
- «компилятор создаёт ячейки для ВСЕХ колонок строки» — механика. Оставлен наблюдаемый
контракт: стиль применяется ко всей ширине строки, оттуда сплошные рамки.
- «заданное имя компилятор разворачивает в именованную область типа строки» — то же самое.
Теперь сказано, что даёт имя автору: область доступна как ПолучитьОбласть("Имя").
- убран пункт «"|" продолжает ячейку, только если её позиция известна явно». Он ссылался
на поведение, которого в документации нет (позиция ячеек без col выводится прощающим
вводом), то есть документированное ограничение опиралось на недокументированную
механику. Случай закрыт сообщением об ошибке.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
8cae947f4b
commit
d002de3a26
@@ -67,7 +67,7 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J
|
||||
- Строку можно писать массивом ячеек — позиция из порядка, `col` не нужен: `"текст"`, `"{Имя}"` — параметр, `">"` — продолжить ячейку слева, `"|"` — сверху, `null` — пропуск колонки
|
||||
- `col` — 1-based позиция колонки
|
||||
- `rowspan` — объединение строк вниз (rowStyle учитывает занятые ячейки)
|
||||
- Тип заполнения определяется автоматически: `param` → Parameter, `text` → Text, `template` → Template
|
||||
- Содержимое ячейки задаётся одним из ключей: `param` — параметр заполнения, `text` — статический текст, `template` — текст со вставками `[Параметр]`
|
||||
|
||||
Двухуровневая шапка массивами:
|
||||
```json
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
| `name` | нет | Имя области для `Макет.ПолучитьОбласть("Имя")` |
|
||||
| `rows` | да | Массив строк |
|
||||
|
||||
Макет собирается из областей — диапазонов подряд идущих строк. Заданное здесь имя компилятор разворачивает в именованную область типа «строки» на диапазон этих строк. **Область без имени** — просто кусок сетки: так описываются строки, не принадлежащие ни одной именованной области.
|
||||
Макет собирается из областей — диапазонов подряд идущих строк. Имя делает область именованной: она доступна в коде как `Макет.ПолучитьОбласть("Имя")` и занимает строки своего диапазона. **Область без имени** — просто кусок сетки: так описываются строки, не принадлежащие ни одной именованной области.
|
||||
|
||||
## Именованные области координатами (`namedAreas[]`)
|
||||
|
||||
@@ -175,8 +175,7 @@
|
||||
|
||||
Ограничения короткой формы:
|
||||
- не задать `height` и `rowStyle` — это свойства строки, а не ячейки;
|
||||
- не выразить текст, совпадающий с `">"`, `"|"` или с шаблоном `"{...}"`;
|
||||
- `"|"` продолжает ячейку из предыдущей строки, только если её позиция известна явно (`col` задан или строка записана массивом).
|
||||
- не выразить текст, совпадающий с `">"`, `"|"` или с шаблоном `"{...}"`.
|
||||
|
||||
Маркеру нужно, что продолжать: `">"` требует ячейку слева в той же строке, `"|"` — ячейку сверху. Объектный элемент не должен нести `col`: позиция уже задана порядком. Число элементов не может превышать `columns`. Нарушение любого из этих правил → ненулевой код выхода и сообщение в stderr.
|
||||
|
||||
@@ -193,17 +192,17 @@
|
||||
| `text` | нет | — | Статический текст |
|
||||
| `template` | нет | — | Шаблонный текст с `[Параметр]` |
|
||||
|
||||
### Тип заполнения
|
||||
### Содержимое ячейки
|
||||
|
||||
Определяется автоматически по содержимому ячейки:
|
||||
- `param` → fillType=Parameter
|
||||
- `template` → fillType=Template
|
||||
- `text` → fillType=Text
|
||||
- ничего → без fillType (пустая ячейка или рамка)
|
||||
Задаётся ровно одним из ключей, объявлять способ заполнения отдельно не нужно:
|
||||
- `param` — параметр заполнения;
|
||||
- `template` — текст со вставками `[Параметр]`;
|
||||
- `text` — статический текст;
|
||||
- ничего — пустая ячейка (нужна, например, ради рамки).
|
||||
|
||||
## `rowStyle` — автозаполнение
|
||||
|
||||
Когда задан `rowStyle`, компилятор создаёт ячейки для ВСЕХ колонок строки. Позиции без явных ячеек заполняются пустыми ячейками с указанным стилем. Это обеспечивает сплошные рамки в табличных строках.
|
||||
Стиль применяется ко ВСЕЙ ширине строки: позиции без явных ячеек получают тот же стиль. Так в табличных строках получаются сплошные рамки.
|
||||
|
||||
Если в предыдущих строках той же области есть ячейки с `rowspan`, их колонки при автозаполнении пропускаются.
|
||||
|
||||
|
||||
+9
-10
@@ -114,7 +114,7 @@
|
||||
| `name` | нет | Имя области для `Макет.ПолучитьОбласть("Имя")` |
|
||||
| `rows` | да | Массив строк |
|
||||
|
||||
Макет собирается из областей — диапазонов подряд идущих строк. Заданное здесь имя компилятор разворачивает в именованную область типа «строки» на диапазон этих строк. **Область без имени** — просто кусок сетки: так описываются строки, не принадлежащие ни одной именованной области.
|
||||
Макет собирается из областей — диапазонов подряд идущих строк. Имя делает область именованной: она доступна в коде как `Макет.ПолучитьОбласть("Имя")` и занимает строки своего диапазона. **Область без имени** — просто кусок сетки: так описываются строки, не принадлежащие ни одной именованной области.
|
||||
|
||||
## Именованные области координатами (`namedAreas[]`)
|
||||
|
||||
@@ -175,8 +175,7 @@
|
||||
|
||||
Ограничения короткой формы:
|
||||
- не задать `height` и `rowStyle` — это свойства строки, а не ячейки;
|
||||
- не выразить текст, совпадающий с `">"`, `"|"` или с шаблоном `"{...}"`;
|
||||
- `"|"` продолжает ячейку из предыдущей строки, только если её позиция известна явно (`col` задан или строка записана массивом).
|
||||
- не выразить текст, совпадающий с `">"`, `"|"` или с шаблоном `"{...}"`.
|
||||
|
||||
Маркеру нужно, что продолжать: `">"` требует ячейку слева в той же строке, `"|"` — ячейку сверху. Объектный элемент не должен нести `col`: позиция уже задана порядком. Число элементов не может превышать `columns`. Нарушение любого из этих правил → ненулевой код выхода и сообщение в stderr.
|
||||
|
||||
@@ -193,17 +192,17 @@
|
||||
| `text` | нет | — | Статический текст |
|
||||
| `template` | нет | — | Шаблонный текст с `[Параметр]` |
|
||||
|
||||
### Тип заполнения
|
||||
### Содержимое ячейки
|
||||
|
||||
Определяется автоматически по содержимому ячейки:
|
||||
- `param` → fillType=Parameter
|
||||
- `template` → fillType=Template
|
||||
- `text` → fillType=Text
|
||||
- ничего → без fillType (пустая ячейка или рамка)
|
||||
Задаётся ровно одним из ключей, объявлять способ заполнения отдельно не нужно:
|
||||
- `param` — параметр заполнения;
|
||||
- `template` — текст со вставками `[Параметр]`;
|
||||
- `text` — статический текст;
|
||||
- ничего — пустая ячейка (нужна, например, ради рамки).
|
||||
|
||||
## `rowStyle` — автозаполнение
|
||||
|
||||
Когда задан `rowStyle`, компилятор создаёт ячейки для ВСЕХ колонок строки. Позиции без явных ячеек заполняются пустыми ячейками с указанным стилем. Это обеспечивает сплошные рамки в табличных строках.
|
||||
Стиль применяется ко ВСЕЙ ширине строки: позиции без явных ячеек получают тот же стиль. Так в табличных строках получаются сплошные рамки.
|
||||
|
||||
Если в предыдущих строках той же области есть ячейки с `rowspan`, их колонки при автозаполнении пропускаются.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user