textlayout

package
v0.1.1-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2026 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LineFragment

type LineFragment struct {
	LogicalLineIdx  int // Номер оригинальной строки (до \n)
	ByteOffsetStart int // Смещение начала фрагмента (от начала всего файла/буфера)
	ByteOffsetEnd   int // Смещение конца фрагмента
	VisualWidth     int // Ширина фрагмента в колонках терминала (учитывая CJK)
}

LineFragment описывает один визуальный кусок логической строки после свертки.

type WrapEngine

type WrapEngine struct {
	// contains filtered or unexported fields
}

WrapEngine отвечает за вычисление визуальной разметки текста.

func NewWrapEngine

func NewWrapEngine(pt *piecetable.PieceTable, li *piecetable.LineIndex) *WrapEngine

func (*WrapEngine) GetFragments

func (we *WrapEngine) GetFragments(logLineIdx int) []LineFragment

GetFragments возвращает визуальные фрагменты для одной логической строки.

func (*WrapEngine) GetLogLineAtVisualRow

func (we *WrapEngine) GetLogLineAtVisualRow(visualRow int) (logLineIdx int, fragIdx int)

GetLogLineAtVisualRow переводит абсолютный индекс визуальной строки в индекс логической строки и порядковый номер фрагмента внутри неё.

func (*WrapEngine) GetRowOffset

func (we *WrapEngine) GetRowOffset(logLineIdx int) int

GetRowOffset возвращает индекс первой визуальной строки для данной логической строки.

func (*WrapEngine) GetTotalVisualRows

func (we *WrapEngine) GetTotalVisualRows() int

GetTotalVisualRows возвращает общее количество визуальных строк в документе.

func (*WrapEngine) InvalidateCache

func (we *WrapEngine) InvalidateCache()

InvalidateCache сбрасывает кэш фрагментов.

func (*WrapEngine) InvalidateFrom

func (we *WrapEngine) InvalidateFrom(logLineIdx int)

func (*WrapEngine) LogicalToVisual

func (we *WrapEngine) LogicalToVisual(byteOffset int) (visualRow, visualCol int)

LogicalToVisual переводит байтовый оффсет в документе в (строка, колонка) на экране.

func (*WrapEngine) SetPointers

func (we *WrapEngine) SetPointers(pt *piecetable.PieceTable, li *piecetable.LineIndex)

func (*WrapEngine) SetTabSize

func (we *WrapEngine) SetTabSize(size int)

func (*WrapEngine) SetWidth

func (we *WrapEngine) SetWidth(width int)

SetWidth устанавливает ширину для свертки. При изменении сбрасывает кэш.

func (*WrapEngine) ToggleWrap

func (we *WrapEngine) ToggleWrap(wrap bool)

ToggleWrap включает/выключает перенос по словам.

func (*WrapEngine) VisualToLogical

func (we *WrapEngine) VisualToLogical(visualRow, visualCol int) int

VisualToLogical переводит (строка, колонка) на экране в байтовый оффсет документа.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL