Files
levi/internal/editor/runebuf.go
2026-03-27 10:34:17 +09:00

30 lines
405 B
Go

package editor
type RuneBuf struct {
buf []rune
}
func (b *RuneBuf) WriteRune(r rune) {
b.buf = append(b.buf, r)
}
func (b *RuneBuf) Backspace() bool {
if len(b.buf) == 0 {
return false
}
b.buf = b.buf[:len(b.buf)-1]
return true
}
func (b *RuneBuf) String() string {
return string(b.buf)
}
func (b *RuneBuf) Reset() {
b.buf = b.buf[:0]
}
func (b *RuneBuf) Len() int {
return len(b.buf)
}