import { EditorView, lineNumbers, highlightSpecialChars, drawSelection } from "@codemirror/view";
import { EditorState } from "@codemirror/state";
import { syntaxHighlighting, bracketMatching, foldGutter, HighlightStyle, LanguageDescription } from "@codemirror/language";
import { languages } from "@codemirror/language-data";
import { oneDark, oneDarkHighlightStyle } from "@codemirror/theme-one-dark";
import { MergeView, unifiedMergeView } from "@codemirror/merge";
import { tags } from "@lezer/highlight";

globalThis.CM = {
  EditorView,
  lineNumbers,
  highlightSpecialChars,
  drawSelection,
  EditorState,
  syntaxHighlighting,
  bracketMatching,
  foldGutter,
  HighlightStyle,
  oneDark,
  oneDarkHighlightStyle,
  MergeView,
  unifiedMergeView,
  tags,
  languages,
  LanguageDescription,
};
