internal/lsp/file_change.go (29 lines of code) (raw):
package lsp
import (
"github.com/Azure/azapi-lsp/internal/filesystem"
lsp "github.com/Azure/azapi-lsp/internal/protocol"
)
type contentChange struct {
text string
rng *filesystem.Range
}
func ContentChange(chEvent lsp.TextDocumentContentChangeEvent) filesystem.DocumentChange {
return &contentChange{
text: chEvent.Text,
rng: lspRangeToFsRange(chEvent.Range),
}
}
func DocumentChanges(events []lsp.TextDocumentContentChangeEvent, f File) (filesystem.DocumentChanges, error) {
changes := make(filesystem.DocumentChanges, len(events))
for i, event := range events {
ch := ContentChange(event)
changes[i] = ch
}
return changes, nil
}
func (fc *contentChange) Text() string {
return fc.text
}
func (fc *contentChange) Range() *filesystem.Range {
return fc.rng
}