bash: disable ble.sh history share

complete on first TAB if there's a single matching filename
with show-all-if-ambiguous on

enable history search with arrow up after starting to type a command
This commit is contained in:
teutat3s 2023-02-24 17:56:17 +01:00
parent 0e84e1ef2a
commit 32a6b9a016
Signed by: teutat3s
GPG key ID: 4FA1D3FA524F22C1
2 changed files with 16 additions and 9 deletions

View file

@ -2,6 +2,7 @@
config, config,
pkgs, pkgs,
self, self,
inputs,
... ...
}: let }: let
psCfg = config.pub-solar; psCfg = config.pub-solar;
@ -27,33 +28,36 @@ in {
eval "$(${pkgs.direnv}/bin/direnv hook bash)" eval "$(${pkgs.direnv}/bin/direnv hook bash)"
bind 'set show-all-if-ambiguous on'
# Syntax highlighting, auto suggestions, vim modes, etc. # Syntax highlighting, auto suggestions, vim modes, etc.
# https://github.com/akinomyoga/ble.sh/wiki/Manual-A1-Installation#user-content-nixpkgs # https://github.com/akinomyoga/ble.sh/wiki/Manual-A1-Installation#user-content-nixpkgs
source "$(blesh-share)" --attach=none source "$(blesh-share)" --attach=none
# ctrl + space to accept autocomplete suggestion # ctrl + space to accept autocomplete suggestion
ble-bind -m 'auto_complete' -f 'C-@' 'auto_complete/insert-on-end' ble-bind -m 'auto_complete' -f 'C-@' 'auto_complete/insert-on-end'
# Meta (Alt) + Backspace to delete a word # Meta (Alt) + Backspace to delete a word
ble-bind -m 'emacs' -f 'M-C-?' 'kill-backward-cword' ble-bind -m 'vi_imap' -f 'M-C-?' 'kill-backward-cword'
# Meta (Alt) + p to jump one word backwards # Meta (Alt) + p to jump one word backwards
ble-bind -m 'emacs' -f M-p '@nomarked backward-cword' ble-bind -m 'vi_imap' -f M-p '@nomarked backward-cword'
# Meta (Alt) + n to jump one word forwards # Meta (Alt) + n to jump one word forwards
ble-bind -m 'emacs' -f M-n '@nomarked forward-cword' ble-bind -m 'vi_imap' -f M-n '@nomarked forward-cword'
# Arrow up and Ctrl + p searches history for entered input # Arrow up and Ctrl + p searches history for entered input
ble-bind -f up 'history-search-backward hide-status:immediate-accept:empty=emulate-readline:point=end' ble-bind -m 'vi_imap' -f up 'history-search-backward hide-status:immediate-accept:empty=emulate-readline:point=end'
ble-bind -f C-p 'history-search-backward hide-status:immediate-accept:empty=emulate-readline:point=end' ble-bind -m 'vi_imap' -f C-p 'history-search-backward hide-status:immediate-accept:empty=emulate-readline:point=end'
# Arrow down and Ctrl + n searches history for entered input # Arrow down and Ctrl + n searches history for entered input
ble-bind -f down 'history-search-forward hide-status:immediate-accept:empty=emulate-readline:point=end' ble-bind -m 'vi_imap' -f down 'history-search-forward hide-status:immediate-accept:empty=emulate-readline:point=end'
ble-bind -f C-n 'history-search-forward hide-status:immediate-accept:empty=emulate-readline:point=end' ble-bind -m 'vi_imap' -f C-n 'history-search-forward hide-status:immediate-accept:empty=emulate-readline:point=end'
function my/complete-load-hook { function my/complete-load-hook {
bleopt complete_auto_delay=300 bleopt complete_auto_delay=500
} }
blehook/eval-after-load complete my/complete-load-hook blehook/eval-after-load complete my/complete-load-hook
bleopt exec_errexit_mark= bleopt exec_errexit_mark=
bleopt history_share=1
bleopt filename_ls_colors="$LS_COLORS" bleopt filename_ls_colors="$LS_COLORS"
bleopt complete_menu_style=desc-raw
# Bash vim mode keybindings # Bash vim mode keybindings
if [[ $- == *i* ]]; then # in interactive session if [[ $- == *i* ]]; then # in interactive session
set -o vi set -o vi
@ -72,6 +76,7 @@ in {
fi fi
source ${config.age.secrets.environment-secrets.path} source ${config.age.secrets.environment-secrets.path}
source ${inputs.tritonshell.packages.${pkgs.system}.triton-utils}/bin/ttp.sh
# end of .bashrc # end of .bashrc
[[ ''${BLE_VERSION-} ]] && ble-attach [[ ''${BLE_VERSION-} ]] && ble-attach

View file

@ -3,6 +3,7 @@
config, config,
pkgs, pkgs,
self, self,
inputs,
... ...
}: }:
with lib; let with lib; let
@ -61,6 +62,7 @@ in {
inherit config; inherit config;
inherit pkgs; inherit pkgs;
inherit self; inherit self;
inherit inputs;
}; };
programs.fzf = import ./fzf { programs.fzf = import ./fzf {
inherit config; inherit config;