Fix weird behavior of JumpToMatchingBrace in some ill cases (#1966)

It should not return false immediately when no matching brace is found. This makes the jump fails in certain case: `[  )I]` =/=> `[I  )]`.
When there is no brace near the cursor, the last statement is also executed. This may cause problems when chaining commands.
This commit is contained in:
worldmaker 2022-07-25 05:06:59 +08:00 committed by GitHub
parent cf98b7f824
commit 7efec130dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -9,6 +9,7 @@ import (
"strings"
"time"
shellquote "github.com/kballard/go-shellquote"
"github.com/zyedidia/micro/v2/internal/buffer"
"github.com/zyedidia/micro/v2/internal/clipboard"
@ -1267,15 +1268,12 @@ func (h *BufPane) JumpToMatchingBrace() bool {
} else {
h.Cursor.GotoLoc(matchingBrace.Move(1, h.Buf))
}
break
} else {
return false
h.Relocate()
return true
}
}
}
h.Relocate()
return true
return false
}
// SelectAll selects the entire buffer