gecore

package module
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: May 26, 2026 License: MIT Imports: 29 Imported by: 4

README

gecore - Core Functionalities for ge Text Editor

gecore is a package that provides core functionalities for the ge text editor.

Features

  • Screen management: Handles screen rendering and updates.
  • Tree structure: Manages the hierarchical structure of text buffers.
  • Kill buffer: Provides functionality to delete or yank text.
  • Utility functions: Includes various utility functions used within the ge text editor.

License

This package is licensed under the MIT License.

Documentation

Overview

gecore/cancelable_manager.go

gecore/echo.go

Index

Constants

View Source
const (
	EchoNormal activeFlag = iota
	EchoBlue
	EchoGreen
	EchoYellow
	EchoRed
)
View Source
const (
	INSERT syncType = iota
	DELETE
)

Variables

View Source
var (
	WorkSpaces []string // directory
	Switches   []string // prefix -
	Files      []string
)

Arguments groups

View Source
var (
	// Initialization has been moved to the newEditor function
	// BufferSets, _ = buffer.NewBufferSets(gecore.Files)
	BufferSets *buffer.BufferSets
	Marks      = mark.NewMarks()
)
View Source
var (
	CancelKeyOnly = keychord.NewRootNode()
	GlobalKey     = keychord.NewRootNode()
	RootKey       = keychord.NewRootNode()

	ModeManager = mode.NewManager(RootKey)

	// Keyboard macro mode
	MacroKey         *keychord.RootNode = keychord.NewRootNode()
	MacroModeManager *mode.Manager      = mode.NewManager(MacroKey)
	MacroMode        *MacroModeStruct
)

Functions

func Dispatch added in v0.1.1

func Dispatch(ev tcell.EventKey)

2026-01-18 Sun 14:20:51 leaf で ESC > が動作しなくなったが 下記で解消している

func InitQuitGuardManager added in v0.1.1

func InitQuitGuardManager(quit chan struct{})

Types

type BoundariesArray added in v0.1.1

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

BoundariesArray manages layout cache information per physical row.

It lazily computes wrapping information when needed and stores per-row layout metadata.

func NewBoundariesArray added in v0.1.1

func NewBoundariesArray(editor *Editorleaf) BoundariesArray

NewBoundariesArray creates a new BoundariesArray.

func (*BoundariesArray) BoundariesLen added in v0.1.1

func (b *BoundariesArray) BoundariesLen(rowIndex int) int

BoundariesLen returns the number of logical rows (wrapped segments) for the specified physical row.

func (*BoundariesArray) Boundary added in v0.1.1

func (b *BoundariesArray) Boundary(rowIndex, logicalRowIndex int) Boundary

Boundary returns the Boundary for the specified row and logical row index.

func (*BoundariesArray) ClearAll added in v0.1.1

func (b *BoundariesArray) ClearAll()

ClearAll clears all cached layout information.

func (*BoundariesArray) Delete added in v0.1.1

func (b *BoundariesArray) Delete(rowIndex, count int) error

Delete removes count rows starting from rowIndex.

func (*BoundariesArray) GetHangingIndentWidth added in v0.1.1

func (b *BoundariesArray) GetHangingIndentWidth(rowIndex int) int

GetHangingIndentWidth returns the hanging indentation width for the specified row. It returns 0 if the row is out of range.

func (*BoundariesArray) Insert added in v0.1.1

func (b *BoundariesArray) Insert(rowIndex, count int)

Insert inserts count empty rows at rowIndex.

func (*BoundariesArray) LastBoundary added in v0.1.1

func (b *BoundariesArray) LastBoundary(rowIndex int) Boundary

LastBoundary returns the last logical row boundary for the specified physical row.

func (*BoundariesArray) Len added in v0.1.1

func (b *BoundariesArray) Len() int

Len returns the number of rows currently stored.

func (*BoundariesArray) Set added in v0.1.1

func (b *BoundariesArray) Set(
	rowIndex int,
	boundaries []Boundary,
	hangingIndentWidth int,
)

Set stores layout information for the specified row index.

It overwrites any existing layout data for the row.

type Boundary added in v0.1.1

type Boundary struct {
	// StartLogicalRowByteIndex is the inclusive start byte index
	// within the original row.
	StartLogicalRowByteIndex int

	// StopLogicalRowByteIndex is the exclusive end byte index
	// within the original row.
	StopLogicalRowByteIndex int

	// LogicalRowWidth is the rendered width (in cells)
	// of this logical row.
	LogicalRowWidth int

	// TotalCellWidth includes tab expansion width.
	TotalCellWidth int
}

Boundary represents a single wrapped logical row segment within a physical line.

A physical line (row) may be split into multiple logical rows due to wrapping. Each Boundary describes one such segment.

func (*Boundary) Clear added in v0.1.1

func (b *Boundary) Clear()

Clear resets the Boundary to its zero state.

func (*Boundary) IsEmpty added in v0.1.1

func (b *Boundary) IsEmpty() bool

IsEmpty reports whether the Boundary is uninitialized.

type CancelManagerStruct added in v0.1.1

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

func CancelManager added in v0.1.1

func CancelManager() *CancelManagerStruct

func (*CancelManagerStruct) CancelAll added in v0.1.1

func (m *CancelManagerStruct) CancelAll()

func (*CancelManagerStruct) CancelTop added in v0.1.1

func (m *CancelManagerStruct) CancelTop() bool

func (*CancelManagerStruct) Register added in v0.1.1

func (m *CancelManagerStruct) Register(c Cancelable)

Manager を Cancelable として登録する Cancelable = Manager Session = 状態 Popupmenu / Editorleaf = 部品 Cancel / Close / Dispatch 集約点は CancelManager

func (*CancelManagerStruct) Unregister added in v0.1.1

func (m *CancelManagerStruct) Unregister(c Cancelable)

type Cancelable added in v0.1.1

type Cancelable interface {
	Cancel()        // Ctrl-G
	IsActive() bool // 今キャンセル対象か
	Priority() int  // 小さいほど優先(0 が最優先)
}

type EchoStruct added in v0.1.1

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

Required implement Overlay interface

var Echo *EchoStruct = NewEcho()

func NewEcho added in v0.1.1

func NewEcho() *EchoStruct

func (*EchoStruct) AddText added in v0.1.1

func (e *EchoStruct) AddText(s ...string) *chainStruct

func (*EchoStruct) Clear added in v0.1.1

func (e *EchoStruct) Clear()

func (*EchoStruct) Draw added in v0.1.1

func (e *EchoStruct) Draw(screen tcell.Screen)

func (*EchoStruct) IsActive added in v0.1.1

func (e *EchoStruct) IsActive() bool

Overlay interface

func (*EchoStruct) RequiredHeight added in v0.1.1

func (e *EchoStruct) RequiredHeight() int

Overlay interface

func (*EchoStruct) Resize added in v0.1.1

func (e *EchoStruct) Resize(overlayRect utils.Rect)

func (*EchoStruct) SetText added in v0.1.1

func (e *EchoStruct) SetText(s string) *chainStruct

func (*EchoStruct) UniversalCancel added in v0.1.1

func (e *EchoStruct) UniversalCancel()

type EditorKeymapBinder added in v0.1.1

type EditorKeymapBinder func(root *keychord.RootNode, editor *Editorleaf)

type Editorleaf added in v0.1.1

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

Editorleaf Struct implements the gecore.tree.Leaf interface

func NewMinibufferLeaf added in v0.1.1

func NewMinibufferLeaf() *Editorleaf

MinibufferLeaf は tree に属さない Editor が生成されたタイミングで keymap をバインドしない

func (*Editorleaf) Active added in v0.1.1

func (e *Editorleaf) Active(a bool)

func (*Editorleaf) Autoindent added in v0.1.1

func (e *Editorleaf) Autoindent()

func (Editorleaf) BackwardKillLine added in v0.1.1

func (e Editorleaf) BackwardKillLine()

unix-line-discard backward-kill-line

func (*Editorleaf) ChangeFilePath added in v0.1.1

func (e *Editorleaf) ChangeFilePath(path string)

If an existing file is specified, it will be overwritten Backup works so no data is lost, but...

func (*Editorleaf) CharInfo added in v0.1.1

func (e *Editorleaf) CharInfo()

func (*Editorleaf) CommandPalette added in v0.1.1

func (e *Editorleaf) CommandPalette(s string)

func (*Editorleaf) CopyRegion added in v0.1.1

func (e *Editorleaf) CopyRegion()

Copy cursor region to Kill Buffer and Clipboard

func (*Editorleaf) DeleteRune added in v0.1.1

func (e *Editorleaf) DeleteRune()

If at the EOL, move contents of the next line to the end of the current line, erasing the next line after that. Otherwise, delete one character under the cursor.

func (*Editorleaf) DeleteRuneBackward added in v0.1.1

func (e *Editorleaf) DeleteRuneBackward()

func (*Editorleaf) DispatchKey added in v0.1.1

func (*Editorleaf) Draw added in v0.1.1

func (e *Editorleaf) Draw()

func (*Editorleaf) FilterByCharacters added in v0.1.1

func (e *Editorleaf) FilterByCharacters(chars string) []*mark.Mark

func (*Editorleaf) GetBuffers added in v0.1.1

func (e *Editorleaf) GetBuffers() *buffer.BufferSets

func (*Editorleaf) GetBuffersFilterByCharacters added in v0.1.1

func (e *Editorleaf) GetBuffersFilterByCharacters(chars string) *buffer.BufferSets

func (*Editorleaf) GetBytes added in v0.1.1

func (e *Editorleaf) GetBytes() []byte

編集中のテキストの []byte を返す editorleaf.editbuffer.RowsStruct.Bytes() のラッパー

func (*Editorleaf) GetPath added in v0.1.1

func (e *Editorleaf) GetPath() string

func (*Editorleaf) GetString added in v0.1.1

func (e *Editorleaf) GetString() string

func (*Editorleaf) Init added in v0.1.1

func (e *Editorleaf) Init()

func (*Editorleaf) InsertRune added in v0.1.1

func (e *Editorleaf) InsertRune(ch rune)

Wrapper is insertBytes

func (*Editorleaf) InsertString added in v0.1.1

func (e *Editorleaf) InsertString(s string)

Wrapper is insertBytes

func (*Editorleaf) InsertTab added in v0.1.1

func (e *Editorleaf) InsertTab()

func (*Editorleaf) IsActive added in v0.1.1

func (e *Editorleaf) IsActive() bool

func (*Editorleaf) IsDirtyFlag added in v0.1.1

func (e *Editorleaf) IsDirtyFlag() bool

func (Editorleaf) IsEndOfLine added in v0.1.1

func (e Editorleaf) IsEndOfLine() bool

func (*Editorleaf) IsRedoEmpty added in v0.1.1

func (e *Editorleaf) IsRedoEmpty() bool

func (*Editorleaf) Kill added in v0.1.1

func (e *Editorleaf) Kill(leaf tree.Leaf, isActive bool) tree.Leaf

func (*Editorleaf) KillLine added in v0.1.1

func (e *Editorleaf) KillLine()

Kill line: If not at the EOL, remove contents of the current line from the cursor to the end. Otherwise behave like 'delete'. 行を削除します: EOL でない場合は、カーソルから末尾までの現在の行の内容を削除します。 それ以外の場合は、「delete」のように動作します。

func (*Editorleaf) KillRegion added in v0.1.1

func (e *Editorleaf) KillRegion()

Kill region between last mark to cursor and push undo and kill buffers

func (*Editorleaf) LeafType added in v0.1.1

func (e *Editorleaf) LeafType() tree.LeafType

func (*Editorleaf) MinibufferMode added in v0.1.1

func (e *Editorleaf) MinibufferMode(mode Mode)

func (*Editorleaf) MoveCursorBackward added in v0.1.1

func (e *Editorleaf) MoveCursorBackward()

Move cursor one character backward.

func (*Editorleaf) MoveCursorBeginningOfFile added in v0.1.1

func (e *Editorleaf) MoveCursorBeginningOfFile()

func (*Editorleaf) MoveCursorBeginningOfLine added in v0.1.1

func (e *Editorleaf) MoveCursorBeginningOfLine()

Move cursor to the beginning of the line. Consider indentation

func (*Editorleaf) MoveCursorBeginningOfLogicalLine added in v0.1.1

func (e *Editorleaf) MoveCursorBeginningOfLogicalLine()

Move cursor to the beginning of the logical row. Consider logical row Consider indentation....

func (*Editorleaf) MoveCursorEndOfFile added in v0.1.1

func (e *Editorleaf) MoveCursorEndOfFile()

func (*Editorleaf) MoveCursorEndOfLine added in v0.1.1

func (e *Editorleaf) MoveCursorEndOfLine()

Move cursor to the end of the line.

func (*Editorleaf) MoveCursorEndOfLogicalLine added in v0.1.1

func (e *Editorleaf) MoveCursorEndOfLogicalLine()

Move cursor to the end of logical the line. At the end of a logical line, the cursor should at the beginning of the next logical line. so I see...

func (*Editorleaf) MoveCursorForward added in v0.1.1

func (e *Editorleaf) MoveCursorForward()

Move cursor one character forward.

func (*Editorleaf) MoveCursorNextLine added in v0.1.1

func (e *Editorleaf) MoveCursorNextLine()

Move cursor to the next line.

func (*Editorleaf) MoveCursorNextWord added in v0.1.1

func (e *Editorleaf) MoveCursorNextWord()

Move cursor to next word.

func (*Editorleaf) MoveCursorPrevLine added in v0.1.1

func (e *Editorleaf) MoveCursorPrevLine()

Move cursor to the previous line.

func (*Editorleaf) MoveCursorPreviousWord added in v0.1.1

func (e *Editorleaf) MoveCursorPreviousWord()

func (*Editorleaf) MoveCursorToLine added in v0.1.1

func (e *Editorleaf) MoveCursorToLine(lineNumber int)

func (*Editorleaf) MoveNextFoundWord added in v0.1.1

func (e *Editorleaf) MoveNextFoundWord()

func (*Editorleaf) MovePrevFoundWord added in v0.1.1

func (e *Editorleaf) MovePrevFoundWord()

func (*Editorleaf) MoveViewHalfBackward added in v0.1.1

func (e *Editorleaf) MoveViewHalfBackward()

Move view 'n' lines forward or backward.

func (*Editorleaf) MoveViewHalfForward added in v0.1.1

func (e *Editorleaf) MoveViewHalfForward()

Move view 'n' lines forward or backward only if it's possible.

func (*Editorleaf) OpenFile added in v0.1.1

func (e *Editorleaf) OpenFile(path string) (editbuffer.Result, error)

If the file has already been read, use that buffer

func (*Editorleaf) Recenter added in v0.1.1

func (e *Editorleaf) Recenter()

func (*Editorleaf) Redo added in v0.1.1

func (e *Editorleaf) Redo()

func (*Editorleaf) ReplaceCurrentSearchString added in v0.1.1

func (e *Editorleaf) ReplaceCurrentSearchString(str string)

func (*Editorleaf) Resize added in v0.1.1

func (e *Editorleaf) Resize(viewArea utils.Rect)

func (*Editorleaf) Resume added in v0.1.1

func (e *Editorleaf) Resume()

func (*Editorleaf) RowsLength added in v0.1.1

func (e *Editorleaf) RowsLength() int

func (*Editorleaf) RuneStatus added in v0.1.1

func (e *Editorleaf) RuneStatus(ch rune) string

Convert rune to displaying string on mode line Conversion target:

  • control code: ^X
  • newline code

Line feed code is depending the editing buffer newline

func (*Editorleaf) SaveFile added in v0.1.1

func (e *Editorleaf) SaveFile()

If the file does not exist, a backup error will occur

func (*Editorleaf) SearchRegexp added in v0.1.1

func (e *Editorleaf) SearchRegexp(searchTerm string, caseSensitive bool, ctx context.Context)

func (*Editorleaf) SearchText added in v0.1.1

func (e *Editorleaf) SearchText(text string, caseSensitive, isRegexp bool, ctx context.Context)

When not using regular expressions

func (*Editorleaf) SetCurrentMark added in v0.1.1

func (e *Editorleaf) SetCurrentMark(m *mark.Mark)

func (*Editorleaf) SetCursor added in v0.1.1

func (e *Editorleaf) SetCursor(c editbuffer.Cursor)

func (*Editorleaf) SetKeyDispatcher added in v0.1.1

func (e *Editorleaf) SetKeyDispatcher(km *keychord.RootNode)

func (*Editorleaf) SetMarkAtCursor added in v0.1.1

func (e *Editorleaf) SetMarkAtCursor()

func (Editorleaf) SetRows added in v0.1.1

func (e Editorleaf) SetRows(r [][]byte)

func (*Editorleaf) SwapCursorAndMark added in v0.1.1

func (e *Editorleaf) SwapCursorAndMark()

func (*Editorleaf) Undo added in v0.1.1

func (e *Editorleaf) Undo()

func (*Editorleaf) WillClose added in v0.1.1

func (e *Editorleaf) WillClose()

func (*Editorleaf) Yank added in v0.1.1

func (e *Editorleaf) Yank()

func (*Editorleaf) YankFromClipboard added in v0.1.1

func (e *Editorleaf) YankFromClipboard()

type GuardEventStatus added in v0.1.1

type GuardEventStatus int
const (
	EventWait GuardEventStatus = iota
	EventGaveUp
	EventReadyToClose
)

type GuardType added in v0.1.1

type GuardType int
const (
	GuardWaitResolved       GuardType = iota // 同期で1つずつ処理(UI応答など)
	GuardWaitResolvedSignal                  // 非同期で全体待機(バックグラウンド処理など)
)

type LeafType added in v0.1.1

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

Implements LeafType interface

func NewLeafType added in v0.1.1

func NewLeafType(bind EditorKeymapBinder) *LeafType

func (*LeafType) Name added in v0.1.1

func (v *LeafType) Name() string

func (*LeafType) NewLeaf added in v0.1.1

func (v *LeafType) NewLeaf() tree.Leaf

Return *editorleaf.Editor as tree.Leaf *interface Editor が生成されたタイミングで keymap を作成してバインドする

func (*LeafType) NewSiblingLeaf added in v0.1.1

func (v *LeafType) NewSiblingLeaf(direction string, leaf tree.Leaf) tree.Leaf

Create a new tree.Leaf (Editor) from leaf *tree.Leaf information direction: "right", "bottom"

type MacroModeStruct added in v0.1.1

type MacroModeStruct struct {
	ModeManager *mode.Manager
	RootNode    *keychord.RootNode
	// contains filtered or unexported fields
}

func NewMacroMode added in v0.1.1

func NewMacroMode(mm *mode.Manager, key func(*keychord.RootNode, *MacroModeStruct), dispatch func(tcell.EventKey)) *MacroModeStruct

func (*MacroModeStruct) AbortRecording added in v0.1.1

func (m *MacroModeStruct) AbortRecording()

func (*MacroModeStruct) Append added in v0.1.1

func (m *MacroModeStruct) Append(ev tcell.EventKey)

func (*MacroModeStruct) CurrentMode added in v0.1.1

func (m *MacroModeStruct) CurrentMode() mode.Mode

--- Mode pointer ---

func (*MacroModeStruct) Draw added in v0.1.1

func (m *MacroModeStruct) Draw()

func (*MacroModeStruct) Keys added in v0.1.1

func (m *MacroModeStruct) Keys() *keychord.RootNode

func (*MacroModeStruct) Name added in v0.1.1

func (m *MacroModeStruct) Name() string

--- Mode interface ---

func (*MacroModeStruct) Replay added in v0.1.1

func (m *MacroModeStruct) Replay()

func (*MacroModeStruct) StartRecording added in v0.1.1

func (m *MacroModeStruct) StartRecording()

--- Macro functions ---

func (*MacroModeStruct) StopRecording added in v0.1.1

func (m *MacroModeStruct) StopRecording()

func (*MacroModeStruct) WillEnter added in v0.1.1

func (m *MacroModeStruct) WillEnter()

func (*MacroModeStruct) WillExit added in v0.1.1

func (m *MacroModeStruct) WillExit()

type MinibufferManagerStruct added in v0.1.1

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

Required implement Overlay interface

func MinibufferManager added in v0.1.1

func MinibufferManager() *MinibufferManagerStruct

func (*MinibufferManagerStruct) Active added in v0.1.1

func (m *MinibufferManagerStruct) Active(b bool)

func (*MinibufferManagerStruct) Cancel added in v0.1.1

func (m *MinibufferManagerStruct) Cancel()

func (*MinibufferManagerStruct) Close added in v0.1.1

func (m *MinibufferManagerStruct) Close()

func (*MinibufferManagerStruct) Dispatch added in v0.1.1

func (*MinibufferManagerStruct) Draw added in v0.1.1

func (*MinibufferManagerStruct) Editor added in v0.1.1

func (m *MinibufferManagerStruct) Editor() *Editorleaf

func (*MinibufferManagerStruct) GetBytes added in v0.1.1

func (m *MinibufferManagerStruct) GetBytes() []byte

Return input content

func (*MinibufferManagerStruct) GetString added in v0.1.1

func (m *MinibufferManagerStruct) GetString() string

Return input content

func (*MinibufferManagerStruct) IsActive added in v0.1.1

func (m *MinibufferManagerStruct) IsActive() bool

func (*MinibufferManagerStruct) MinibufferResize added in v0.1.1

func (m *MinibufferManagerStruct) MinibufferResize(overlayRect utils.Rect) int

return Remaining height overlayRect.Height: この値のみ画面の高さ

func (*MinibufferManagerStruct) Priority added in v0.1.1

func (m *MinibufferManagerStruct) Priority() int

func (*MinibufferManagerStruct) RequiredHeight added in v0.1.1

func (m *MinibufferManagerStruct) RequiredHeight() int

return minibuffer height

func (*MinibufferManagerStruct) Resize added in v0.1.1

func (m *MinibufferManagerStruct) Resize(overlayRect utils.Rect)

func (*MinibufferManagerStruct) SetBytes added in v0.1.1

func (m *MinibufferManagerStruct) SetBytes(content []byte)

func (*MinibufferManagerStruct) SetPrompt added in v0.1.1

func (m *MinibufferManagerStruct) SetPrompt(prompt string)

func (*MinibufferManagerStruct) SetString added in v0.1.1

func (m *MinibufferManagerStruct) SetString(content string)

func (*MinibufferManagerStruct) Start added in v0.1.1

func (m *MinibufferManagerStruct) Start(session *Session, onComplete func(result keychord.KeyDispatchTransition))

func (*MinibufferManagerStruct) UniversalCancel added in v0.1.1

func (m *MinibufferManagerStruct) UniversalCancel()

type Mode added in v0.1.1

type Mode int
const (
	ModeEditor Mode = iota
	ModeMinibuffer
)

type QuitGuardManagerStruct added in v0.1.1

type QuitGuardManagerStruct struct {
	// contains filtered or unexported fields
}
var (
	QuitGuardManager *QuitGuardManagerStruct = &QuitGuardManagerStruct{
		timeout: 10 * time.Second,
	}
)

func (*QuitGuardManagerStruct) CurrentQuitGuardResolver added in v0.1.1

func (q *QuitGuardManagerStruct) CurrentQuitGuardResolver() QuitGuardResolver

func (*QuitGuardManagerStruct) ExitApp added in v0.1.1

func (q *QuitGuardManagerStruct) ExitApp()

func (*QuitGuardManagerStruct) HandleNextResolver added in v0.1.1

func (q *QuitGuardManagerStruct) HandleNextResolver()

func (*QuitGuardManagerStruct) Register added in v0.1.1

func (*QuitGuardManagerStruct) Reset added in v0.1.1

func (q *QuitGuardManagerStruct) Reset(result GuardEventStatus)

func (*QuitGuardManagerStruct) Unregister added in v0.1.1

func (q *QuitGuardManagerStruct) Unregister(c QuitGuardResolver)

type QuitGuardResolver added in v0.1.1

type QuitGuardResolver interface {
	Priority() int

	Name() string
	Keys() *keychord.RootNode

	WillEnter()
	WillExit()
	Draw()
}

func NewQuitGuard added in v0.1.1

func NewQuitGuard(bufferSets *buffer.BufferSets) QuitGuardResolver

type RowLayout added in v0.1.1

type RowLayout struct {
	// Boundaries contains all wrapped logical row segments.
	Boundaries []Boundary

	// HangingIndentWidth is the indentation width applied to
	// wrapped logical rows after the first one.
	HangingIndentWidth int
}

RowLayout represents layout information for a single physical row.

It contains all computed wrapping boundaries and additional layout metadata such as hanging indentation width.

type Session added in v0.1.1

type Session struct {
	Editor      *Editorleaf
	Prompt      string
	PromptWidth int
	Mode        Mode
}

func NewSession added in v0.1.1

func NewSession(
	prompt string,
	bind func(*keychord.RootNode, *Editorleaf),
) *Session

func (*Session) SetPrompt added in v0.1.1

func (s *Session) SetPrompt(prompt string)

Directories

Path Synopsis
gecore/modes/redo_mode.go 最もシンプルなモード
gecore/modes/redo_mode.go 最もシンプルなモード
gecore/popupmenu/popupmenu.go
gecore/popupmenu/popupmenu.go
editorleaf/search/search.go
editorleaf/search/search.go

Jump to

Keyboard shortcuts

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