// If no file is given, it opens an empty buffer in a new split
func VSplit(args []string) {
if len(args) == 0 {
- CurView().VSplit(NewBuffer(strings.NewReader(""), ""))
+ CurView().VSplit(NewBufferFromString("", ""))
} else {
filename := args[0]
home, _ := homedir.Dir()
var buf *Buffer
if err != nil {
// File does not exist -- create an empty buffer with that name
- buf = NewBuffer(strings.NewReader(""), filename)
+ buf = NewBufferFromString("", filename)
} else {
- buf = NewBuffer(file, filename)
+ buf = NewBuffer(file, FSize(file), filename)
}
CurView().VSplit(buf)
}
// If no file is given, it opens an empty buffer in a new split
func HSplit(args []string) {
if len(args) == 0 {
- CurView().HSplit(NewBuffer(strings.NewReader(""), ""))
+ CurView().HSplit(NewBufferFromString("", ""))
} else {
filename := args[0]
home, _ := homedir.Dir()
var buf *Buffer
if err != nil {
// File does not exist -- create an empty buffer with that name
- buf = NewBuffer(strings.NewReader(""), filename)
+ buf = NewBufferFromString("", filename)
} else {
- buf = NewBuffer(file, filename)
+ buf = NewBuffer(file, FSize(file), filename)
}
CurView().HSplit(buf)
}
var buf *Buffer
if err != nil {
- buf = NewBuffer(strings.NewReader(""), filename)
+ buf = NewBufferFromString("", filename)
} else {
- buf = NewBuffer(file, filename)
+ buf = NewBuffer(file, FSize(file), filename)
}
tab := NewTabFromView(NewView(buf))
}
}
} else {
+ // var deltas []Delta
for i := 0; i < view.Buf.LinesNum(); i++ {
// view.Buf.lines[i].data = regex.ReplaceAll(view.Buf.lines[i].data, []byte(replace))
- matches := regex.FindAllIndex(view.Buf.lines[i].data, -1)
+ for {
+ m := regex.FindIndex(view.Buf.lines[i].data)
- if matches != nil && len(matches) > 0 {
- for _, m := range matches {
+ if m != nil {
from := Loc{m[0], i}
to := Loc{m[1], i}
+ // deltas = append(deltas, Delta{replace, from, to})
view.Buf.Replace(from, to, replace)
found++
+ } else {
+ break
}
}
}
+ // view.Buf.MultipleReplace(deltas)
}
view.Cursor.Relocate()