enable arrow key bindings at the session start (if enabled in config)

pull/30/head
Simon Let 6 years ago
parent 53ab420013
commit 4c7c1972e8
  1. 2
      Makefile
  2. 56
      cmd/config/main.go
  3. 2
      conf/config.toml
  4. 9
      scripts/shellrc.sh

@ -41,7 +41,7 @@ sanitize:
# #
# #
build: submodules bin/resh-session-init bin/resh-collect bin/resh-postcollect bin/resh-daemon bin/resh-evaluate bin/resh-sanitize bin/resh-control build: submodules bin/resh-session-init bin/resh-collect bin/resh-postcollect bin/resh-daemon bin/resh-evaluate bin/resh-sanitize bin/resh-control bin/resh-config
test_go: test_go:
# Running tests # Running tests

@ -0,0 +1,56 @@
package main
import (
"flag"
"fmt"
"os"
"os/user"
"path/filepath"
"github.com/BurntSushi/toml"
"github.com/curusarn/resh/pkg/cfg"
)
func main() {
usr, _ := user.Current()
dir := usr.HomeDir
configPath := filepath.Join(dir, ".config/resh.toml")
var config cfg.Config
_, err := toml.DecodeFile(configPath, &config)
if err != nil {
fmt.Println("Error reading config", err)
os.Exit(1)
}
configKey := flag.String("key", "", "Key of the requested config entry")
flag.Parse()
if *configKey == "" {
fmt.Println("Error: expected option --key!")
os.Exit(1)
}
switch *configKey {
case "BindArrowKeysBash":
fallthrough
case "bindArrowKeysBash":
printBoolNormalized(config.BindArrowKeysBash)
case "BindArrowKeysZsh":
fallthrough
case "bindArrowKeysZsh":
printBoolNormalized(config.BindArrowKeysZsh)
default:
fmt.Println("Error: illegal --key!")
os.Exit(1)
}
}
// this might be unnecessary but I'm too lazy to look it up
func printBoolNormalized(x bool) {
if x {
fmt.Println("true")
} else {
fmt.Println("false")
}
}

@ -2,5 +2,5 @@ port = 2627
sesswatchPeriodSeconds = 120 sesswatchPeriodSeconds = 120
sesshistInitHistorySize = 1000 sesshistInitHistorySize = 1000
debug = true debug = true
bindArrowKeysBash = true bindArrowKeysBash = false
bindArrowKeysZsh = true bindArrowKeysZsh = true

@ -86,5 +86,14 @@ if [ -z "${__RESH_INIT_DONE+x}" ]; then
__resh_reset_variables __resh_reset_variables
if [ "$__RESH_SHELL" = bash ] ; then
[ "$(resh-config --key BindArrowKeysBash)" = true ] && reshctl enable arrow_key_bindings
elif [ "$__RESH_SHELL" = zsh ] ; then
[ "$(resh-config --key BindArrowKeysZsh)" = true ] && reshctl enable arrow_key_bindings
else
echo "RESH error: unknown shell (init)"
echo "$__RESH_SHELL"
fi
__RESH_INIT_DONE=1 __RESH_INIT_DONE=1
fi fi

Loading…
Cancel
Save