refactor all history modifications into discrete plugins

pull/1764/head
cornfeedhobo 2021-01-04 19:37:34 -06:00
parent 5e667ed476
commit 61f727fb96
No known key found for this signature in database
GPG Key ID: 724357093F994B26
5 changed files with 34 additions and 20 deletions

View File

@ -24,6 +24,12 @@ hooks
.gitattributes .gitattributes
lint_clean_files.sh lint_clean_files.sh
# plugins
#
plugins/available/history.plugin.bash
plugins/available/history-search.plugin.bash
plugins/available/history-substring-search.plugin.bash
# themes # themes
# #
themes/agnoster themes/agnoster

View File

@ -1,12 +0,0 @@
#!/usr/bin/env bash
# Bash History Handling
shopt -s histappend # append to bash_history if Terminal.app quits
export HISTCONTROL=${HISTCONTROL:-ignorespace:erasedups} # erase duplicates; alternative option: export HISTCONTROL=ignoredups
export HISTSIZE=${HISTSIZE:-5000} # resize history size
export AUTOFEATURE=${AUTOFEATURE:-true autotest} # Cucumber / Autotest integration
function rh {
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
}

View File

@ -0,0 +1,9 @@
cite about-plugin
about-plugin 'search history using the prefix already entered'
# enter a few characters and press UpArrow/DownArrow
# to search backwards/forwards through the history
if [[ ${SHELLOPTS} =~ (vi|emacs) ]]; then
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'
fi

View File

@ -0,0 +1,9 @@
cite about-plugin
about-plugin 'search history using the substring already entered'
# enter a few characters and press UpArrow/DownArrow
# to search backwards/forwards through the history
if [[ ${SHELLOPTS} =~ (vi|emacs) ]]; then
bind '"\e[A":history-substring-search-backward'
bind '"\e[B":history-substring-search-forward'
fi

View File

@ -1,9 +1,11 @@
cite about-plugin cite about-plugin
about-plugin 'history manipulation' about-plugin 'improve history handling with sane defaults'
# enter a few characters and press UpArrow/DownArrow
# to search backwards/forwards through the history # append to bash_history if Terminal.app quits
if [[ ${SHELLOPTS} =~ (vi|emacs) ]] shopt -s histappend
then
bind '"":history-search-backward' # erase duplicates; alternative option: export HISTCONTROL=ignoredups
bind '"":history-search-forward' export HISTCONTROL=${HISTCONTROL:-ignorespace:erasedups}
fi
# resize history to 100x the default (500)
export HISTSIZE=${HISTSIZE:-50000}