A special Map that converts its key to ui.Key and ensures that its values
satisfy eval.CallableValue.
Maphashmap.Map
Assoc converts the index to ui.Key, ensures that the value is CallableValue,
uses the Assoc of the inner Map and converts the result to a BindingTable.
Dissoc converts the key to ui.Key and calls the Dissoc method of the inner
map.
( T) GetKey(k ui.Key) eval.Callable( T) HasKey(k interface{}) bool
Index converts the index to ui.Key and uses the Index of the inner Map.
Iterator returns an iterator over the map.
Len returns the length of the map.
( T) MarshalJSON() ([]byte, error)
Repr returns the representation of the binding table as if it were an
ordinary map keyed by strings.
T : src.elv.sh/pkg/eval/vals.Assocer
T : src.elv.sh/pkg/eval/vals.Dissocer
T : src.elv.sh/pkg/eval/vals.ErrIndexer
T : src.elv.sh/pkg/eval/vals.HasKeyer
T : src.elv.sh/pkg/eval/vals.Lener
T : src.elv.sh/pkg/eval/vals.Reprer
T : encoding/json.Marshaler
func makeBindingMap(raw hashmap.Map) (bindingsMap, error)
func indexLayeredBindings(k ui.Key, maps ...bindingsMap) eval.Callable
func newBindingVar(b bindingsMap) vars.PtrVar
var emptyBindingsMap
A function that describes a word flavor by categorizing runes. The return
value of 0 represents the whitespace category while other values represent
different word categories.
func moveDotLeftGeneralWord(categorize categorizer, buffer string, dot int) int
func moveDotRightGeneralWord(categorize categorizer, buffer string, dot int) int
A wrapper type implementing Elvish value methods.
// Appended to the code.
// How the item is displayed. If empty, defaults to Stem.
// Use for displaying.
// Used in the code and the menu.
( T) Equal(a interface{}) bool( T) Hash() uint32( T) Index(k interface{}) (interface{}, bool)( T) IterateKeys(f func(interface{}) bool)( T) Kind() string( T) Repr(indent int) string
T : src.elv.sh/pkg/eval/vals.Equaler
T : src.elv.sh/pkg/eval/vals.Hasher
T : src.elv.sh/pkg/eval/vals.Indexer
T : src.elv.sh/pkg/eval/vals.KeysIterator
T : src.elv.sh/pkg/eval/vals.Kinder
T : src.elv.sh/pkg/eval/vals.Reprer
func complexCandidate(fm *eval.Frame, opts complexCandidateOpts, stem string) complexItem
The type for a native Go matcher. This is not equivalent to the Elvish
counterpart, which streams input and output. This is because we can actually
afford calling a Go function for each item, so omitting the streaming
behavior makes the implementation simpler.
Native Go matchers are wrapped into Elvish matchers, but never the other way
around.
This type is satisfied by strings.Contains and strings.HasPrefix; they are
wrapped into match-substr and match-prefix respectively.
func wrapMatcher(m matcher) wrappedMatcher
A pure function that takes the current buffer and dot, and returns a new
value for the dot. Used to derive move- and kill- functions that operate on
the editor state.
func makeKill(m pureMover) func(*tk.CodeBuffer)
func makeMove(m pureMover) func(*tk.CodeBuffer)
Package-Level Functions (total 137, in which 1 are exported)
NewEditor creates a new editor. The TTY is used for input and output. The
Evaler is used for syntax highlighting, completion, and calling callbacks.
The Store is used for saving and retrieving command and directory history.
Calls a function with the given arguments and closed input, and concatenates
its outputs to a styled text. Used to call prompts and stale transformers.