Introduce IndentLine action

Closes #1476
This commit is contained in:
Zachary Yedidia
2020-02-12 13:30:24 -05:00
parent 7b5bc8fe37
commit 12c286f9b1
5 changed files with 23 additions and 5 deletions

View File

@@ -566,6 +566,20 @@ func (h *BufPane) IndentSelection() bool {
return false
}
// IndentLine moves the current line forward one indentation
func (h *BufPane) IndentLine() bool {
if h.Cursor.HasSelection() {
return false
}
tabsize := int(h.Buf.Settings["tabsize"].(float64))
indentstr := h.Buf.IndentString(tabsize)
h.Buf.Insert(buffer.Loc{X: 0, Y: h.Cursor.Y}, indentstr)
h.Buf.RelocateCursors()
h.Relocate()
return true
}
// OutdentLine moves the current line back one indentation
func (h *BufPane) OutdentLine() bool {
if h.Cursor.HasSelection() {

View File

@@ -559,6 +559,7 @@ var BufKeyActions = map[string]BufKeyAction{
"Autocomplete": (*BufPane).Autocomplete,
"CycleAutocompleteBack": (*BufPane).CycleAutocompleteBack,
"OutdentLine": (*BufPane).OutdentLine,
"IndentLine": (*BufPane).IndentLine,
"Paste": (*BufPane).Paste,
"PastePrimary": (*BufPane).PastePrimary,
"SelectAll": (*BufPane).SelectAll,
@@ -664,6 +665,7 @@ var MultiActions = map[string]bool{
"IndentSelection": true,
"OutdentSelection": true,
"OutdentLine": true,
"IndentLine": true,
"Paste": true,
"PastePrimary": true,
"SelectPageUp": true,

File diff suppressed because one or more lines are too long