func moveDotDown(ed *Editor) { eol := strutil.FindFirstEOL(ed.line[ed.dot:]) + ed.dot if eol == len(ed.line) { ed.flash() } nextSOL := eol + 1 nextEOL := strutil.FindFirstEOL(ed.line[nextSOL:]) + nextSOL sol := strutil.FindLastSOL(ed.line[:ed.dot]) width := WcWidths(ed.line[sol:ed.dot]) ed.dot = nextSOL + len(TrimWcWidth(ed.line[nextSOL:nextEOL], width)) }
func moveDotDown(ed *Editor, k Key) *leReturn { eol := strutil.FindFirstEOL(ed.line[ed.dot:]) + ed.dot if eol == len(ed.line) { ed.beep() return nil } nextSOL := eol + 1 nextEOL := strutil.FindFirstEOL(ed.line[nextSOL:]) + nextSOL sol := strutil.FindLastSOL(ed.line[:ed.dot]) width := WcWidths(ed.line[sol:ed.dot]) ed.dot = nextSOL + len(TrimWcWidth(ed.line[nextSOL:nextEOL], width)) return nil }
func killLineRight(ed *Editor) { eol := strutil.FindFirstEOL(ed.line[ed.dot:]) + ed.dot ed.line = ed.line[:ed.dot] + ed.line[eol:] }
func moveDotEOL(ed *Editor) { eol := strutil.FindFirstEOL(ed.line[ed.dot:]) + ed.dot ed.dot = eol }
func killLineRight(ed *Editor, k Key) *leReturn { eol := strutil.FindFirstEOL(ed.line[ed.dot:]) + ed.dot ed.line = ed.line[:ed.dot] + ed.line[eol:] return nil }