package edit

import "cmd/internal/edit"

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

Index

Types

type Buffer

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

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

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.

Source Files

edit.go

Version
v1.24.0 (latest)
Published
Feb 10, 2025
Platform
linux/amd64
Imports
2 packages
Last checked
6 minutes ago

Tools for package owners.