Documentation ¶
Index ¶
- func IsSeedMatching(lseed string, completion string) bool
- func MatchPrecedence(lseed string, completion string) int
- func MatchSeedString(completions []string, seed string) []string
- func SeedWhiteSpace(text string) string
- type Completion
- type Completions
- type Edit
- type EditFunc
- type Lookup
- type LookupFunc
- type MatchFunc
- type Matches
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsSeedMatching ¶
IsSeedMatching returns whether the given lowercase seed matches the given completion string. It checks whether different transformations of the completion contain the lowercase version of the seed.
func MatchPrecedence ¶
MatchPrecedence returns the sorting precedence of the given completion relative to the given lowercase seed. The completion is assumed to already match the seed by IsSeedMatching. A lower return value indicates a higher precedence.
func MatchSeedString ¶
MatchSeedString returns a list of matches given a list of string possibilities and a seed. It checks whether different transformations of each possible completion contain a lowercase version of the seed. It returns nil if there are no matches.
func SeedWhiteSpace ¶
SeedWhiteSpace returns the text after the last whitespace
Types ¶
type Completion ¶
type Completion struct { // completion text: what will actually be inserted if selected Text string // label to show the user; only used for menu display if non-empty; otherwise Text is used Label string // icon name Icon string // extra information, e.g. detailed description, type, arguments, etc; not currently used in Pi, but is used for tooltips in GUI Desc string // lang specific or other, e.g. class or type Extra map[string]string }
Completion holds one potential completion
func MatchSeedCompletion ¶
func MatchSeedCompletion(completions []Completion, seed string) []Completion
MatchSeedCompletion returns a list of matches given a list of Completion possibilities and a seed. It checks whether different transformations of each possible completion contain a lowercase version of the seed. It returns nil if there are no matches.
type Completions ¶
type Completions []Completion
Completions is a full list (slice) of completion options
type Edit ¶
type Edit struct { // completion text after special edits NewText string // number of runes, past the cursor, to delete, if any ForwardDelete int // cursor adjustment if cursor should be placed in a location other than at end of newText CursorAdjust int }
Edit is returned from completion edit function to incorporate the selected completion
type EditFunc ¶
EditFunc is passed the current text and the selected completion for text editing. Allows for other editing, e.g. adding "()" or adding "/", etc.
type Lookup ¶
type Lookup struct { // if non-empty, the result is to view this file (full path) Filename string // starting line number within file to display StLine int // ending line number within file EdLine int // if filename is empty, this is raw text to display for lookup result Text []byte }
Lookup is used for returning lookup results
type LookupFunc ¶
LookupFunc is the function called to get the lookup results for given input test and position.
type MatchFunc ¶
MatchFunc is the function called to get the list of possible completions and also determines the correct seed based on the text passed as a parameter of CompletionFunc
type Matches ¶
type Matches struct { // the matches based on seed Matches Completions // seed is the prefix we use to find possible completions Seed string }
Matches is used for passing completions around. contains seed in addition to completions