...

Package edit

import "cmd/internal/edit"
Overview
Index

Overview ▾

Package edit implements buffered position-based editing of byte slices.

type Buffer

A Buffer is a queue of edits to apply to a given byte slice.

type Buffer struct {
    // contains filtered or unexported fields
}

func NewBuffer

func NewBuffer(data []byte) *Buffer

NewBuffer returns a new buffer to accumulate changes to an initial data slice. The returned buffer maintains a reference to the data, so the caller must ensure the data is not modified until after the Buffer is done being used.

func (*Buffer) Bytes

func (b *Buffer) Bytes() []byte

Bytes returns a new byte slice containing the original data with the queued edits applied.

func (*Buffer) Delete

func (b *Buffer) Delete(start, end int)

func (*Buffer) Insert

func (b *Buffer) Insert(pos int, new string)

func (*Buffer) Replace

func (b *Buffer) Replace(start, end int, new string)

func (*Buffer) String

func (b *Buffer) String() string

String returns a string containing the original data with the queued edits applied.