Colocate buffer types in buffer/Types.ts
The import/no-cycle refactor had moved IBuffer, IBufferSet, and related cell/line types into src/common/Types.ts, with buffer/Types.ts only re-exporting them. That inverted the natural module boundary and made buffer code depend on the top-level types hub. Define buffer-owned types in buffer/Types.ts instead: - CharData, IExtendedAttrs, IAttributeData, ICellData, IBufferLine - IMarker, IBuffer, IBufferSet, BufferIndex Restore UnderlineStyle to buffer/Constants.ts (used by IExtendedAttrs) and remove those definitions from Types.ts. buffer/Types.ts imports only what it needs from outside the buffer layer: ICircularList and ICharset from Types, IDisposable from Lifecycle, IEvent from Event, and UnderlineStyle from Constants. Types.ts does not import buffer/Types.ts, so the previous Types <-> buffer cycle stays broken. Update imports across common, browser, headless, addons, and tests to use common/buffer/Types for buffer types rather than common/Types. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,7 +4,8 @@
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
import { IInputHandler, IAttributeData, IDisposable, IWindowOptions, IColorEvent, IParseStack, ColorIndex, ColorRequestType, SpecialColorIndex } from './Types';
|
||||
import { IInputHandler, IDisposable, IWindowOptions, IColorEvent, IParseStack, ColorIndex, ColorRequestType, SpecialColorIndex } from './Types';
|
||||
import { IAttributeData, IBuffer } from './buffer/Types';
|
||||
import { C0, C1 } from './data/EscapeSequences';
|
||||
import { CHARSETS, DEFAULT_CHARSET } from './data/Charsets';
|
||||
import { EscapeSequenceParser } from './parser/EscapeSequenceParser';
|
||||
@@ -20,7 +21,6 @@ import { UnicodeService } from './services/UnicodeService';
|
||||
import { OscHandler } from './parser/OscParser';
|
||||
import { DcsHandler } from './parser/DcsParser';
|
||||
import { ApcHandler } from './parser/ApcParser';
|
||||
import { IBuffer } from './buffer/Types';
|
||||
import { parseColor } from './input/XParseColor';
|
||||
import { Emitter } from './Event';
|
||||
import { XTERM_VERSION } from './Version';
|
||||
|
||||
Reference in New Issue
Block a user