/** * Vim Marks System * * Implements vim-style marks and jump list for position history. * * @since v1.58.0 */ import type { MarkState } from './vim-types.js'; /** * Create initial mark state */ export declare function createInitialMarkState(): MarkState; /** * Vim Marks Engine */ export declare class VimMarksEngine { private state; private onMarkChange?; constructor(onMarkChange?: (state: MarkState) => void); /** * Get current mark state */ getState(): MarkState; /** * Set a mark at a position */ setMark(mark: string, position: number): void; /** * Get a mark position */ getMark(mark: string): number | null; /** * Delete a mark */ deleteMark(mark: string): boolean; /** * Delete all marks */ deleteAllMarks(): void; /** * Delete marks in range */ deleteMarksInRange(start: string, end: string): void; /** * Get all marks */ getAllMarks(): Array<{ mark: string; position: number; }>; /** * Check if a mark exists */ hasMark(mark: string): boolean; /** * Save previous position (for '' and `` jumps) */ savePreviousPosition(position: number): void; /** * Get previous position */ getPreviousPosition(): number | null; /** * Add position to jump list */ addToJumpList(position: number): void; /** * Jump back in jump list (Ctrl+o) */ jumpBack(): number | null; /** * Jump forward in jump list (Ctrl+i) */ jumpForward(): number | null; /** * Get current position in jump list */ getJumpListPosition(): { current: number; total: number; } | null; /** * Get jump list entries */ getJumpList(): Array<{ index: number; position: number; current: boolean; }>; /** * Clear jump list */ clearJumpList(): void; /** * Jump to specific index in jump list */ jumpToIndex(index: number): number | null; /** * Get marks for a specific type (local or global) */ getMarksByType(type: 'local' | 'global'): Array<{ mark: string; position: number; }>; /** * Find closest mark to a position */ findClosestMark(position: number): { mark: string; position: number; } | null; /** * Reset marks state */ reset(): void; /** * Export marks for persistence */ export(): { marks: Record; jumpList: number[]; }; /** * Import marks from persistence */ import(data: { marks?: Record; jumpList?: number[]; }): void; /** * Notify listeners of state change */ private notifyChange; } /** * Create a vim marks engine instance */ export declare function createVimMarksEngine(onMarkChange?: (state: MarkState) => void): VimMarksEngine; /** * Format marks for display */ export declare function formatMarks(marks: Array<{ mark: string; position: number; }>): string[]; /** * Format jump list for display */ export declare function formatJumpList(jumpList: Array<{ index: number; position: number; current: boolean; }>): string[]; //# sourceMappingURL=vim-marks.d.ts.map