Commit Graph

3907 Commits (6b0ca17df00eaef0cacada04b5d3fbc6be03bf70)

Author SHA1 Message Date
John D Pell 2f4ed49a71 completion/bash-it: adopt `_compreply_candidates()` 2022-01-24 21:41:13 -08:00
John D Pell e1e971c0ea completion/bash-it: use `read -a` to populate `$COMPREPLY`
This allows for spaces and special characters in file names, i.e. internaltional/unicode words.
2022-01-24 21:41:13 -08:00
John D Pell 3874ad85c2 completion/bash-it: use existing functions 2022-01-24 21:41:13 -08:00
John D Pell d7695d5456 completion/bash-it: `shfmt` 2022-01-24 21:41:13 -08:00
Noah Gorny dbb3ea4736
Merge pull request #2035 from gaelicWizard/theme/pete
theme/pete: `shellcheck` && `shfmt`
2022-01-24 23:32:58 +02:00
Noah Gorny edc36795b5
Merge pull request #2030 from gaelicWizard/bats
Update BATS
2022-01-24 23:29:00 +02:00
Noah Gorny 7e54aea8c7
Merge pull request #1934 from gaelicWizard/helpers
lib/helpers: lint, cleanup, & improvements
2022-01-24 23:28:03 +02:00
Noah Gorny 4ba1ab9fd7
Merge pull request #2018 from gaelicWizard/lib/helpers-base
lib/helpers: fix `_command_exists()`
2022-01-24 23:27:05 +02:00
John D Pell 18536ed892 template: Add `$THEME_CHECK_SUDO` 2022-01-24 11:46:16 -08:00
John D Pell 21942f6275 lib/theme: disable THEME_CHECK_SUDO
Move `$THEME_CHECK_SUDO` to `lib/them`, and set it to `false` instead of `true`.
2022-01-24 11:46:16 -08:00
souhaiebtar a312e5a9b9
fix wrong function name in `helpers.bash`
when i tried to install, i got a message `_bash-it-pluralize-component` command not found; after checking `utilities.bash` the correct function name was `_bash-it-component-pluralize`
2022-01-22 12:33:33 +00:00
John D Pell a78d72eed1 plugin/projects: refactor a bit 2022-01-18 20:47:08 -08:00
John D Pell 46df804ad9 CI: fix version of OSX runner
Now that Mac OS X is "version 11", the "minor" version is no longer relevant.

Alsö, clean up the run conditions.
2022-01-18 16:36:19 -08:00
John D Pell 1ec48c8d71 plugin/projects: add to `template/bash_profile` 2022-01-18 11:08:51 -08:00
John D Pell ea2002a2e4 plugin/projects: cleanup
I'm deliberately leaving the possibility that one might `pjo` without a project name...
2022-01-18 11:08:51 -08:00
John D Pell 0f0093dd4b lib/helpers: quotes for consistency
Quote some parameter uses that don't strictly require it, but since Bash needs so many quotes everywhere else my brain worms feel better when these are quoted too.

lib/helpers: simplify some quote escapes
2022-01-18 11:06:21 -08:00
John D Pell dfc3fa4339 lib/helpers: delete `_bash-it-determine-component-status-from-path()`
Duplicate function of existing `_bash-it-component-item-is-enabled()`.
2022-01-18 11:06:21 -08:00
John D Pell 62b5297dc2 lib/utilities: autonomize `_bash-it-component-item-is-enabled()` 2022-01-18 11:06:21 -08:00
John D Pell 22b290b94f lib/helpers: simplify some functions
- add some `local` variables,
- don't subshell `_typeset_functions`,
2022-01-18 11:02:37 -08:00
John D Pell bc25810069 lib/helpers: juse use `awk`, insteado of `grep | awk` 2022-01-18 11:02:37 -08:00
John D Pell 805eab804c lib/helpers: fix profile subcommand tests 2022-01-18 11:02:37 -08:00
John D Pell 4719e43d0b lib/helpers: remove weird non-globs
Replace weird non-globs with array and loop, as suggested by `shellcheck`. Alsö, simplify several constructs to eliminate external binaries.

Alsö, see mvdan/sh issue 558

lib/helpers: unbound positional parameters
2022-01-18 11:02:37 -08:00
John D Pell 251e23a3fa lib/helpers: use `awk` to count lines instead of piping to `wc -l`
Co-authored-by: Kostas Giapis <45879751+tsiflimagas@users.noreply.github.com>
2022-01-18 11:02:37 -08:00
John D Pell 317ff77810 lib/helpers: be extra careful with word splitting
Use curly braces when `$1` is unseparated from words in a string.
2022-01-18 11:02:37 -08:00
John D Pell 550f808884 lib/helpers: fix `_bash-it-describe()`
Use `_bash-it-component-item-is-enabled()`

Fix SC2295
2022-01-18 11:02:37 -08:00
John D Pell 4c473853e9 lib/helpers: cleanup
- Improve `pushd`/`popd` somewhat
- local some parameters
- Lose weird Mac-specific alternate shell startup file (Bash loads startup files on Mac the same as it does on any other *nix system.)
2022-01-18 11:02:37 -08:00
John D Pell 003b0ce802 lib/helpers: `shfmt`
My apologies to future `git blame` hunters ♥
2022-01-18 11:02:36 -08:00
John D Pell 6ed006a167 lib/helpers: second `shellcheck` pass
lib/helpers: lint `_bash-it-migrate()`

lib/helpers: lint `_disable-thing()`

lib/helpers: lint `_enable-thing()`

lib/helpers: lint `_help-list-aliases()`

lib/helpers: lint `_help-plugins()`

lib/helpers: some SC2034 fixes

And SC2154 in `_make_reload_alias()`

lib/helpers: lint `all_groups()`
2022-01-18 11:02:21 -08:00
John D Pell 5eab3bd288 lib/helpers: first `shellcheck` pass
Quote things, SC2268, SC2143, SC2181, SC2162, SC2016, SC2013, &c.

Rewrite globbing per `shellcheck`’s SC2013, and alsö s/typeset/local/g. Eliminate `compgen` where possible.

Alsö: use the existing utility functions `_bash-it-get-component-type-from-path` and `_bash-it-get-component-name-from-path`, which just use parameter substitution anyway. Why was `sed` here?

Alsö, don't add not-existing directories to `$PATH` in `pathmunge()`.

Finally, merge PR #1865 from NoahGorny...and clean it a bit...
2022-01-18 11:02:21 -08:00
John D Pell 9b51dc0b5f lib/helpers: fix `_command_exists()`
The weird subshell is weird AF. Just do a normal `if`.

Ditto `_binary_exists()`, `_completion_exists()`, and `_is_function()`!
2022-01-18 11:02:10 -08:00
John D Pell 180fb93df8 lib/helpers: fix `all_groups()`
- Don't write to disk, just pipe.
- Don't loop, just do all functions.

Performance of old implementation on my system:
```
real    0m9.996s
user    0m5.318s
sys     0m9.126s
```

Performance of new implementation on my system:
```
real    0m0.052s
user    0m0.069s
sys     0m0.025s
```
2022-01-18 11:02:10 -08:00
Noah Gorny 973a1f9b40
Merge pull request #1958 from gaelicWizard/plugin-proxy
plugin/proxy: lint
2022-01-18 19:42:32 +02:00
Noah Gorny e116288b83
Merge pull request #2027 from gaelicWizard/lib/composure
Update `vendor/composure`
2022-01-18 19:40:41 +02:00
Noah Gorny fd35094463
Merge pull request #2004 from gaelicWizard/finalize
Create lib finalize hook
2022-01-18 19:40:05 +02:00
Noah Gorny 8d5d9073ce
Merge pull request #1999 from gaelicWizard/utilities
lib/utilities: refactor `_bash-it-pluralize-component()` & other improvements
2022-01-18 19:39:45 +02:00
Noah Gorny bdf9a2bca3
Merge pull request #1959 from gaelicWizard/log
Lib/log: linting and small improvements
2022-01-18 19:39:24 +02:00
John D Pell 77c5f8eda9 completion/dotnet: modernize
and `shfmt`
2022-01-12 22:39:49 -08:00
John D Pell 1a48bcc852 completion/dotnet: new completion
See: https://docs.microsoft.com/en-us/dotnet/core/tools/enable-tab-autocomplete#bash
2022-01-12 22:20:25 -08:00
John D Pell 27ebc585be theme/brunton: SC2154
Handle all unbound parameters, even colors!
2022-01-12 13:38:10 -08:00
John D Pell 8e8fe69db4 theme/pete: `shellcheck` && `shfmt` 2022-01-12 13:29:40 -08:00
John D Pell 9291b46b15 test_lib: update BATS to latest tag(s)
And fix any failing tests.
2022-01-10 00:27:39 -08:00
John D Pell d4b4995e2a Update "composure" from "https://github.com/erichs/composure@master"
git-vendor-name: composure
git-vendor-dir: vendor/github.com/erichs/composure
git-vendor-repository: https://github.com/erichs/composure
git-vendor-ref: master
2022-01-09 00:54:30 -08:00
John D Pell 7430a06ec2 lib/utilities: Use variable indirection
Don't use `local -n var` so that we can support v3.2...

Note: function names and variable names are different namespaces, so we can have a variable named the same as the function...which makes it really easy to predict default names for results when returning this way.
2022-01-09 00:53:39 -08:00
John D Pell 2b5e531396 lib/utilities: update `_bash-it-component-cache-file()`
Match idiom of `_bash-it-component-singularize()`
2022-01-09 00:53:39 -08:00
John D Pell 4f700dfb3b lib/utilities: rewrite _bash-it-component-pluralize
Fix up and rename `_bash-it-pluralize-component()` to `_bash-it-component-pluralize()`, and add matching function `_bash-it-component-singularize()`.
2022-01-09 00:53:39 -08:00
John D Pell c3eaa606de lib/utilities: fix `_bash-it-component-help()` for long component names
Alsö, minor tweak to `_bash-it-array-contains-element()` for clarity.

This fixes Bash-It/bash-it#1978.
2022-01-09 00:53:39 -08:00
John D Pell e3bd30f98d lib/utilities: autonomize `_bash-it-component-item-is-enabled()`
Make `_bash-it-component-item-is-enabled()` operate *without* using `_bash-it-component-help()`...so it's now *much* faster.
2022-01-09 00:53:39 -08:00
John D Pell e71ea4ad02 lib/log: function `_bash-it-log-prefix-by-path()`
...to replace `_set-prefix-based-on-path()` in `scripts/reloader`.

Deliberately does not use `_bash-it-get-component-name-from-path()`/`_bash-it-get-component-type-from-path()` as we need some of the intermediate state and would have to reimplement anyway.
2022-01-09 00:49:44 -08:00
John D Pell 6dec28b5df lib/log: rename `_log_general()`
...to `_bash-it-log-message()`.

alsö, add common log levels with common names.
2022-01-09 00:49:44 -08:00
John D Pell b772e6ace7 lib/log: `shellcheck` && `shfmt`
Alsö, fix tests to load `lib/colors` instead of `lib/appearance`...wut

Alsö, `short-circuit _has_colors()`: If we already looked up colors, and we already have them, then don't run `tput` again.

My apologies to future `git blame` hunters ♥
2022-01-09 00:49:44 -08:00