Fix problem with search and replace indices

Closes #637
This commit is contained in:
Zachary Yedidia 2017-04-27 20:10:51 -04:00
parent b8debb5404
commit ab24523bff

View File

@ -565,23 +565,25 @@ func Replace(args []string) {
}
}
} else {
var deltas []Delta
// 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)
// deltas = append(deltas, Delta{replace, from, to})
view.Buf.Replace(from, to, replace)
found++
} else {
break
}
}
}
view.Buf.MultipleReplace(deltas)
// view.Buf.MultipleReplace(deltas)
}
view.Cursor.Relocate()