Skip to content

🧠 Как читать Gradient Pattern DSL ​

Gradient Pattern DSL может выглядеть сложным, но он построен на небольшом наборе понятных и повторяемых правил.
В этом разделе показано, как читать любой паттерн шаг за шагом.

📌 Начать с границ ​

Любой паттерн всегда имеет вид:

bash
^ ... .

Читается так:

bash
Начало паттерна
...
Конец паттерна

🧠 Пример: базовый повторяющийся паттерн ​

Паттерн ​

ts
^[color-stop,~color-stop].

📌 Шаг 1 - границы ​

bash
^ - начало паттерна  
. - конец паттерна

Значит:

всё между ^ и . - это правило, которое нужно прочитать

📌 Шаг 2 - смотрим внутрь ​

bash
[color-stop,~color-stop]

Это последовательность ([]), то есть:

bash
сначала одно, затем другое

📌 Шаг 3 - первый элемент ​

bash
color-stop

Значит:

паттерн должен начинаться с color-stop

📌 Шаг 4 - второй элемент ​

bash
~color-stop

Оператор ~ означает:

bash
повторение 0 или более раз

Значит:

любое количество дополнительных color-stop

📌 Шаг 5 - объединяем ​

bash
[color-stop,~color-stop]

Читается как:

bash
один color-stop
затем любое количество дополнительных color-stop

📌 Финальное объяснение ​

bash
Начало паттерна

Ожидается:
  один color-stop

Затем:
  любое количество дополнительных color-stop

Конец паттерна

💡 Интуиция ​

Этот паттерн можно читать так:

минимум один color-stop, затем сколько угодно

🔗 Попробовать ​

Проверить можно в playground:

bash
color-stop
color-stop, color-stop
color-stop, color-stop, color-stop

Все варианты валидны.

📌 Последовательность [] ​

bash
[a,b]

Означает: a затем b

Значит:

bash
[color-stop,~color-stop]

это:

bash
color-stop, затем повторение color-stop

📌 Повторение ~ ​

bash
~color-stop

Означает:

bash
0 или более color-stop

Итог:

bash
минимум один color-stop
затем любое количество дополнительных

📌 Итоговая форма ​

ts
^[color-stop,~color-stop].
bash
^ - начало паттерна

Ожидается:
  минимум один color-stop

Затем:
  любое количество дополнительных

. - конец паттерна

📌 Условия OR ​

bash
(config|color-stop)

Означает:

bash
либо config
либо color-stop

📌 Комбинация sequence и OR ​

bash
([config,color-stop]|color-stop)

Читается так:

bash
либо:
  config, затем color-stop
либо:
  color-stop

📌 Вложенные паттерны ​

ts
^[([config,color-stop]|color-stop),~color-stop].

Читаем по шагам:

bash
Начало паттерна

Далее:
  либо:
    config, затем color-stop
  либо:
    color-stop

Затем:
  повторение color-stop

Конец паттерна

📌 Color hints ​

bash
[color-hint,color-stop]

Означает:

bash
color-hint всегда должен сопровождаться color-stop

🧠 Ментальная модель ​

DSL - это набор инструкций:

bash
читаем вход слева направо
сопоставляем токены
разветвляемся при необходимости
повторяем, если разрешено

🔗 Попробовать интерактивно ​

Читать паттерны намного проще, когда видно их визуально:

👉 Открыть DSL Playground →

🚀 Итог ​

  • ^ → начало
  • . → конец
  • [] → последовательность
  • () → группа
  • | → или
  • ~ → повторение (0..n)
  • config → конфигурация (угол, направление и т.д.)
  • color-stop → цветовая точка
  • color-hint → точка интерполяции

Если это понятно - можно читать любой паттерн.

💡 Совет ​

Начать с простого:

bash
^color-stop.

И постепенно добавлять:

ts
[]
()
|
~