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 ¶ added in v0.0.4
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 ¶ added in v0.0.4
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