Commit b68e25

2025-12-07 11:27:03 feagor: -/-
/dev/null .. Python/Pygments.md
@@ 0,0 1,34 @@
+ # Pygments, типы токенов
+
+ Основная идея подсветки кода, как это реализовано в Pygments, заключается в том, что исходный текст сначала разбивается на небольшие фрагменты — токены, а каждому токену присваивается тип токена, который определяет его семантическую роль в коде (например, ключевое слово, строка или комментарий).
+
+ Тип токена затем используется для определения того, как этот фрагмент кода должен быть стилизован (например, "красный и жирный" для ключевых слов).
+ В Pygments используется иерархическая система типов токенов, где каждый тип является подтипом более общего. Основные (глобальные) типы токенов и их подтипы включают:
+ Основные типы токенов Pygments
+ Общий тип токена (Parent Token) Примеры подтипов и их назначение
+ Token.Keyword `(Ключевое слово) Ключевые слова языка программирования.`
+ - Keyword.Builtin `(Встроенное ключевое слово)`
+ - Keyword.Control `(Управляющая конструкция, напр., if, for)`
+ - Keyword.Type `(Ключевое слово типа, напр., class, def)`
+ Token.Name (Имя) `Идентификаторы, переменные, имена функций.`
+ - Name.Function `(Имя функции)`
+ - Name.Variable `(Имя переменной)`
+ - Name.Class `(Имя класса)`
+ Token.Literal `(Литерал) Постоянные значения в коде.`
+ - Literal.String `(Строковый литерал, напр., "Hello")`
+ - Literal.Number `(Числовой литерал)`
+ - Literal.Number.Integer `(Целое число)`
+ - Literal.Number.Float `(Число с плавающей запятой)`
+ Token.Comment `(Комментарий) Блоки комментариев в коде.`
+ - Comment.Single `(Однострочный комментарий)`
+ - Comment.Multi `(Многострочный комментарий)`
+ - Comment.Doc `(Документирующий комментарий)`
+ Token.Operator (Оператор) `Символы, выполняющие операции (напр., +, -, *, ==).`
+ Token.Punctuation (Пунктуация) `Разделители и знаки препинания (напр., [, (, ,, ;).`
+ Token.Text (Текст) `Любые текстовые данные, не соответствующие другим токенам.`
+ - Text.Whitespace `(Пробелы)`
+ Token.Generic (Общий) `Используется для разметки специального контента, например, в выводе терминала.`
+ - Generic.Heading `(Заголовок)`
+ - Generic.Error `(Сообщение об ошибке)`
+ Token.Error (Ошибка) `Токен, представляющий синтаксическую ошибку, обнаруженную лексером.`
+ Token.Other (Прочее) `Специальные токены для данных, не соответствующих парсеру (напр., HTML-разметка внутри PHP-кода).`
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9