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