prompt

package module
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2025 License: MIT Imports: 12 Imported by: 0

README

Code Prompt

Documentation

Index

Constants

This section is empty.

Variables

View Source
var BaseFocusStyle = BaseStyle.
	BorderForeground(lipgloss.AdaptiveColor{Light: "#EE6FF8", Dark: "#EE6FF8"})
View Source
var BaseStyle = lipgloss.NewStyle().
	BorderStyle(lipgloss.NormalBorder()).
	BorderForeground(lipgloss.Color("240"))
View Source
var Version = "0.0.8"

Functions

func DefaultCompletionLSPSelectFunc added in v0.0.7

func DefaultCompletionLSPSelectFunc(p *Prompt, input string, cursor int, selected CompletionItem)

选择补全方法 功能点概述: - 依据光标位置回退并替换完整标识符,避免重复叠加已有括号 - selected.Ext 为 lsp.CompletionItem 时按 Kind 决定是否补全 "()" 并把光标放在括号内 - 非可调用项若存在残留括号则移除,保持输入整洁

func DefaultCompletionSelectFunc

func DefaultCompletionSelectFunc(p *Prompt, input string, cursor int, selected CompletionItem)

func Empty

func Empty() tea.Msg

Types

type BaseModel

type BaseModel struct{}

func (BaseModel) GetAction

func (m BaseModel) GetAction() string

func (BaseModel) GetActionPayload

func (m BaseModel) GetActionPayload() any

func (BaseModel) Init

func (m BaseModel) Init() tea.Cmd

func (*BaseModel) Restore

func (m *BaseModel) Restore(old tui.Model)

func (*BaseModel) Update

func (m *BaseModel) Update(msg tea.Msg) (tea.Model, tea.Cmd)

func (BaseModel) View

func (m BaseModel) View() string

type Completion

type Completion struct {
	Model  table.Model
	Style  lipgloss.Style
	KeyMap CompletionKeyMap
	// contains filtered or unexported fields
}

func NewCompletion

func NewCompletion(items []CompletionItem) *Completion

func (Completion) GetAction

func (m Completion) GetAction() string

func (Completion) GetActionPayload

func (m Completion) GetActionPayload() any

func (Completion) GetSelected

func (m Completion) GetSelected() CompletionItem

func (Completion) Init

func (m Completion) Init() tea.Cmd

func (*Completion) Restore

func (m *Completion) Restore(old tui.Model)

func (*Completion) Update

func (m *Completion) Update(msg tea.Msg) (tea.Model, tea.Cmd)

func (Completion) View

func (m Completion) View() string

type CompletionFunc

type CompletionFunc func(input string, cursor int) []CompletionItem

type CompletionItem

type CompletionItem struct {
	Text string
	Desc string
	Ext  interface{}
}

type CompletionKeyMap

type CompletionKeyMap struct {
	// FullHelp
	NextCompletion key.Binding // ShortHelp ListenKeys
	PrevCompletion key.Binding // ShortHelp ListenKeys
}

func DefaultCompletionKeyMap

func DefaultCompletionKeyMap() CompletionKeyMap

func (CompletionKeyMap) FullHelp

func (km CompletionKeyMap) FullHelp() [][]key.Binding

func (CompletionKeyMap) ListenKeys

func (km CompletionKeyMap) ListenKeys() []key.Binding

func (CompletionKeyMap) ShortHelp

func (km CompletionKeyMap) ShortHelp() []key.Binding

type CompletionSelectFunc

type CompletionSelectFunc func(p *Prompt, input string, cursor int, selected CompletionItem)

type EmptyMsg

type EmptyMsg struct{}

type History

type History struct {
	BaseModel
	Input *Input
	Out   *Out
	Style lipgloss.Style

	KeyMap CompletionKeyMap
}

func NewHistory

func NewHistory(input *Input, out *Out) *History

func (History) Init

func (m History) Init() tea.Cmd

func (*History) Update

func (m *History) Update(msg tea.Msg) (tea.Model, tea.Cmd)

func (History) View

func (m History) View() string

type Input

type Input struct {
	Model textinput.Model
	Style lipgloss.Style

	KeyMap CompletionKeyMap
}

func NewInput

func NewInput() *Input

func (Input) GetAction

func (m Input) GetAction() string

func (Input) GetActionPayload

func (m Input) GetActionPayload() any

func (Input) Init

func (m Input) Init() tea.Cmd

func (*Input) Restore

func (m *Input) Restore(old tui.Model)

func (*Input) Update

func (m *Input) Update(msg tea.Msg) (tea.Model, tea.Cmd)

func (Input) View

func (m Input) View() string

type Option

type Option func(*Prompt)

func WithCompletionFunc

func WithCompletionFunc(f CompletionFunc) Option

func WithCompletionSelectFunc

func WithCompletionSelectFunc(f CompletionSelectFunc) Option

func WithCompletions

func WithCompletions(items []CompletionItem) Option

func WithOutFunc

func WithOutFunc(f OutFunc) Option

func WithPrompt

func WithPrompt(s string) Option

func WithWidth

func WithWidth(w int) Option

type Out

type Out struct {
	BaseModel
	Model viewport.Model
	Style lipgloss.Style

	KeyMap CompletionKeyMap
}

func NewOut

func NewOut(text string) *Out

func (Out) Init

func (m Out) Init() tea.Cmd

func (*Out) Update

func (m *Out) Update(msg tea.Msg) (tea.Model, tea.Cmd)

func (Out) View

func (m Out) View() string

type OutFunc

type OutFunc func(input string) string

type Prompt

type Prompt struct {
	BaseModel

	KeyMap PromptKeyMap
	// contains filtered or unexported fields
}

func NewPrompt

func NewPrompt(opts ...Option) *Prompt

func (*Prompt) AppendHistory

func (m *Prompt) AppendHistory(outText string)

func (*Prompt) CompletionFunc

func (m *Prompt) CompletionFunc(f CompletionFunc)

func (*Prompt) CompletionSelectFunc added in v0.0.8

func (m *Prompt) CompletionSelectFunc(f CompletionSelectFunc)

func (*Prompt) Completions added in v0.0.8

func (m *Prompt) Completions(items []CompletionItem)

func (Prompt) Cursor

func (m Prompt) Cursor() int

func (*Prompt) DefaultCompletionFunc

func (m *Prompt) DefaultCompletionFunc(input string, cursor int) []CompletionItem

func (Prompt) GetCompletionView

func (m Prompt) GetCompletionView() string

func (Prompt) Init

func (m Prompt) Init() tea.Cmd

func (Prompt) NewInput

func (m Prompt) NewInput() *Input

func (*Prompt) OutFunc added in v0.0.8

func (m *Prompt) OutFunc(f OutFunc)

func (Prompt) SetCursor

func (m Prompt) SetCursor(pos int)

func (Prompt) SetValue

func (m Prompt) SetValue(s string)

func (*Prompt) Update

func (m *Prompt) Update(msg tea.Msg) (tea.Model, tea.Cmd)

func (*Prompt) UpdateInput

func (m *Prompt) UpdateInput(msg tea.Msg) tea.Cmd

其他按键:更新输入框,并根据输入实时过滤补全建议

func (Prompt) Value

func (m Prompt) Value() string

func (Prompt) View

func (m Prompt) View() string

func (*Prompt) Width

func (m *Prompt) Width(w int)

type PromptKeyMap

type PromptKeyMap struct {
	// FullHelp
	NextCompletion  key.Binding // ShortHelp ListenKeys
	PrevCompletion  key.Binding // ShortHelp ListenKeys
	ClearCompletion key.Binding // ShortHelp ListenKeys

	// FullHelp
	Enter key.Binding
	Exit  key.Binding
}

func DefaultPromptKeyMap

func DefaultPromptKeyMap() PromptKeyMap

func (PromptKeyMap) FullHelp

func (km PromptKeyMap) FullHelp() [][]key.Binding

func (PromptKeyMap) ListenKeys

func (km PromptKeyMap) ListenKeys() []key.Binding

func (PromptKeyMap) ShortHelp

func (km PromptKeyMap) ShortHelp() []key.Binding

Directories

Path Synopsis
examples
completion command
go command
input command
lsp command
simple command
test command
pkg
log
lsp
tui

Jump to

Keyboard shortcuts

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