Documentation
¶
Index ¶
- type String
- func (xs String) Append(add ...rune) StringDelta
- func (xs String) Apply(ops []StringOp) String
- func (xs String) CanApply(ops []StringOp) bool
- func (xs String) Delete(i, num int) StringDelta
- func (xs String) DeleteElements(del ...rune) StringDelta
- func (xs String) Insert(i int, add ...rune) StringDelta
- func (xs String) PrefixMatch(ys []rune) int
- func (xs String) Retain(r int) StringDelta
- func (xs String) String() string
- type StringDelta
- type StringOp
- type StringOpDelete
- func (x StringOpDelete) Apply(xs String) (String, String)
- func (x StringOpDelete) Compact(op StringOp) (StringOp, bool)
- func (x StringOpDelete) Leaves(in int) int
- func (x StringOpDelete) Len() int
- func (x StringOpDelete) Rebase(base StringOp) (StringOp, StringOp, StringOp)
- func (x StringOpDelete) Skip(n int) StringOp
- func (x StringOpDelete) String() string
- type StringOpInsert
- func (x StringOpInsert) Apply(xs String) (String, String)
- func (x StringOpInsert) Compact(op StringOp) (StringOp, bool)
- func (x StringOpInsert) Leaves(in int) int
- func (x StringOpInsert) Len() int
- func (x StringOpInsert) Rebase(base StringOp) (StringOp, StringOp, StringOp)
- func (x StringOpInsert) Skip(n int) StringOp
- func (x StringOpInsert) String() string
- type StringOpRetain
- func (x StringOpRetain) Apply(xs String) (String, String)
- func (x StringOpRetain) Compact(op StringOp) (StringOp, bool)
- func (x StringOpRetain) Leaves(in int) int
- func (x StringOpRetain) Len() int
- func (x StringOpRetain) Rebase(base StringOp) (StringOp, StringOp, StringOp)
- func (x StringOpRetain) Skip(n int) StringOp
- func (x StringOpRetain) String() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type String ¶
type String []rune
func (String) Append ¶
func (xs String) Append(add ...rune) StringDelta
func (String) Delete ¶
func (xs String) Delete(i, num int) StringDelta
func (String) DeleteElements ¶
func (xs String) DeleteElements(del ...rune) StringDelta
func (String) PrefixMatch ¶
PrefixMatch returns the number of elements at the beginning of xs that match the elements at the beginning of ys.
func (String) Retain ¶
func (xs String) Retain(r int) StringDelta
type StringDelta ¶
type StringDelta []StringOp
func StringDiff ¶
func StringDiff(a, b []rune) StringDelta
StringDiff produces a set of operations that can be applied to xs to produce a slice that would match slice b.
func (StringDelta) Delete ¶
func (x StringDelta) Delete(d int) StringDelta
func (StringDelta) Insert ¶
func (x StringDelta) Insert(add ...rune) StringDelta
func (StringDelta) Rebase ¶
func (x StringDelta) Rebase(base StringDelta) (StringDelta, error)
func (StringDelta) Retain ¶
func (x StringDelta) Retain(r int) StringDelta
type StringOp ¶
type StringOp interface {
// Leaves returns how many elements of a slice of length n would remain
// to be transformed by additional ops after applying this op. Returns
// a negative number if and only if this op cannot be coherently
// applied to a slice of length n.
Leaves(n int) int
// Len returns the number of elements inserted, retained, or deleted by
// this op.
Len() int
// Skip returns an equivalent op that assumes its intent is already carried
// out for the first n elements. May panic if n > Len().
Skip(n int) StringOp
// Rebase transforms op into a rebased op r (or nil), a subsequent op for
// rebasing xn (or nil), and a subsequent base bn (or nil).
Rebase(base StringOp) (r StringOp, xn StringOp, bn StringOp)
// Compact expands this op to include o if possible, returning true if
// successful.
Compact(o StringOp) (StringOp, bool)
Apply(String) (include String, remainder String)
String() string
}
type StringOpDelete ¶
type StringOpDelete int
func (StringOpDelete) Leaves ¶
func (x StringOpDelete) Leaves(in int) int
func (StringOpDelete) Len ¶
func (x StringOpDelete) Len() int
func (StringOpDelete) Rebase ¶
func (x StringOpDelete) Rebase(base StringOp) (StringOp, StringOp, StringOp)
func (StringOpDelete) Skip ¶
func (x StringOpDelete) Skip(n int) StringOp
func (StringOpDelete) String ¶
func (x StringOpDelete) String() string
type StringOpInsert ¶
type StringOpInsert []rune
func (StringOpInsert) Leaves ¶
func (x StringOpInsert) Leaves(in int) int
func (StringOpInsert) Len ¶
func (x StringOpInsert) Len() int
func (StringOpInsert) Rebase ¶
func (x StringOpInsert) Rebase(base StringOp) (StringOp, StringOp, StringOp)
func (StringOpInsert) Skip ¶
func (x StringOpInsert) Skip(n int) StringOp
func (StringOpInsert) String ¶
func (x StringOpInsert) String() string
type StringOpRetain ¶
type StringOpRetain int
func (StringOpRetain) Leaves ¶
func (x StringOpRetain) Leaves(in int) int
func (StringOpRetain) Len ¶
func (x StringOpRetain) Len() int
func (StringOpRetain) Rebase ¶
func (x StringOpRetain) Rebase(base StringOp) (StringOp, StringOp, StringOp)
func (StringOpRetain) Skip ¶
func (x StringOpRetain) Skip(n int) StringOp
func (StringOpRetain) String ¶
func (x StringOpRetain) String() string
Click to show internal directories.
Click to hide internal directories.