A new release of Bash-it, with numerous changes, including many removals of legacy code, and cleanup of major parts of the project!
A lot of thanks to all of the folks who have contributed. You guys are awesome and the reason Bash-it is so great 😄
TLDR of the changes:
- Many cleanups of the code to conform to the shellcheck standard. @gaelicWizard led the charge on this mission ❤️
- A new command called
bash-it profile
, see here - Many bug fixes and code improvements
I plan on releasing versions more rapidly from now on, so stay tuned 😃
Good luck and happy bashing!
What's Changed
- Added completion for dart cli by @tbhaxor in #1852
- Import bash-completion slightly more carefully by @gaelicWizard in #1908
- Fixed defaults autocompletion. by @NoahGorny in #1913
- Don't call external
uname
when$OSTYPE
will do by @gaelicWizard in #1911 - Don't set
indent_size
when using tabs by @gaelicWizard in #1916 - defaults: Revert to old comparison by @NoahGorny in #1918
- fix update not popping back cwd by @NoahGorny in #1921
- lib/helpers: new function to set BASH_IT_HOMEBREW_PREFIX by @gaelicWizard in #1910
- Gracefully handle unbound parameters by @gaelicWizard in #1903
- Support multiple versions of Bash Completion by @gaelicWizard in #1915
- Reinstate macOS 11 job by @NoahGorny in #1939
- plugins: Fix shellcheck warnings on already linted files by @NoahGorny in #1936
- Themes: use
_save-and-reload-history()
by @gaelicWizard in #1941 - EditorConfig: set
indent_size = tab
by @gaelicWizard in #1949 - themes/base: don't invoke svn if possible by @gaelicWizard in #1909
- Delete
.shellcheckrc
by @gaelicWizard in #1947 - Use parameter substitution instead of
dirname
/basename
, where safe to do so by @gaelicWizard in #1926 - Use
$PWD
instead of$(pwd)
by @gaelicWizard in #1927 - completion: pip: Only invoke pip when trying to complete it by @NoahGorny in #1834
- Remove Executable Bit by @gaelicWizard in #1935
- Use
_command_exists
everywhere by @gaelicWizard in #1938 - aliases/vim: simplify code flow by @gaelicWizard in #1960
- plugin/ruby
shellcheck
by @gaelicWizard in #1955 - completion/laravel: simplify code flow by @gaelicWizard in #1963
- completion/wpscan: simplify code flow (whitespace) by @gaelicWizard in #1961
- plugin/percol
shellcheck
by @gaelicWizard in #1956 - plugin/less-pretty-cat improvements by @gaelicWizard in #1957
- plugin/base: improvements by @gaelicWizard in #1930
- completion/pip: simplify control flow by @gaelicWizard in #1964
- Lint: prepare
lib/utilities
forshellcheck
by @gaelicWizard in #1933 - clean up pyenv plugin by @cornfeedhobo in #1885
- lib/helpers: new function
_bash-it-find-in-ancestor()
by @gaelicWizard in #1952 - skip go tests when go is not available by @cornfeedhobo in #1967
- plugins: Add ble.sh plugin by @NoahGorny in #1884
- completion/git: improvements and linting by @gaelicWizard in #1965
- ci: Bump go to 1.17 from 1.14 by @NoahGorny in #1971
- theme/powerline: fix an oops in the last patch by @gaelicWizard in #1968
- Add history flushes on each command to the powerline themes by @ira-bv in #1883
- Fix home dir substitution by @zou000 in #1974
- lib/utilities: minor improvements by @gaelicWizard in #1973
- Fix save-and-reload-history command not found by @krapshsa in #1975
- Use
_bash-it-egrep()
by @gaelicWizard in #1976 - preexec: work around upstream mangling of
$HISTCONTROL
by @gaelicWizard in #1979 - docs: Pin docutils to 0.17.1 by @NoahGorny in #1984
- Look for branches that are literally the word main by @william-richard in #1981
- plugin: add zoxide by @ajeetdsouza in #1986
- Themes: Fix doubletime_multiline scm_prompt by @mikejamestx in #1987
- Wholesale cleanup of all history plugins by @cornfeedhobo in #1982
- plugin(dirs): remove shopt -s cdable_vars by @davidpfarrell in #1992
- "pipenv --completion" is obsoleted by @Novite5 in #1994
- Refactor completion for
defaults
command by @gaelicWizard in #1928 - Plugin/jekyll: lint and stuff by @gaelicWizard in #1969
- Themes: fix
shellcheck
(SC2154); Part A by @gaelicWizard in #1977 - Plugin/Java: quote path and provide useful error message by @gaelicWizard in #2006
- Revert most of "Fix linting errors that snuck in." by @gaelicWizard in #2000
- Fix checking whether fzf is already in PATH by @tsiflimagas in #1998
- add profile subcommand by @NoahGorny in #1865
- plugin/git-subrepo: use
$HOME
instead of~
by @gaelicWizard in #2015 - Plugin/todo: cleanup and simplify by @gaelicWizard in #2005
- Plugin/OSX: cleanup by @gaelicWizard in #2008
- Plugin/man: Add
R
to$LESS
by @gaelicWizard in #2009 - Plugin/dirs: use
$XDG_STATE_HOME
by @gaelicWizard in #2001 - feat(git): make auto squashing non-interactive by @georgettica in #1997
- theme/essential: cleanup by @gaelicWizard in #2012
- plugin/python: OS detection &
shfmt
by @gaelicWizard in #2016 - theme/powerline: fix error
scm: parameter not defined
by @NariyasuHeseri in #2021 - Bash-it completions performance improvement by @tsiflimagas in #1989
- Added alias ls='ls -F' by @noviicee in #1991
- tests: path quoting and boilerplate by @gaelicWizard in #2002
- completion/svn: import existing, remove copy by @gaelicWizard in #1953
- plugin/GIF: use
type -p
and lint by @gaelicWizard in #2014 - plugin/nginx: cleanup by @gaelicWizard in #2011
- Plugin/LaTeX: 2009 was thirteen years ago by @gaelicWizard in #2007
- completion/system: load earlier than others by @gaelicWizard in #2013
- Themes:
shellcheck
(SC2154); Part B by @gaelicWizard in #1980 - theme/atomic: lint/cleanup by @gaelicWizard in #2020
- Lib/log: linting and small improvements by @gaelicWizard in #1959
- lib/utilities: refactor
_bash-it-pluralize-component()
& other improvements by @gaelicWizard in #1999 - Create lib finalize hook by @gaelicWizard in #2004
- Update
vendor/composure
by @gaelicWizard in #2027 - plugin/proxy: lint by @gaelicWizard in #1958
- lib/helpers: fix
_command_exists()
by @gaelicWizard in #2018 - lib/helpers: lint, cleanup, & improvements by @gaelicWizard in #1934
- Update BATS by @gaelicWizard in #2030
- theme/pete:
shellcheck
&&shfmt
by @gaelicWizard in #2035 - completion/bash-it: lint and simplify by @gaelicWizard in #2029
- README: Display latest build status from default branch by @gaelicWizard in #2034
- CI: fix version of OSX runner by @gaelicWizard in #2049
- theme/norbu:
shellcheck
&&shfmt
by @gaelicWizard in #2036 - lib/theme: disable THEME_CHECK_SUDO by @gaelicWizard in #2041
- completion/dotnet: new completion by @gaelicWizard in #2042
- theme/brunton:
shellcheck
by @gaelicWizard in #2037 - Plugin/projects: cleanup by @gaelicWizard in #2010
- CI: install
parallel
on OSX by @gaelicWizard in #2040 - Consolidate
preexec
-related functions; Eliminatevendor/init.d
by @gaelicWizard in #2003 - plugin/battery:
shellcheck
by @gaelicWizard in #2064 - lib/preexec: tests! by @gaelicWizard in #2072
- fix broken reload/restart and preexec by @NoahGorny in #2066
- lib/helpers: eliminate assumptions about login shells by @gaelicWizard in #2067
- Lib/search: lint, cleanup, and small fixes by @gaelicWizard in #1932
- lib/colors: split out metaprogramming by @gaelicWizard in #2019
- lib/reloader: lint and modernize by @gaelicWizard in #2055
- helpers: fix
awk: unterminated regexp
by @NariyasuHeseri in #2075 - Glob for *.bash properly when path contains spaces by @gaelicWizard in #1902
- Feature: automatic history management by @gaelicWizard in #1940
- completion/system: correctly load version when not linked by @gaelicWizard in #2069
- lib/preview: functionalize by @gaelicWizard in #2017
- completion/aliases: eliminate use of
eval
by @gaelicWizard in #2044 - plugin/battery: bug fix by @NariyasuHeseri in #2074
- DRAFT: plugin/battery: multiple batteries by @gaelicWizard in #2076
- completion/aliases: typo by @gaelicWizard in #2089
- Remove redundant aliases for clear screen by @tbhaxor in #2083
- completion/aliases: redirection, quote, temp file by @gaelicWizard in #2091
- lib/helpers: Don't rm "$profile_path" before writing to it by @punchagan in #2092
- lib/log: //echo/printf by @gaelicWizard in #2088
- Tilde expanstion won't work once it is a quoted string, expanding in advance by @seefood in #2086
- theme/pure: cleanup by @gaelicWizard in #2068
- Aliases: lint the entire folder by @gaelicWizard in #2047
- bash_it.sh: source
reloader.bash
without arguments for the default enabling by @akinomyoga in #2096 - Update "preexec" from "https://github.com/rcaloras/bash-preexec@master" by @gaelicWizard in #2073
- lib/helpers: fixes, improvements, consolations, constellations, and a partridge in a pear tree by @gaelicWizard in #2061
- fix wrong function name call in
helpers.bash
by @souhaiebtar in #2058 - knife completion was broken, fixing by @ira-bv in #2098
New Contributors
- @gaelicWizard made their first contribution in #1908
- @krapshsa made their first contribution in #1975
- @william-richard made their first contribution in #1981
- @ajeetdsouza made their first contribution in #1986
- @mikejamestx made their first contribution in #1987
- @Novite5 made their first contribution in #1994
- @tsiflimagas made their first contribution in #1998
- @noviicee made their first contribution in #1991
- @punchagan made their first contribution in #2092
- @akinomyoga made their first contribution in #2096
- @souhaiebtar made their first contribution in #2058
Full Changelog: v2.1.4...v3.0.0