summaryrefslogtreecommitdiff
path: root/.local/src/blesh/contrib/prompt-vim-mode.bash
diff options
context:
space:
mode:
Diffstat (limited to '.local/src/blesh/contrib/prompt-vim-mode.bash')
-rw-r--r--.local/src/blesh/contrib/prompt-vim-mode.bash20
1 files changed, 20 insertions, 0 deletions
diff --git a/.local/src/blesh/contrib/prompt-vim-mode.bash b/.local/src/blesh/contrib/prompt-vim-mode.bash
new file mode 100644
index 0000000..f1574f3
--- /dev/null
+++ b/.local/src/blesh/contrib/prompt-vim-mode.bash
@@ -0,0 +1,20 @@
+# ble/contrib/prompt-vim-mode.bash (C) 2020-2021, akinomyoga
+
+# \q{contrib/vim-mode} (Prompt escape sequence)
+#
+# Example:
+#
+# ble-import contrib/prompt-vim-mode
+# PS1='[\u@\h \W]\q{contrib/vim-mode}\$ '
+# bleopt keymap_vi_mode_show:=
+#
+
+function ble/prompt/backslash:contrib/vim-mode {
+ local mode; ble/keymap:vi/script/get-mode
+ case $mode in
+ ([iR]*) ble/prompt/print '(ins)' ;;
+ (*n) ble/prompt/print '(cmd)' ;;
+ (*x) ble/prompt/print '(vis)' ;;
+ (*s) ble/prompt/print '(sel)' ;;
+ esac
+}