mod: для NPM-сборки облегченного CodeMirror (без лишних модулей)
This commit is contained in:
@@ -1,35 +1,68 @@
|
|||||||
// Реэкспорт всех необходимых модулей для использования в браузере (через <script type="module">)
|
// =============================================================================
|
||||||
|
// Сборка CodeMirror 6 для проекта ETPGRF
|
||||||
|
// =============================================================================
|
||||||
|
// Этот файл служит точкой входа для esbuild.
|
||||||
|
// Мы экспортируем только те модули, которые реально используются в index.html.
|
||||||
|
// esbuild автоматически выбросит весь неиспользуемый код (Tree Shaking -- перетряхивание дерева).
|
||||||
|
|
||||||
|
// --- ЯДРО (State) ---
|
||||||
export {
|
export {
|
||||||
EditorState,
|
EditorState, // Хранит состояние редактора (текст, выделение, конфигурацию).
|
||||||
Compartment
|
Compartment, // Позволяет динамически менять части конфигурации (например, тему).
|
||||||
} from "@codemirror/state";
|
} from "@codemirror/state";
|
||||||
|
|
||||||
|
// --- ВИД (View) ---
|
||||||
export {
|
export {
|
||||||
EditorView,
|
EditorView, // Отвечает за отрисовку редактора в DOM.
|
||||||
lineNumbers,
|
// Расширения интерфейса:
|
||||||
highlightActiveLineGutter,
|
lineNumbers, // Номера строк слева
|
||||||
highlightWhitespace,
|
highlightActiveLineGutter, // Подсветка номера текущей строки
|
||||||
highlightTrailingWhitespace,
|
highlightWhitespace, // Подсветка обычных пробелов (точками)
|
||||||
drawSelection,
|
highlightTrailingWhitespace,// Подсветка пробелов в конце строк
|
||||||
highlightSpecialChars,
|
drawSelection, // Отрисовка выделения текста
|
||||||
keymap,
|
highlightSpecialChars, // Подсветка спецсимволов (NBSP, SHY и т.д.)
|
||||||
ViewPlugin,
|
keymap, // Обработчик горячих клавиш
|
||||||
Decoration,
|
|
||||||
MatchDecorator,
|
// --- УДАЛЕННЫЕ МОДУЛИ (для справки) ---
|
||||||
WidgetType
|
// ViewPlugin, // Для создания плагинов, реагирующих на изменения вида (не нужно, используем готовые)
|
||||||
|
// Decoration, // Для декорирования текста (цвета, виджеты) вручную (не нужно)
|
||||||
|
// MatchDecorator, // Для поиска и декорирования по регуляркам (используется внутри highlightSpecialChars)
|
||||||
|
// WidgetType, // Для вставки HTML-элементов в текст (не нужно)
|
||||||
|
// dropCursor, // Показывает место вставки при Drag&Drop (редактор read-only)
|
||||||
|
// rectangularSelection, // Выделение прямоугольником (Alt+Drag) (избыточно)
|
||||||
|
// crosshairCursor, // Курсор-перекрестие (избыточно)
|
||||||
} from "@codemirror/view";
|
} from "@codemirror/view";
|
||||||
|
|
||||||
|
// --- ЯЗЫКОВЫЕ СРЕДСТВА (Language) ---
|
||||||
export {
|
export {
|
||||||
syntaxHighlighting,
|
syntaxHighlighting, // Механизм раскраски кода
|
||||||
defaultHighlightStyle,
|
defaultHighlightStyle, // Стандартная цветовая схема для токенов
|
||||||
bracketMatching
|
bracketMatching, // Подсветка парных скобок
|
||||||
|
|
||||||
|
// --- УДАЛЕННЫЕ МОДУЛИ ---
|
||||||
|
// foldGutter, // Сворачивание кода (стрелочки слева) (не нужно для коротких текстов)
|
||||||
|
// foldKeymap, // Горячие клавиши для сворачивания
|
||||||
} from "@codemirror/language";
|
} from "@codemirror/language";
|
||||||
|
|
||||||
|
// --- ПОДДЕРЖКА HTML ---
|
||||||
|
// Парсер и подсветка для HTML
|
||||||
export { html } from "@codemirror/lang-html";
|
export { html } from "@codemirror/lang-html";
|
||||||
export { defaultKeymap, history, historyKeymap } from "@codemirror/commands";
|
|
||||||
|
// --- КОМАНДЫ (Commands) ---
|
||||||
|
// Стандартные сочетания клавиш (стрелки, Home/End и т.д.)
|
||||||
|
export {
|
||||||
|
defaultKeymap,
|
||||||
|
|
||||||
|
// --- УДАЛЕННЫЕ МОДУЛИ ---
|
||||||
|
// history, // История изменений (Undo/Redo) (не нужно, так как read-only)
|
||||||
|
// historyKeymap, // Горячие клавиши Ctrl+Z / Ctrl+Y
|
||||||
|
} from "@codemirror/commands";
|
||||||
|
|
||||||
|
// --- ТЕМЫ (Themes) ---
|
||||||
|
// Темная тема One Dark
|
||||||
export { oneDark } from "@codemirror/theme-one-dark";
|
export { oneDark } from "@codemirror/theme-one-dark";
|
||||||
|
|
||||||
// Можно оставить и фабрику, если пригодится для быстрого старта
|
// --- ДОПОЛНИТЕЛЬНО (Удалено) ---
|
||||||
export function createReadOnlyEditor(parent, text) {
|
// export { searchKeymap, highlightSelectionMatches } from "@codemirror/search"; // Поиск по тексту (Ctrl+F)
|
||||||
// ... (код фабрики можно оставить или убрать, он не мешает)
|
// export { autocomplete, completionKeymap } from "@codemirror/autocomplete"; // Автодополнение
|
||||||
}
|
// export { lintKeymap } from "@codemirror/lint"; // Линтинг (проверка ошибок)
|
||||||
|
|||||||
Reference in New Issue
Block a user