From 2e3c036102360543a4fcc8e600544e3279b19060 Mon Sep 17 00:00:00 2001 From: Doraken Date: Sat, 22 Jul 2023 00:25:47 +0200 Subject: [PATCH] add full support of stack strace --- aliases/available/ag.aliases.bash | 2 +- aliases/available/apt.aliases.bash | 4 + aliases/available/curl.aliases.bash | 4 + aliases/available/general.aliases.bash | 6 +- aliases/available/git.aliases.bash | 10 +- aliases/available/vim.aliases.bash | 4 +- completion/available/aliases.completion.bash | 4 + completion/available/bash-it.completion.bash | 8 + completion/available/bundler.completion.bash | 46 +- .../available/capistrano.completion.bash | 11 +- completion/available/composer.completion.bash | 4 + completion/available/dart.completion.bash | 11 +- completion/available/dirs.completion.bash | 11 +- .../available/dmidecode.completion.bash | 11 +- .../available/docker-compose.completion.bash | 409 ++++++++++-- completion/available/dotnet.completion.bash | 4 + completion/available/fabric.completion.bash | 12 + completion/available/gem.completion.bash | 11 +- completion/available/git_flow.completion.bash | 76 +++ .../available/git_flow_avh.completion.bash | 88 +++ completion/available/gradle.completion.bash | 52 ++ completion/available/grunt.completion.bash | 22 +- completion/available/gulp.completion.bash | 23 +- completion/available/hub.completion.bash | 73 ++- completion/available/invoke.completion.bash | 4 + completion/available/knife.completion.bash | 50 +- completion/available/laravel.completion.bash | 4 + completion/available/lerna.completion.bash | 4 + completion/available/makefile.completion.bash | 8 + completion/available/maven.completion.bash | 8 + completion/available/ngrok.completion.bash | 8 + .../available/notify-send.completion.bash | 4 + completion/available/nvm.completion.bash | 4 +- completion/available/pip.completion.bash | 8 +- completion/available/pip3.completion.bash | 8 +- completion/available/projects.completion.bash | 4 + completion/available/rake.completion.bash | 13 +- completion/available/rvm.completion.bash | 2 +- completion/available/salt.completion.bash | 28 + completion/available/sdkman.completion.bash | 44 +- completion/available/sqlmap.completion.bash | 8 + completion/available/ssh.completion.bash | 11 +- completion/available/svn.completion.bash | 4 +- completion/available/system.completion.bash | 4 +- .../available/test_kitchen.completion.bash | 22 +- completion/available/tmux.completion.bash | 58 +- completion/available/vagrant.completion.bash | 33 +- .../available/virtualbox.completion.bash | 88 ++- completion/available/vuejs.completion.bash | 11 +- completion/available/wpscan.completion.bash | 3 + hooks/check-clean-files-txt.sh | 25 +- hooks/dot-bash.sh | 2 +- hooks/dot-sh.sh | 2 +- install.sh | 48 +- lib/appearance.bash | 6 +- lib/command_duration.bash | 43 +- lib/helpers.bash | 618 +++++++++++++++--- lib/history.bash | 29 +- lib/log.bash | 38 +- lib/preexec.bash | 50 +- lib/preview.bash | 15 +- lib/search.bash | 108 ++- lib/utilities.bash | 210 +++++- plugins/available/aws.plugin.bash | 93 ++- plugins/available/base.plugin.bash | 212 ++++-- plugins/available/battery.plugin.bash | 44 +- plugins/available/browser.plugin.bash | 33 +- plugins/available/cht-sh.plugin.bash | 37 +- .../available/cmd-returned-notify.plugin.bash | 11 +- plugins/available/colors.plugin.bash | 439 +++++++++++-- plugins/available/dirs.plugin.bash | 44 +- plugins/available/docker-compose.plugin.bash | 11 +- plugins/available/docker.plugin.bash | 92 ++- plugins/available/explain.plugin.bash | 12 +- plugins/available/extract.plugin.bash | 13 +- plugins/available/fzf.plugin.bash | 22 +- plugins/available/gif.plugin.bash | 26 +- plugins/available/git.plugin.bash | 166 ++++- plugins/available/gitstatus.plugin.bash | 11 +- plugins/available/go.plugin.bash | 11 +- plugins/available/goenv.plugin.bash | 22 +- plugins/available/gradle.plugin.bash | 11 +- plugins/available/hg.plugin.bash | 33 +- plugins/available/history.plugin.bash | 11 +- plugins/available/javascript.plugin.bash | 33 +- plugins/available/jekyll.plugin.bash | 55 +- plugins/available/jgitflow.plugin.bash | 72 +- plugins/available/jump.plugin.bash | 11 +- plugins/available/less-pretty-cat.plugin.bash | 26 +- plugins/available/nginx.plugin.bash | 44 +- plugins/available/nvm.plugin.bash | 21 +- plugins/available/osx-timemachine.plugin.bash | 85 ++- plugins/available/osx.plugin.bash | 98 ++- plugins/available/pack.plugin.bash | 248 ++++++- plugins/available/percol.plugin.bash | 10 +- plugins/available/postgres.plugin.bash | 89 ++- plugins/available/projects.plugin.bash | 10 +- plugins/available/proxy.plugin.bash | 210 +++++- plugins/available/python.plugin.bash | 10 +- plugins/available/rails.plugin.bash | 10 +- plugins/available/ruby.plugin.bash | 10 +- plugins/available/rvm.plugin.bash | 44 +- plugins/available/ssh.plugin.bash | 30 +- plugins/available/sshagent.plugin.bash | 70 +- plugins/available/sudo.plugin.bash | 10 +- plugins/available/xterm.plugin.bash | 50 +- plugins/available/z_autoenv.plugin.bash | 24 +- test/bash_it/bash_it.bats | 10 +- test/completion/aliases.completion.bats | 10 +- test/completion/bash-it.completion.bats | 24 +- test/install/install.bats | 20 +- test/install/uninstall.bats | 20 +- test/lib/composure.bats | 10 +- test/lib/helpers.bats | 27 +- test/lib/log.bats | 7 +- test/lib/search.bats | 20 +- test/lib/utilities.bats | 10 +- test/plugins/base.plugin.bats | 10 +- test/plugins/battery.plugin.bats | 10 +- test/plugins/cmd-returned-notify.plugin.bats | 15 +- test/plugins/go.plugin.bats | 17 +- test/plugins/ruby.plugin.bats | 10 +- test/plugins/xterm.plugin.bats | 14 +- test/run | 2 +- test/test_helper.bash | 110 +++- test/themes/base.theme.bats | 10 +- test/themes/base.theme.git.bats | 50 +- test/themes/base.theme.svn.bats | 10 +- themes/90210/90210.theme.bash | 11 +- themes/agnoster/agnoster.theme.bash | 236 ++++++- themes/atomic/atomic.theme.bash | 248 ++++++- themes/axin/axin.theme.bash | 11 +- themes/bakke/bakke.theme.bash | 11 +- themes/barbuk/barbuk.theme.bash | 176 ++++- themes/base.theme.bash | 533 +++++++++++++-- themes/binaryanomaly/binaryanomaly.theme.bash | 67 +- themes/bira/bira.theme.bash | 11 +- themes/bobby-python/bobby-python.theme.bash | 11 +- themes/bobby/bobby.theme.bash | 22 +- themes/brainy/brainy.theme.bash | 248 ++++++- themes/brunton/brunton.theme.bash | 22 +- themes/candy/candy.theme.bash | 11 +- themes/clean/clean.theme.bash | 11 +- themes/codeword/codeword.theme.bash | 33 +- themes/cooperkid/cooperkid.theme.bash | 33 +- themes/cupcake/cupcake.theme.bash | 27 +- themes/demula/demula.theme.bash | 55 +- themes/doubletime/doubletime.theme.bash | 11 +- .../doubletime_multiline.theme.bash | 11 +- .../doubletime_multiline_pyonly.theme.bash | 11 +- themes/dulcie/dulcie.theme.bash | 33 +- themes/duru/duru.theme.bash | 33 +- themes/easy/easy.theme.bash | 11 +- themes/elixr/elixr.theme.bash | 11 +- themes/emperor/emperor.theme.bash | 33 +- themes/envy/envy.theme.bash | 11 +- themes/essential/essential.theme.bash | 77 ++- themes/font/font.theme.bash | 12 +- themes/gallifrey/gallifrey.theme.bash | 11 +- themes/githelpers.theme.bash | 207 +++++- themes/gitline/powerline.base.bash | 172 ++++- themes/hawaii50/hawaii50.theme.bash | 96 ++- themes/iterate/iterate.theme.bash | 33 +- themes/kitsune/kitsune.theme.bash | 11 +- themes/liquidprompt/liquidprompt.theme.bash | 54 +- themes/luan/luan.theme.bash | 12 +- themes/mairan/mairan.theme.bash | 66 +- themes/mbriggs/mbriggs.theme.bash | 24 +- themes/metal/metal.theme.bash | 51 +- themes/minimal/minimal.theme.bash | 12 +- themes/modern-t/modern-t.theme.bash | 24 +- themes/modern-time/modern-time.theme.bash | 36 +- themes/modern/modern.theme.bash | 36 +- themes/morris/morris.theme.bash | 12 +- themes/n0qorg/n0qorg.theme.bash | 12 +- themes/newin/newin.theme.bash | 12 +- themes/norbu/norbu.theme.bash | 19 +- themes/nwinkler/nwinkler.theme.bash | 24 +- .../nwinkler_random_colors.theme.bash | 36 +- themes/p4helpers.theme.bash | 26 +- themes/parrot/parrot.theme.bash | 36 +- themes/pete/pete.theme.bash | 12 +- .../powerline-multiline.base.bash | 52 +- .../powerline-naked/powerline-naked.base.bash | 26 +- .../powerline-plain/powerline-plain.base.bash | 26 +- themes/powerline/powerline.base.bash | 323 ++++++++- themes/powerturk/powerturk.theme.bash | 114 +++- themes/primer/primer.theme.bash | 13 +- themes/pro/pro.theme.bash | 26 +- themes/pure/pure.theme.bash | 13 +- themes/purity/purity.theme.bash | 26 +- themes/radek/radek.theme.bash | 13 +- themes/rainbowbrite/rainbowbrite.theme.bash | 13 +- themes/ramses/ramses.theme.bash | 70 +- themes/rana/rana.theme.bash | 78 ++- themes/rjorgenson/rjorgenson.theme.bash | 77 ++- themes/robbyrussell/robbyrussell.theme.bash | 26 +- themes/roderik/roderik.theme.bash | 13 +- themes/sexy/sexy.theme.bash | 59 +- themes/simple/simple.theme.bash | 13 +- themes/sirup/sirup.theme.bash | 27 +- themes/slick/slick.theme.bash | 48 +- themes/standard/standard.theme.bash | 12 +- themes/tonka/tonka.theme.bash | 48 +- themes/tonotdo/tonotdo.theme.bash | 12 +- themes/tylenol/tylenol.theme.bash | 12 +- themes/wanelo/wanelo.theme.bash | 12 +- themes/zitron/zitron.theme.bash | 11 +- themes/zork/zork.theme.bash | 57 +- .../django/extras/django_bash_completion | 26 +- .../github.com/dsifford/yarn-completion/yarn | 475 ++++++++++++-- .../github.com/erichs/composure/c_extras.sh | 82 ++- .../github.com/erichs/composure/composure.sh | 324 ++++++++- .../bash-progcomp/defaults.completion.bash | 48 +- .../bash-progcomp/defaults.completion.bats | 32 +- .../rcaloras/bash-preexec/README.md | 56 +- .../rcaloras/bash-preexec/bash-preexec.sh | 143 +++- .../bash-preexec/test/bash-preexec.bats | 133 +++- .../rparree/jboss-bash-completion/jboss5 | 42 +- .../rparree/jboss-bash-completion/jboss7 | 43 +- .../github.com/vigo/apm-bash-completion/apm | 27 +- 221 files changed, 10122 insertions(+), 1177 deletions(-) diff --git a/aliases/available/ag.aliases.bash b/aliases/available/ag.aliases.bash index 7f9af7da..9156f6d1 100644 --- a/aliases/available/ag.aliases.bash +++ b/aliases/available/ag.aliases.bash @@ -9,4 +9,4 @@ about-alias 'the silver searcher (ag) aliases' # -F (-F or --quit-if-one-screen) Auto exit if <1 screen # -X (-X or --no-init) Disable termcap init & deinit -alias ag='ag --smart-case --pager="less -MIRFX"' +alias ag=$("ag --smart-case --pager="less -MIRFX") diff --git a/aliases/available/apt.aliases.bash b/aliases/available/apt.aliases.bash index 994a1277..1c42f102 100644 --- a/aliases/available/apt.aliases.bash +++ b/aliases/available/apt.aliases.bash @@ -29,6 +29,10 @@ function _set_pkg_aliases() alias pkgfiles='dpkg --listfiles' fi + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } _set_pkg_aliases diff --git a/aliases/available/curl.aliases.bash b/aliases/available/curl.aliases.bash index 0ce2e499..7be40dca 100644 --- a/aliases/available/curl.aliases.bash +++ b/aliases/available/curl.aliases.bash @@ -24,6 +24,10 @@ function _set_pkg_aliases() # see only response headers from a get request alias clhead='curl -D - -so /dev/null' fi + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } _set_pkg_aliases diff --git a/aliases/available/general.aliases.bash b/aliases/available/general.aliases.bash index c3c952ac..c6a62be5 100644 --- a/aliases/available/general.aliases.bash +++ b/aliases/available/general.aliases.bash @@ -83,7 +83,7 @@ function catt() Function_PATH="${Function_PATH}/${Function_Name}" ###################################################### - for i in "$@"; do + for i in "${@}"; do if [[ -d "$i" ]] then ls "$i" @@ -91,6 +91,10 @@ function catt() cat "$i" fi done + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } # The Bash-it aliases were moved to the `bash-it.aliases.bash` file. The intent of this diff --git a/aliases/available/git.aliases.bash b/aliases/available/git.aliases.bash index 647fab10..91565ae2 100644 --- a/aliases/available/git.aliases.bash +++ b/aliases/available/git.aliases.bash @@ -207,7 +207,11 @@ function gdv() Function_PATH="${Function_PATH}/${Function_Name}" ###################################################### - git diff --ignore-all-space "$@" | vim -R - + git diff --ignore-all-space "${@}" | vim -R - + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } function get_default_branch() @@ -223,4 +227,8 @@ function get_default_branch() else echo master fi + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } diff --git a/aliases/available/vim.aliases.bash b/aliases/available/vim.aliases.bash index f8068764..dc0e9b13 100644 --- a/aliases/available/vim.aliases.bash +++ b/aliases/available/vim.aliases.bash @@ -10,5 +10,5 @@ alias vimh='vim -c ":h | only"' # open vim in new tab is taken from # http://stackoverflow.com/questions/936501/let-gvim-always-run-a-single-instancek -_command_exists mvim && function mvimt { command mvim --remote-tab-silent "$@" || command mvim "$@"; } -_command_exists gvim && function gvimt { command gvim --remote-tab-silent "$@" || command gvim "$@"; } +_command_exists mvim && function mvimt { command mvim --remote-tab-silent "${@}" || command mvim "${@}"; } +_command_exists gvim && function gvimt { command gvim --remote-tab-silent "${@}" || command gvim "${@}"; } diff --git a/completion/available/aliases.completion.bash b/completion/available/aliases.completion.bash index e7585717..2eb57d60 100644 --- a/completion/available/aliases.completion.bash +++ b/completion/available/aliases.completion.bash @@ -121,6 +121,10 @@ function _bash-it-component-completion-callback-on-init-aliases() done < <(alias -p) # shellcheck source=/dev/null source "$tmp_file" && command rm -f "$tmp_file" + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } _bash-it-component-completion-callback-on-init-aliases diff --git a/completion/available/bash-it.completion.bash b/completion/available/bash-it.completion.bash index 80f3de44..9bc3c49b 100644 --- a/completion/available/bash-it.completion.bash +++ b/completion/available/bash-it.completion.bash @@ -10,6 +10,10 @@ function _compreply_candidates() local IFS=$'\n' read -d '' -ra COMPREPLY < <(compgen -W "${candidates[*]}" -- "${cur}") + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } function _bash-it() @@ -100,6 +104,10 @@ function _bash-it() _compreply_candidates ;; esac + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } # Activate completion for bash-it and its common misspellings diff --git a/completion/available/bundler.completion.bash b/completion/available/bundler.completion.bash index 47a294ea..90aa266b 100644 --- a/completion/available/bundler.completion.bash +++ b/completion/available/bundler.completion.bash @@ -27,7 +27,12 @@ # To use, source this file on bash: # . completion-bundle -function __bundle() { +function __bundle() +{ + ############ STACK_TRACE_BUILDER ##################### + Function_Name="${FUNCNAME[0]}" + Function_PATH="${Function_PATH}/${Function_Name}" + ###################################################### local bundle_bin=("${_RUBY_COMMAND_PREFIX[@]}" "${1}") local cur prev _get_comp_words_by_ref -n : cur prev @@ -191,9 +196,18 @@ function __bundle() { esac fi COMPREPLY=($(compgen -W "${options[*]}" -- "$cur")) + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } -function __bundle_get_command() { +function __bundle_get_command() +{ + ############ STACK_TRACE_BUILDER ##################### + Function_Name="${FUNCNAME[0]}" + Function_PATH="${Function_PATH}/${Function_Name}" + ###################################################### local i for ((i=1; i < $COMP_CWORD; ++i)); do local arg=${COMP_WORDS[$i]} @@ -213,13 +227,22 @@ function __bundle_get_command() { return;; esac done + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } # Provides completion for Bundler group names. # # Multiple groups can be entered, separated either by spaces or by colons. # Input is read from $cur, and the result is directly written to $COMPREPLY. -function __bundle_complete_groups() { +function __bundle_complete_groups() +{ + ############ STACK_TRACE_BUILDER ##################### + Function_Name="${FUNCNAME[0]}" + Function_PATH="${Function_PATH}/${Function_Name}" + ###################################################### # Group being currently written local cur_group=${cur##*[ :]} # All groups written before @@ -239,13 +262,22 @@ function __bundle_complete_groups() { # Prepend prefix to all entries COMPREPLY=("${COMPREPLY[@]/#/$prefix}") __ltrim_colon_completions "$cur" + + ############### Stack_TRACE_BUILDER ################ + Function_PATH="$( dirname ${Function_PATH} )" + #################################################### } # __bundle_exec_ruby