Merge pull request #416 from jncraton/duplicate-selection

DuplicateLine duplicates current selection if there is text selected
This commit is contained in:
Zachary Yedidia
2016-10-15 10:09:08 -04:00
committed by GitHub

View File

@@ -922,15 +922,20 @@ func (v *View) Cut(usePlugin bool) bool {
return false
}
// DuplicateLine duplicates the current line
// DuplicateLine duplicates the current line or selection
func (v *View) DuplicateLine(usePlugin bool) bool {
if usePlugin && !PreActionCall("DuplicateLine", v) {
return false
}
v.Cursor.End()
v.Buf.Insert(v.Cursor.Loc, "\n"+v.Buf.Line(v.Cursor.Y))
v.Cursor.Right()
if v.Cursor.HasSelection() {
v.Buf.Insert(v.Cursor.CurSelection[1], v.Cursor.GetSelection())
} else {
v.Cursor.End()
v.Buf.Insert(v.Cursor.Loc, "\n"+v.Buf.Line(v.Cursor.Y))
v.Cursor.Right()
}
messenger.Message("Duplicated line")
if usePlugin {