Commit graph

2004 commits

Author SHA1 Message Date
hidekuro c4a8f446c6 git: Use update instead of foreach in alias 'gSu'
Modern `git` can use `submodule` option `update` instead of `foreach`
to achieve approximately similar outcome.

To allows call without assuming that all submodules will have default
branch as `master`, the preferred approach would be to call
`git submodule update --remote --recursive` after registering the
correct branch for submodule in `.gitmodules`:

```
git config -f .gitmodules submodule.<path>.branch <branch>
```

For more discussion, see: https://stackoverflow.com/a/33835815

Signed-off-by: Indrajit Raychaudhuri <irc@indrajit.com>
2021-05-21 13:40:49 -05:00
Indrajit Raychaudhuri a3643f124e git: Optimize scripts for git helper functions
Optimize git internal calls and adjustment git helper functions to use
more idiomatic Zsh conventions avoiding external calls.
2021-05-21 13:40:49 -05:00
Indrajit Raychaudhuri efebe3efec git: Alias and function cleanup and formatting for clarity
Changes:
- Prefer longer form of git switch for better clarity.
- Move `-S` (`--gpg-sign`) in all the alias definitions to  the end to
  allow custom keyid.
- Simplify operations in helper functions git native calls.
- Apply minor reformatting and rearranging.
2021-05-21 13:40:49 -05:00
Indrajit Raychaudhuri 9459a716bf node: Add handy aliases for 'npm'
Add standard `npm` aliases that are used frequently.
2021-05-21 13:39:23 -05:00
Indrajit Raychaudhuri 28ec39d9b2 node: Add environment variable to store 'n' cache
See: https://github.com/tj/n#installation for details.
2021-05-21 13:39:23 -05:00
Indrajit Raychaudhuri 9f37fc9841 node: Optimize completions for loading lazily on demand
Move `grunt` and `gulp` to separate completion definitions wrapping
`grunt --completion=zsh` and `gulp --completion=zsh` respectively.

Since the completions are loaded lazily on demand, they avoid the
performance overhead during Zsh initialization.

Additionally, remove `npm` completion since it is already bundled with
Zsh for quite a while.
2021-05-21 13:39:23 -05:00
Indrajit Raychaudhuri f84075b8d4 node: Prefer nodenv over nvm when available
Reverse `nodenv` vs `nvm` selection order, preferring `nodenv` instead.

For additional rationale, see: https://github.com/nodenv/nodenv/wiki/Why-nodenv%3F
2021-05-21 13:39:23 -05:00
Indrajit Raychaudhuri af46875c5e node: Revamp and optimize 'node' module
Changes:
- nodenv and nvm now honors (and prioritizes) `$XDG_CONFIG_HOME` over
  `$HOME` to lookup local nodenv/nvm installation.
- Make `nvm` loading lazy (via `--no-use` argument).
- Remove redundant NODENV_ROOT or NVM_DIR, respective script already
  set them up.
- Adhere to more idiomatic Zsh operation and minimize external command
  usage (like `sed`).
2021-05-21 13:39:23 -05:00
Indrajit Raychaudhuri c6b59f8bb1 completion: Set standard style used by 'list-colors'
Set `LS_COLORS` if not already available so that it is available as
standard style `list-colors`.

This needs to be explicitly set in completion module to ensure that the
variable is available even if 'utility' module is not loaded earlier.
2021-05-21 13:37:40 -05:00
Indrajit Raychaudhuri 515d70f639 utility: Add support for 'aria2c' in 'get' alias
`get` alias now supports `aria2c` via optional `zstyle`.

To configure `aria2c` to be used for `get`, use:
zstyle -s ':prezto:module:utility:download' helper 'aria2c'

Note that we still fall back to `curl` when the desired download helper
isn't available.
2021-05-21 13:35:51 -05:00
Indrajit Raychaudhuri 7980dd91c9 gnu-utility: Add more utility commands and rearrange
Add missing `basenc`, `egrep`, `fgrep` etc. and reformat a bit.
2021-05-21 13:33:58 -05:00
Indrajit Raychaudhuri e07fd052d7 utility: Simplify conditional block for 'make' helper
Further, remove redundant `function` clause as per Prezto convention.
2021-05-21 13:33:07 -05:00
Indrajit Raychaudhuri d3d79bbe74 utility: Use Zsh native mechanism to detect GNU 'du'
Skip additional call to `grep` and use Zsh native mechanism to detect
GNU version of `du`.

Further, Remove redundant `function` clause as per Prezto convention.
2021-05-21 13:33:07 -05:00
Indrajit Raychaudhuri 6eb4021556 utility: Remove redundant function clause in 'diff'
We don't use `function` clause in Prezto by convention.
2021-05-21 13:33:07 -05:00
Indrajit Raychaudhuri d51e5ce40f utility: Always use 'git' fallback for 'wdiff' wrapper
Use `git` fallback (if present) even when color is off and `wdiff` is
not present.

Further, remove redundant `function` clause as per Prezto convention.
2021-05-21 13:33:07 -05:00
Indrajit Raychaudhuri 6c5657be8e zprofile: Don't exit 'less' when everything fits the screen
This aligns better with default `less` behavior and allows for
'growable content' when `less` is used as a substitute for `tail`.
2021-05-21 13:31:43 -05:00
Indrajit Raychaudhuri fae5e493ec utility: Check best-fit Python version for 'http-serve'
When creating `http-serve` alias, first check if Python is actually
available. And, if available, apply the most specific version.
2021-05-21 13:30:36 -05:00
Indrajit Raychaudhuri 2368c9142b utility: Honor pre-defined COLOR settings for grep
Honor `GREP_COLOR` or `GREP_COLORS` if already defined for coloring
`grep` output.
2021-05-21 13:27:52 -05:00
Indrajit Raychaudhuri 1ff9421f7b general: Update documentation better qualifying runcom paths
Zsh and Prezto files don't always reside in `~/`. Instead, they have
a more spec compliant location (`${ZDOTDIR:-$HOME}/`). Make them
unambiguous in the documentation. Likewise, for `$GNUPGHOME`.

Further, add instruction for optionally setting up Prezto in
`$XDG_CONFIG_HOME`.

While at this, also add clarification on relative ordering of some of
the modules, apply more formatting tweaks and doc improvements.
2021-05-21 12:31:02 -05:00
Indrajit Raychaudhuri 424d4cb779 utility: Detect GNU 'ls' before applying the relevant tweaks
Detect `ls` provided by GNU Core Utilities upfront before applying
the relevant settings and aliases.

The revised logic takes the following aspects into consideration:
- `is-callable 'dircolors'` is not a sufficient test for verifying if
  the `ls` in scope is _also_ provided by GNU Core Utilities. `ls` can
  continue to be the one provided by BSD Core Utilities because of its
  precedence in `$path`.
- The `ls` in scope anyway can be either GNU Utils provided or BSD Utils
  provided depending on either `$path` precedence, soft link (via
  `ln -s`), or wrapper function (via 'gnu-utility' module).
- So instead of '_guessing_' the possible one, just detect if it is from
  GNU Utils and apply the relevant settings and aliases.
- Note that GNU prefixed `ls` (`gls`) is intentionally not honored in
  this case to avoid possible conflict/shadowing with other `gls`
  callable (can happen if 'git' module is used, for example).
  Besides, honoring `gls` would imply we honor other commands (like
  `mv`, `rm` etc.) to be consistent. We have a module 'gnu-utils'
  dedicated for that after all.
2021-05-21 11:50:18 -05:00
Indrajit Raychaudhuri b14aca307d prompt: Update async helper to 1.8.5 2021-05-12 01:32:54 -05:00
Indrajit Raychaudhuri 0628b91028 completion: Update zsh-completions submodule to 0.33.0 2021-05-06 21:23:20 -05:00
Indrajit Raychaudhuri be61026920 general: Apply submodules' path change in doc and zprezto-update
We need to accommodate cases where a submodule local path (or remote)
URL can change. Accordingly, update instruction and `zprezto-update`
function to synchronizes submodules' remote URL configuration setting
to the updated value automatically.
2021-05-05 14:13:01 -05:00
bXV0ZQ 95d223aa8a prompt: Fix git submodule path for 'pure' with actual path
WARNING: This will require synchronizing submodules' remote URL
configuration setting to the value specified in `.gitmodules` by doing:
`git submodule sync --recursive` in your Prezto location.

Signed-off-by: Indrajit Raychaudhuri <irc@indrajit.com>
2021-05-05 14:13:01 -05:00
Indrajit Raychaudhuri 742c1ea26f history: use external mv command for HISTFILE migration
This will make sure the actual external command `mv` is used instead of
wrapper function.
2021-05-05 12:21:42 -05:00
Indrajit Raychaudhuri d80e393f78 general: Reformat documentation with better formatting and wording
General purpose reformating and rewording in (a few places). This should
also make markdown linting happier.

Prefer back-ticks wherever useful and use `console` for code blocks to
be executed on terminal.

Also, update references links wherever possible (including update from
'http://' to 'https://').
2021-05-05 12:21:04 -05:00
Indrajit Raychaudhuri 8edc5e9323 environment: Simplify nested conditional block
Avoid unnecessary nesting for conditional block.
2021-05-05 12:13:02 -05:00
Indrajit Raychaudhuri d04a6ef459 rsync: Recommend Homebrew or MacPorts rsync for macOS
Bundled `rsync` is 2.6.x which is too old. Prefer 3.2.x from Homebrew
or MacPorts instead.
2021-05-05 12:03:48 -05:00
Indrajit Raychaudhuri 788aa3d158 rsync: Check for new rsync before applying newer options
The newer options for extended attributes or file-flags got reliable
only after rsync v3.1.
2021-05-05 12:03:48 -05:00
Indrajit Raychaudhuri 261d3b8224 rsync: Remove broken HFS+ specific compression flag
Remove `--protect-decmpfs` by default since hfs-compression specific
changes have been marked by upstream as broken since 3.1.3 and there is
little likelihood of that changing.
2021-05-05 11:51:25 -05:00
Indrajit Raychaudhuri 68300e6de4 node: Fixup nvm path detection for Homebrew based nvm
Prefer using `brew --prefix nvm` instead of just `brew --prefix` and
actually use the variable `nvm_prefix` once detected and set up.
2021-05-05 11:50:59 -05:00
Indrajit Raychaudhuri e87a9b0a93 completion: Add completion for keg-only brewed curl when available
As curl bundled with macOS does not include `_curl` definitions, one
way to make `_curl` available is to install curl from Homebrew.

However, since curl from Hombrew is _keg-only_, its function path needs
to be explicitly included.
2021-05-05 11:49:57 -05:00
Indrajit Raychaudhuri 509c5ca80f history: Move HISTFILE path to more conventional one
Change default `HISTFILE` path from `~/.zhistory` to more conventional
`~/.zsh_history`. This aligns better with Debian variants, macOS and
Oh My Zsh.

This would provide an easier onboarding experience to users coming to
Prezto from standard (framework free) zsh or from Oh My Zsh.

For existing Prezto users, we attempt to automatically rename old
`HISTFILE` to new one iff the old one exists and the new one doesn't.
However, if both old and new `HISTFILE` exist and the old one is more
recent, we just alert the user about what changed with a suggested way
to accommodate the change.
2021-05-02 03:35:12 -05:00
Indrajit Raychaudhuri 1d1ae0a661 homebrew: Update documentation 2021-05-02 03:34:45 -05:00
Indrajit Raychaudhuri f830065347 homebrew: Add 'brew upgrade' alias for cask
This adds alias for 'brew upgrade --cask' specifically for casks
via alias 'casku' (analogous to 'brewu').
2021-05-02 03:34:45 -05:00
Indrajit Raychaudhuri 3285b33f0c homebrew: Remove wrapper function for deprecation warning 2021-05-02 03:34:45 -05:00
Roman Omarov 9d42feac16 homebrew: cask aliases update 2021-05-02 03:34:45 -05:00
Indrajit Raychaudhuri 93556a7d5f archive: Remove unnecessary interpreter directive
These files are expected to be `source`d in and not executed standalone.
2021-05-02 03:01:32 -05:00
Indrajit Raychaudhuri 5a8bfd5bf5 helper: Update docs for OS detection helpers 2021-05-02 01:15:19 -05:00
Indrajit Raychaudhuri 8a967fc108
base: Check for 'run-help' in aliases hash before evicting
Add guard to check for presence of 'run-help' in `aliases` hash before evicting.
In some systems (like Debian) '/etc/zshrc' might have already done it.
2021-05-01 03:05:19 -05:00
Jeff Widman 63bc5061a7 Delete prompt_powerlevel9k_setup
I think this should have been removed as part of 0a07ba27a2.

Currently I'm seeing this warning after updating to `master`:
```
Couldn't read file /Users/jeffwidman/.zprezto/modules/prompt/functions/prompt_powerlevel9k_setup containing theme powerlevel9k.
```
2021-04-30 16:16:11 -07:00
Indrajit Raychaudhuri f651140f2c completion: Add note about keep zcompdump younger than cache time 2021-04-30 17:52:43 -05:00
mattmc3 6a70bdfff2 Ensure compinit updates its modified date
`compinit -i` doesn't always change zcompdump, which means that the
`compinit -C` condition fails to run until the completions change.
When we `compinit -i`, we should touch the file too to solve this.
2021-04-30 17:52:43 -05:00
Indrajit Raychaudhuri c5175145d4
prompt: Fixup ~/.zpreztorc in p9k removal warning 2021-04-30 15:24:00 -05:00
Indrajit Raychaudhuri 16ddedd1f3 command-not-found: Update docs for Homebrew
Update documentation for Homebrew to indicate that a recent version of 
Homebrew does not need to tap `command-not-found` Homebrew repository.
2021-04-30 15:19:22 -05:00
Indrajit Raychaudhuri db6cd0d668 prompt: Update 'powerlevel9k' removal warning with instruction 2021-04-30 10:54:29 -07:00
Indrajit Raychaudhuri 40cc9f52f9 command-not-found: Simplify Homebrew on macOS setup
Now that 'command-not-found' helper loading has been significantly
simplified and the startup time improved in the official Homebrew tap,
the workaround for script detection (and caching) can be removed.
2021-04-30 03:10:33 -05:00
Indrajit Raychaudhuri 8003d0c6d8 git: Autoload helper functions for 'run-help'
Now that, prezto is configured to lookup more specific 'run-help'
function, autoload the known one for git.
2021-04-30 03:09:07 -05:00
Indrajit Raychaudhuri 7222fe5fd6 utility: Autoload helper functions for 'run-help'
Now that, prezto is configured to lookup more specific 'run-help'
function, autoload the known ones for utility.
2021-04-30 03:09:07 -05:00
Indrajit Raychaudhuri 095f44796b base: Allow loading more specific 'run-help' function
Allow loading more specific 'run-help' function from $fpath. This
allows automatically looking up specific sub-command helper if
available instead of the static default ('man').

See: ccc9cff9e2/Functions/Misc/run-help (L3-L8)
2021-04-30 03:09:07 -05:00