mirror of
https://github.com/zyedidia/micro.git
synced 2026-02-07 07:30:20 +09:00
Merge pull request #1084 from jtolds/master
home toggles between start of line and start of text
This commit is contained in:
@@ -435,7 +435,11 @@ func (v *View) StartOfLine(usePlugin bool) bool {
|
||||
|
||||
v.deselect(0)
|
||||
|
||||
v.Cursor.Start()
|
||||
if v.Cursor.X != 0 {
|
||||
v.Cursor.Start()
|
||||
} else {
|
||||
v.Cursor.StartOfText()
|
||||
}
|
||||
|
||||
if usePlugin {
|
||||
return PostActionCall("StartOfLine", v)
|
||||
|
||||
@@ -333,6 +333,18 @@ func (c *Cursor) Start() {
|
||||
c.LastVisualX = c.GetVisualX()
|
||||
}
|
||||
|
||||
// StartOfText moves the cursor to the first non-whitespace rune of
|
||||
// the line it is on
|
||||
func (c *Cursor) StartOfText() {
|
||||
c.Start()
|
||||
for IsWhitespace(c.RuneUnder(c.X)) {
|
||||
if c.X == Count(c.buf.Line(c.Y)) {
|
||||
break
|
||||
}
|
||||
c.Right()
|
||||
}
|
||||
}
|
||||
|
||||
// GetCharPosInLine gets the char position of a visual x y
|
||||
// coordinate (this is necessary because tabs are 1 char but
|
||||
// 4 visual spaces)
|
||||
|
||||
Reference in New Issue
Block a user