/** * Core layer — Screen buffer, Diff engine, Terminal I/O. * No React dependency. Can be used standalone for non-React rendering. */ // --- Bidi --- export { reorderBidi } from './bidi.js' // --- Clear terminal --- export { clearTerminal, getClearTerminalSequence } from './clearTerminal.js' // --- Color types (pure types, no runtime) --- export type { Ansi256Color, AnsiColor, Color, HexColor, RGBColor, TextStyles, TextWrap, } from './color-types.js' // --- Colorize --- export { applyColor, applyTextStyles, CHALK_BOOSTED_FOR_XTERMJS, CHALK_CLAMPED_FOR_TMUX, type ColorType, colorize, } from './colorize.js' // --- Constants --- export { FRAME_INTERVAL_MS } from './constants.js' // --- Frame --- export { type Cursor, type Diff, emptyFrame, type FlickerReason, type Frame, type FrameEvent, type Patch, type ScrollHint, shouldClearScreen, } from './frame.js' // --- Line width cache --- export { lineWidth } from './line-width-cache.js' // --- Log update (diff engine) --- export { LogUpdate } from './log-update.js' // --- Measure text --- export { default as measureText } from './measure-text.js' // --- Optimizer --- export { optimize } from './optimizer.js' // --- Parse keypress --- export { DECRPM_STATUS, INITIAL_STATE, type KeyParseState, nonAlphanumericKeys, type ParsedInput, type ParsedKey, type ParsedMouse, type ParsedResponse, parseMultipleKeypresses, type TerminalResponse, } from './parse-keypress.js' // --- Screen buffer --- export { blitRegion, type Cell, CellWidth, CharPool, cellAt, cellAtIndex, charInCellAt, clearRegion, createScreen, diff, diffEach, extractHyperlinkFromStyles, filterOutHyperlinkStyles, type Hyperlink, HyperlinkPool, isCellEmpty, isEmptyCellAt, markNoSelectRegion, migrateScreenPools, OSC8_PREFIX, resetScreen, type Screen, StylePool, setCellAt, setCellStyleId, shiftRows, visibleCellAtIndex, } from './screen.js' // --- Search highlight --- export { applySearchHighlight } from './searchHighlight.js' // --- Selection --- export { applySelectionOverlay, captureScrolledRows, clearSelection, createSelectionState, extendSelection, type FocusMove, findPlainTextUrlAt, finishSelection, getSelectedText, hasSelection, isCellSelected, moveFocus, type SelectionState, selectionBounds, selectLineAt, selectWordAt, shiftAnchor, shiftSelection, shiftSelectionForFollow, startSelection, updateSelection, } from './selection.js' // --- Hyperlinks --- export { ADDITIONAL_HYPERLINK_TERMINALS, supportsHyperlinks, } from './supports-hyperlinks.js' // --- Tab stops --- export { expandTabs } from './tabstops.js' // --- Terminal --- export { hasCursorUpViewportYankBug, isProgressReportingAvailable, isSynchronizedOutputSupported, isXtermJs, type Progress, SYNC_OUTPUT_SUPPORTED, setXtversionName, supportsExtendedKeys, type Terminal, writeDiffToTerminal, } from './terminal.js' // --- Warn --- export { ifNotInteger } from './warn.js' // --- Widest line --- export { widestLine } from './widest-line.js' // --- Wrap text --- export { default as wrapText } from './wrap-text.js' // --- Wrap ANSI --- export { wrapAnsi } from './wrapAnsi.js'