aboutsummaryrefslogtreecommitdiff
path: root/config/zsh/plugins/magic-enter.zsh
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2020-12-23 23:40:35 +0530
committerAkshay Nair <phenax5@gmail.com>2020-12-23 23:40:35 +0530
commit66adff9257c0bdcf5fea357cf4afd9c5804ac9d9 (patch)
tree92b9941ed1b211594446c69e1c1a4d57240f1a0e /config/zsh/plugins/magic-enter.zsh
parentc69a505caac996f78b7b010dcc563672cb5a6019 (diff)
downloadnixos-config-66adff9257c0bdcf5fea357cf4afd9c5804ac9d9.tar.gz
nixos-config-66adff9257c0bdcf5fea357cf4afd9c5804ac9d9.zip
Moves zsh config to config and symlinked
Diffstat (limited to 'config/zsh/plugins/magic-enter.zsh')
-rw-r--r--config/zsh/plugins/magic-enter.zsh29
1 files changed, 29 insertions, 0 deletions
diff --git a/config/zsh/plugins/magic-enter.zsh b/config/zsh/plugins/magic-enter.zsh
new file mode 100644
index 0000000..5d50316
--- /dev/null
+++ b/config/zsh/plugins/magic-enter.zsh
@@ -0,0 +1,29 @@
+# Bind quick stuff to enter!
+#
+# Pressing enter in a git directory runs `git status`
+# in other directories `ls`
+magic-enter () {
+ # If commands are not already set, use the defaults
+ [ -z "$MAGIC_ENTER_GIT_COMMAND" ] && MAGIC_ENTER_GIT_COMMAND="git status -u ."
+ [ -z "$MAGIC_ENTER_OTHER_COMMAND" ] && MAGIC_ENTER_OTHER_COMMAND="ls -lh ."
+
+ if [[ -z $BUFFER ]]; then
+ echo ""
+ if git rev-parse --is-inside-work-tree &>/dev/null; then
+ eval "$MAGIC_ENTER_GIT_COMMAND"
+ else
+ eval "$MAGIC_ENTER_OTHER_COMMAND"
+ fi
+ zle redisplay
+ else
+ zle accept-line
+ fi
+}
+
+zle -N magic-enter
+
+bindkey "^M" magic-enter
+
+# Auto correct typos
+#setopt CORRECT
+#setopt CORRECT_ALL