Commit Graph

558 Commits (363827a3b5e27b389e0d835d7876dd1f3bde25eb)

Author SHA1 Message Date
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
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 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 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
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 3cb5f3f7e6 plugin/battery: `shellcheck` 2022-01-25 23:54:24 -08:00
John D Pell a78d72eed1 plugin/projects: refactor a bit 2022-01-18 20:47:08 -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 6e480d7a8a plugin/proxy: `shellcheck` && `shfmt`
plugins/proxy: use `_command_exists()`

Alsö, quote variables, handle unbound parameters, &c.
2022-01-09 00:40:49 -08:00
Noah Gorny 1fd601db7f
Merge pull request #2007 from gaelicWizard/plugin-latex
Plugin/LaTeX: 2009 was thirteen years ago
2022-01-09 01:11:41 +02:00
Noah Gorny 21e7c1f00c
Merge pull request #2011 from gaelicWizard/plugin-nginx
plugin/nginx: cleanup
2022-01-09 01:11:06 +02:00
John D Pell 079652e6e7 plugin/nginx: cleanup
Dont overwrite user-set variable, and quote path. Local some variables, `shellcheck`, `shfmt`
2022-01-08 08:44:05 -08:00
John D Pell 2fe9e01051 plugins/latex: 2009 was 12 years ago
Locate the currently installed edition, instead of transpoting us back to undergrad.
2022-01-08 08:43:32 -08:00
John D Pell ce22710e00 plugin/gif: `shfmt`
My apologies to future `git blame` hunters ♥
2022-01-08 08:43:17 -08:00
John D Pell b1b08de626 plugins/gif: use `type -p` 2022-01-08 08:43:00 -08:00
Noah Gorny 931f27ee3e
Merge pull request #2016 from gaelicWizard/plugin/python
plugin/python: OS detection & `shfmt`
2022-01-07 08:50:07 +02:00
Noah Gorny c060eb46ea
Merge pull request #2001 from gaelicWizard/plugin-dirs
Plugin/dirs: use `$XDG_STATE_HOME`
2022-01-07 08:42:24 +02:00
Noah Gorny dba610cdc8
Merge pull request #2009 from gaelicWizard/plugin-man
Plugin/man: Add `R` to `$LESS`
2022-01-07 08:41:41 +02:00
Noah Gorny 5d68fca7e5
Merge pull request #2008 from gaelicWizard/plugin-osx
Plugin/OSX: cleanup
2022-01-07 08:41:17 +02:00
Noah Gorny 48a1ff7fb4
Merge pull request #2005 from gaelicWizard/plugin-todo
Plugin/todo: cleanup and simplify
2022-01-07 08:40:52 +02:00
Noah Gorny 682b51c195
Merge pull request #2015 from gaelicWizard/plugin/git-subrepo
plugin/git-subrepo: use `$HOME` instead of `~`
2022-01-07 08:31:49 +02:00
John D Pell 139baedf5d plugin/python: Pyton 2 is dead; Long Live Python 3! 2022-01-05 13:29:35 -08:00
Noah Gorny f0abc3fbc4
Merge pull request #1998 from tsiflimagas/fzf-plugin
Fix checking whether fzf is already in PATH
2022-01-03 13:33:14 +02:00
John D Pell 29216c0fd4 plugin/python: `shfmt`
My apologies to future `git blame` hunters ♥
2022-01-01 23:00:48 -08:00
John D Pell dd911f1256 plugins/python: code style improvements
Use shell functionality to avoid invoking external binaries, and quote some stuff. Alsö, use $EDITOR and related variables in order to fall through if some aren't defined.
2022-01-01 23:00:48 -08:00
John D Pell c030f2108b plugin/git-subrepo: `shellcheck` 2022-01-01 22:48:01 -08:00
John D Pell a99b597217 plugin/git-subrepo: use `$HOME` instead of `~`
If the outer variable is double-quoted, then the default expansion when undefined does not get tilde-expanded. Use `$HOME`.
2022-01-01 22:32:03 -08:00
John D Pell d6bcedfa96 plugin/base: rewrite `t()` function to use `todo.sh`
Move the test for whether `plugin/todo` is enabled inside the function, and remove the alias from there.

Alsö, respect `$XDG_STATE_HOME` and move the old `~/.t` file if it exists.
2022-01-01 17:50:55 -08:00
John D Pell 02b57a83ef plugins/todo: lint
plugin/base: use `_bash-it-component-item-is-enabled()`
2022-01-01 17:50:55 -08:00
John D Pell 45aeb86c21 plugin/osx-timemachine: abuse `$SUDO_COMMAND`
Use `$SUDO_COMMAND` as a back-channel to `ssh-askpass` to set a reasonable title if it pops up.
2022-01-01 17:50:22 -08:00
John D Pell 03653fc141 plugins/osx-timemachine: `shellcheck` && `shfmt`
Use bash functionality rather than external binaries. Alsö, if $SUDO_ASKPASS is set then pass -A to sudo.
2022-01-01 17:50:22 -08:00
John D Pell caa0d48c60 plugin/osx: move `$OSTYPE` check to top of file 2022-01-01 17:50:22 -08:00
John D Pell db9027989d plugin/osx: remove `dock-switch()`
...it hasn't worked in *years*
2022-01-01 17:50:22 -08:00
John D Pell 75aabd5d20 plugin/osx: `shellcheck` && `shfmt`
plugins/osx: dead code removal

No need for gymnastics to determine if variable had been exported priort to modification. If it was, then it still is. See man bash(1).
2022-01-01 17:50:22 -08:00
John D Pell dc5c9e107c plugin/man: simplify
Don't overwrite variables that the user has already set.

plugins/man: unbound `$LESS`
2022-01-01 17:49:45 -08:00
John D Pell 290aab4efe plugins/man: Add "R" to `$LESS`
Otherwise, `-R` must be added on the command line or colors just won't be rendered and these variables will be ignored.
2022-01-01 17:49:45 -08:00
John D Pell 8b308df939 plugin/dirs: use `$BASH_IT_DIRS_BKS.new` instead of `~/.dirs1` 2022-01-01 17:49:15 -08:00
John D Pell 71b4f3c1bc plugin/dirs: `shfmt` && `shellcheck` 2022-01-01 17:49:15 -08:00
John D Pell d8e7b173b5 plugins/dirs: use XDG_STATE_HOME
Locate the bookmarks file in $XDG_STATE_HOME, and migrate an existing file from the old location if it exists.
2022-01-01 17:49:15 -08:00
Noah Gorny 2e51e92699
Merge pull request #2000 from gaelicWizard/lint
Revert most of "Fix linting errors that snuck in."
2022-01-01 23:01:09 +02:00
Noah Gorny 2dd4426a7c
Merge branch 'master' into plugin-java 2022-01-01 22:53:18 +02:00
John D Pell 33df3a2bcd plugin/java: show message on missing *or* blank 2021-12-30 22:35:34 -08:00
John D Pell f03a89836e plugins/java: quote path && `shfmt`
Provides an error message if no file is specified.
2021-12-30 20:25:19 -08:00