@opentui/core 0.0.0-20251026-8b7fde6b → 0.0.0-20251026-63abf532

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/extmarks.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import type { EditBuffer } from "../edit-buffer";
2
2
  import type { EditorView } from "../editor-view";
3
- import { EventEmitter } from "events";
4
3
  export interface Extmark {
5
4
  id: number;
6
5
  start: number;
@@ -9,10 +8,7 @@ export interface Extmark {
9
8
  styleId?: number;
10
9
  priority?: number;
11
10
  data?: any;
12
- }
13
- export interface ExtmarkDeletedEvent {
14
- extmark: Extmark;
15
- trigger: "backspace" | "delete" | "manual";
11
+ typeId: number;
16
12
  }
17
13
  export interface ExtmarkOptions {
18
14
  start: number;
@@ -21,18 +17,26 @@ export interface ExtmarkOptions {
21
17
  styleId?: number;
22
18
  priority?: number;
23
19
  data?: any;
20
+ typeId?: number;
21
+ metadata?: any;
24
22
  }
25
- export interface ExtmarksControllerEvents {
26
- "extmark-deleted": (event: ExtmarkDeletedEvent) => void;
27
- "extmark-updated": (extmark: Extmark) => void;
28
- }
29
- export declare class ExtmarksController extends EventEmitter {
23
+ /**
24
+ * WARNING: This is simulating extmarks in the edit buffer
25
+ * and will move to a real native implementation in the future.
26
+ * Use with caution.
27
+ */
28
+ export declare class ExtmarksController {
30
29
  private editBuffer;
31
30
  private editorView;
32
31
  private extmarks;
32
+ private extmarksByTypeId;
33
+ private metadata;
33
34
  private nextId;
34
35
  private destroyed;
35
36
  private history;
37
+ private typeNameToId;
38
+ private typeIdToName;
39
+ private nextTypeId;
36
40
  private originalMoveCursorLeft;
37
41
  private originalMoveCursorRight;
38
42
  private originalSetCursorByOffset;
@@ -56,25 +60,29 @@ export declare class ExtmarksController extends EventEmitter {
56
60
  private wrapInsertion;
57
61
  private wrapEditorViewDeleteSelectedText;
58
62
  private setupContentChangeListener;
63
+ private deleteExtmarkById;
59
64
  private findVirtualExtmarkContaining;
60
65
  private adjustExtmarksAfterInsertion;
61
66
  adjustExtmarksAfterDeletion(deleteOffset: number, length: number): void;
62
67
  private offsetToPosition;
63
68
  private positionToOffset;
64
- private getLineStartOffset;
65
69
  private updateHighlights;
66
70
  private offsetToCharOffset;
67
71
  create(options: ExtmarkOptions): number;
68
- update(id: number, options: Partial<ExtmarkOptions>): boolean;
69
72
  delete(id: number): boolean;
70
73
  get(id: number): Extmark | null;
71
74
  getAll(): Extmark[];
72
75
  getVirtual(): Extmark[];
73
76
  getAtOffset(offset: number): Extmark[];
77
+ getAllForTypeId(typeId: number): Extmark[];
74
78
  clear(): void;
75
79
  private saveSnapshot;
76
80
  private restoreSnapshot;
77
81
  private wrapUndoRedo;
82
+ registerType(typeName: string): number;
83
+ getTypeId(typeName: string): number | null;
84
+ getTypeName(typeId: number): string | null;
85
+ getMetadataFor(extmarkId: number): any;
78
86
  destroy(): void;
79
87
  }
80
88
  export declare function createExtmarksController(editBuffer: EditBuffer, editorView: EditorView): ExtmarksController;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
7
- "version": "0.0.0-20251026-8b7fde6b",
7
+ "version": "0.0.0-20251026-63abf532",
8
8
  "description": "OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -55,11 +55,11 @@
55
55
  "bun-webgpu": "0.1.3",
56
56
  "planck": "^1.4.2",
57
57
  "three": "0.177.0",
58
- "@opentui/core-darwin-x64": "0.0.0-20251026-8b7fde6b",
59
- "@opentui/core-darwin-arm64": "0.0.0-20251026-8b7fde6b",
60
- "@opentui/core-linux-x64": "0.0.0-20251026-8b7fde6b",
61
- "@opentui/core-linux-arm64": "0.0.0-20251026-8b7fde6b",
62
- "@opentui/core-win32-x64": "0.0.0-20251026-8b7fde6b",
63
- "@opentui/core-win32-arm64": "0.0.0-20251026-8b7fde6b"
58
+ "@opentui/core-darwin-x64": "0.0.0-20251026-63abf532",
59
+ "@opentui/core-darwin-arm64": "0.0.0-20251026-63abf532",
60
+ "@opentui/core-linux-x64": "0.0.0-20251026-63abf532",
61
+ "@opentui/core-linux-arm64": "0.0.0-20251026-63abf532",
62
+ "@opentui/core-win32-x64": "0.0.0-20251026-63abf532",
63
+ "@opentui/core-win32-arm64": "0.0.0-20251026-63abf532"
64
64
  }
65
65
  }
package/renderer.d.ts CHANGED
@@ -27,6 +27,7 @@ export interface CliRendererConfig {
27
27
  useConsole?: boolean;
28
28
  experimental_splitHeight?: number;
29
29
  useKittyKeyboard?: boolean;
30
+ backgroundColor?: ColorInput;
30
31
  }
31
32
  export type PixelResolution = {
32
33
  width: number;
package/testing.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  ANSI,
4
4
  CliRenderer,
5
5
  resolveRenderLib
6
- } from "./index-hgxcxzxa.js";
6
+ } from "./index-g5xctwrm.js";
7
7
 
8
8
  // src/testing/mock-keys.ts
9
9
  var KeyCodes = {
package/zig.d.ts CHANGED
@@ -177,6 +177,13 @@ export interface RenderLib {
177
177
  col: number;
178
178
  offset: number;
179
179
  };
180
+ editBufferOffsetToPosition: (buffer: Pointer, offset: number) => {
181
+ row: number;
182
+ col: number;
183
+ offset: number;
184
+ } | null;
185
+ editBufferPositionToOffset: (buffer: Pointer, row: number, col: number) => number;
186
+ editBufferGetLineStartOffset: (buffer: Pointer, row: number) => number;
180
187
  createEditorView: (editBufferPtr: Pointer, viewportWidth: number, viewportHeight: number) => Pointer;
181
188
  destroyEditorView: (view: Pointer) => void;
182
189
  editorViewSetViewportSize: (view: Pointer, width: number, height: number) => void;