Commit Graph

3782 Commits (5748aa20a7bda68a4627caa08480f19a2c1fde1e)

Author SHA1 Message Date
John D Pell 5748aa20a7 alias/docker: `shellcheck` 2022-02-14 15:40:56 -08:00
John D Pell 7c2c2a5525 aliases: run `shfmt` on the whole folder
My apologies to future `git blame` hunters ♥
2022-02-14 15:40:56 -08:00
Noah Gorny 0619c19f65
Merge pull request #2074 from NariyasuHeseri/master
plugin/battery: bug fix
2022-02-14 08:22:33 +02:00
Noah Gorny 561e282585
Merge pull request #2044 from gaelicWizard/completion/alias
completion/aliases: eliminate use of `eval`
2022-02-13 23:59:35 +02:00
Noah Gorny 89c9504a5e
Merge pull request #2017 from gaelicWizard/lib/preview
lib/preview: functionalize
2022-02-13 23:59:06 +02:00
Noah Gorny ee135d28da
Merge pull request #2069 from gaelicWizard/completion/system
completion/system: correctly load version when not linked
2022-02-13 23:57:35 +02:00
Noah Gorny 253004a599
Merge pull request #1940 from gaelicWizard/history
Feature: automatic history management
2022-02-13 23:57:14 +02:00
Noah Gorny 23f9b7416a
Merge pull request #1902 from gaelicWizard/glob
Glob for *.bash properly when path contains spaces
2022-02-13 23:53:57 +02:00
John D Pell 146107926e main: variable name cleanup 2022-02-10 10:46:33 -08:00
John D Pell 5d5858058e lib/history: new functions `_bash-it-history-auto-*()`
Two new functions `_bash-it-history-auto-save()` and `_bash-it-history-auto-load()`, which append new history to disk and load new history from disk, respectively.

See bash-it/bash-it#1595 for discussion.
2022-02-08 16:59:29 -08:00
John D Pell f6119567e8 plugin/history*search: no need to load after `plugin/history`
There's no need for these plugins to load after `plugin/history`. None of the history plugins depend upon each other loading before, after, or at all.
2022-02-08 16:59:29 -08:00
John D Pell 267a721ac6 plugin/history-eternal: Use `readonly` instead of `export`
...and hide errors relating to setting already-readonly variables.

`plugin/history-eternal` does not need to force loading after `plugin/history` because both plugins will play nicely with read-only variables, and since we're overwritting and marking read-only then the intended result survives no matter which loads first.

plugin/history-eternal: require Bash v4.3+

Unlimited history is only possible in _Bash_ version 4.3 and up
2022-02-08 16:59:29 -08:00
John D Pell 8052911861 plugin/history: don't use `export`
...so the plugin is friendly to variables already marked read-only.
2022-02-08 16:59:29 -08:00
John D Pell 00e3955dd3 lib/preview: add full completion 2022-02-07 15:27:03 -08:00
John D Pell a9a40a3cad lib/helpers: add `preview` to `bash-it` spaghetti 2022-02-07 15:27:03 -08:00
John D Pell d6555f369a lib/preview: refactor into a function
This allows future use like `bash-it preview`. Alsö, allows to use `$BASH_PREVIEW` to specify a particular theme to preview instead of just doing all of them.
2022-02-07 15:27:03 -08:00
John D Pell 1480cdfa34 completion/system: correctly load version when not linked
- Load the correct version of `bash-completion` even when not "linked".
2022-02-07 15:15:46 -08:00
John D Pell bc95eceb10 main: adopt `_bash-it-log-prefix-by-path()` 2022-02-06 16:59:03 -08:00
John D Pell 0d346b204f main: Glob for *.bash properly when path contains spaces
- `shfmt`, `shellcheck`
- Clean up legacy/compatibility code to simpler control flow
- Move theme stuff down to where themes are handled
- Don't use `**` as _Bash It_ has never before set `globstar`; this eliminates varying behavior by environment; this alsö fixes users having any not-enabled themes under their custom dir.
- Lose weird Mac-specific alternate shell startup file (Bash loads startup files on Mac the same as it does on any other *nix system.)
- Place `composure.sh` init all in one place
- remove 10-years-deprecated backwards compatibility: Deprecated in `b59ee658f78ec6ff8c6c2754216e0322b7fe18e2` dated 2011-10-29.
2022-02-06 16:59:03 -08:00
Noah Gorny 4dbe92e38d
Merge pull request #2075 from NariyasuHeseri/awk_unterminated_regexp
helpers: fix `awk: unterminated regexp`
2022-02-04 11:52:21 +02:00
John D Pell 43df0fe130 completion/aliases: rename init function
Use the callback naming convention for the init function, for later use.
2022-02-03 22:49:39 -08:00
John D Pell 302bae9c5f test/battery: require matching battery identifier 2022-02-03 16:47:17 -08:00
John D Pell 23f7916a4d test/battery: add multiple-battery edge case 2022-02-03 10:45:27 -08:00
John D Pell cade0a1e7a plugin/battery: split `upower` to two variables 2022-02-03 10:45:27 -08:00
Nariyasu Heseri 1e77c26c00 helpers: fix `awk: unterminated regexp` 2022-01-31 23:54:14 +09:00
John D Pell 880488ec9a completion/alias: add stub file
- put a loader to remove the symlink at `enabled/***---alias-completion.plugin.bash`.
2022-01-30 16:13:54 -08:00
John D Pell b0862899d7 completion/alias: fix tests 2022-01-30 16:13:54 -08:00
John D Pell 7fcad6ed0d completion/alias: rename
There is no reason for this to be in the `plugins` directory, it just needs to have a load priority sufficiently high that it runs after any aliases are defined.
2022-01-30 16:13:54 -08:00
John D Pell d214621d39 completion/alias: `shfmt` && `shellcheck` 2022-01-30 16:13:54 -08:00
John D Pell b0f23d8e98 completion/alias: eliminate use of `eval` 2022-01-30 16:13:54 -08:00
Noah Gorny 578c702ca3
Merge pull request #2055 from gaelicWizard/lib/reloader
lib/reloader: lint and modernize
2022-01-30 00:10:32 +02:00
Noah Gorny 2a9ee7e344
Merge pull request #2019 from gaelicWizard/lib/colors
lib/colors: split out metaprogramming
2022-01-30 00:10:14 +02:00
Noah Gorny 39e5652ee5
Merge pull request #1932 from gaelicWizard/search
Lib/search: lint, cleanup, and small fixes
2022-01-30 00:09:49 +02:00
Noah Gorny 1d6f4d747b
Merge pull request #2067 from gaelicWizard/BASH_IT_BASHRC
lib/helpers: eliminate assumptions about login shells
2022-01-29 22:42:21 +02:00
Nariyasu Heseri c794f4f0e7 plugin/battery: use `--max-count` of `grep` instead of `head` 2022-01-29 15:50:36 +09:00
John D Pell 26b402e254 lib/reloader: unset "${!_bash_it_reloader_@}" 2022-01-28 13:58:00 -08:00
John D Pell 4cf2aae36e lib/search: code cleanup
Improve `_bash-it-erase-term()`, `_bash-it-flash-term()`, `_bash-it-rewind()`, `_bash-it-search-result()`, and `_bash-it-search-component()`. Minor tweaks to `_bash-it-is-partial-match()`, and `_bash-it-search()`.
2022-01-28 13:35:17 -08:00
John D Pell b8694ee140 lib/search: `shfmt`
My apologies to future `git blame` hunters ♥
2022-01-28 13:35:17 -08:00
John D Pell 8939e943c5 lib/search: fix usage statement `_bash-it-search()`
SC2154
2022-01-28 13:35:17 -08:00
John D Pell 64efe52394 lib/search: fix `_bash-it-flash-term()`
1. `$text_black` isn't a parameter provided by _Bash It_. Typo?
2. `$bold_yellow` is meant for prompt strings and putputs `\[`; ditto `$bold_red`.
3. The color was never returned to normal after.
2022-01-28 13:35:17 -08:00
John D Pell afeb4d6e11 lib/search: `shellcheck`
SC2076
SC2091
SC2004
SC2086
SC2207
2022-01-28 13:35:17 -08:00
John D Pell 5478617a89 lib/search: code style cleanup
Couldn't even `shellcheck` until I did a first pass...too much noise! ♥
2022-01-28 13:35:17 -08:00
John D Pell 85a77f1e46 lib/colors: Separate metaprogramming 2022-01-28 13:09:53 -08:00
John D Pell bf4ddf5951 plugin/colors: `shfmt` 2022-01-28 13:09:00 -08:00
John D Pell 399f0265aa plugin/colors: revert #699
This reverts commit 2a3fde2b14 but does *not* restore the previous variables. Those are still provided by `lib/colors`.

This plugin exists for anyone who likes the metaprogramming adventure of computing colors dynamically rather than using hard-coded value. Potentially this could be used by themes, or possibly by a theme color-scheme randomizer?
2022-01-28 13:09:00 -08:00
John D Pell 5f19de8d51 plugin/colors: rename `theme/colors` 2022-01-28 13:09:00 -08:00
John D Pell 16cee1956d lib/colors: revert #99
This reverts bash-it/bash-it#99, a metaprogramming adventure in terminal color code escape computation. It was functionally reverted in bash-it/bash-it#699; I'm just finishing the job.
2022-01-28 13:08:50 -08:00
John D Pell 2a8d8ba540 lib/colors: rename `theme/colors` 2022-01-28 13:08:50 -08:00
Nariyasu Heseri b87f3067b5 plugin/battery: bug fix
When `upower --enumerate | grep -i BAT` returns multiple lines of results (which are file paths),
the added quotation (from commit 3cb5f3f7e6) concatenates them all to provide an invalid path.
Thus to make the plugin work as before the commit,
take only the first line of the results.
2022-01-29 03:30:35 +09:00
John D Pell fd7b20b8d7 reloader: `shellcheck` && `shfmt`
Rewrite globbing per `shellcheck`'s SC2013 recommendations, and standardize whitespace.
2022-01-28 03:59:45 -08:00