summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2015-05-22 00:02:14 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2015-05-22 00:02:14 +0900
commit4e0e492427a6517a9311546da10a4e4b91d883e5 (patch)
treeea7a022b9915fb3637f42ff3b05d1313e31712df
parent8f99f8fcc638e97d61747e173eefc3b4f11f2443 (diff)
Minor refactoring
-rw-r--r--src/options.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/options.go b/src/options.go
index 97efaa7c..15317495 100644
--- a/src/options.go
+++ b/src/options.go
@@ -295,17 +295,20 @@ func parseTheme(str string) *curses.ColorTheme {
func parseKeymap(keymap map[int]actionType, toggleSort bool, str string) (map[int]actionType, bool) {
for _, pairStr := range strings.Split(str, ",") {
+ fail := func() {
+ errorExit("invalid key binding: " + pairStr)
+ }
pair := strings.Split(pairStr, ":")
if len(pair) != 2 {
- errorExit("invalid key binding: " + pairStr)
+ fail()
}
keys := parseKeyChords(pair[0], "key name required")
if len(keys) != 1 {
- errorExit("invalid key binding: " + pairStr)
+ fail()
}
key := keys[0]
act := strings.ToLower(pair[1])
- switch strings.ToLower(pair[1]) {
+ switch act {
case "beginning-of-line":
keymap[key] = actBeginningOfLine
case "abort":