1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2025-12-12 15:34:50 +08:00

Compare commits

...

3 Commits

Author SHA1 Message Date
Milos Djurica
b84df84311
Merge 76483193b4 into 72acd2ca90 2025-12-08 08:33:50 -08:00
Mohaiminus Sakib
72acd2ca90
feat(uv): add more useful aliases (#13462)
Co-authored-by: Mohaiminus Sakib <roddur093@gmail.com>
Co-authored-by: Marc Cornellà <marc@mcornella.com>
2025-12-08 16:57:50 +01:00
Milos Djurica
76483193b4 feature: add foundry's forge plugin 2025-11-03 12:43:03 +01:00
4 changed files with 101 additions and 18 deletions

36
plugins/forge/README.md Normal file
View File

@ -0,0 +1,36 @@
## Forge plugin
The Forge plugin provides completion and useful aliases for
[Foundry Forge](https://getfoundry.sh/forge/overview), a command-line tool that tests, builds, and deploys
smart contracts.
To use it, add `forge` to the plugins array of your zshrc file:
```zsh
plugins=(... forge)
```
## Aliases
| Alias | Command | Description |
| :-------- | :--------------- | :----------------------- |
| `finit` | `forge init` | Initialize a new project |
| `fb` | `forge build` | Build the project |
| `fcmp` | `forge compile` | Compile contracts |
| `ft` | `forge test` | Run tests |
| `fdoc` | `forge doc` | Generate documentation |
| `ffmt` | `forge fmt` | Format code |
| `fl` | `forge lint` | Lint code |
| `fsnap` | `forge snapshot` | Create a snapshot |
| `fcov` | `forge coverage` | Generate coverage report |
| `ftree` | `forge tree` | Show dependency tree |
| `fcl` | `forge clean` | Clean build artifacts |
| `fgeiger` | `forge geiger` | Run geiger (security) |
| `fcfg` | `forge config` | Show configuration |
| `fupd` | `forge update` | Update dependencies |
| `fbind` | `forge bind` | Generate bindings |
## Requirements
This plugin requires [Foundry](https://book.getfoundry.sh/getting-started/installation) to be installed and
the `forge` command to be available in your PATH.

View File

@ -0,0 +1,34 @@
# Foundry Forge plugin for oh-my-zsh
# Aliases for common Foundry Forge commands
alias finit='forge init'
alias fb='forge build'
alias fcmp='forge compile'
alias ft='forge test'
alias fdoc='forge doc'
alias ffmt='forge fmt'
alias fl='forge lint'
alias fsnap='forge snapshot'
alias fcov='forge coverage'
alias ftree='forge tree'
alias fcl='forge clean'
alias fgeiger='forge geiger'
alias fcfg='forge config'
alias fupd='forge update'
alias fbind='forge bind'
# COMPLETION FUNCTION
if (( ! $+commands[forge] )); then
return
fi
# If the completion file doesn't exist yet, we need to autoload it and
# bind it to `forge`. Otherwise, compinit will have already done that.
if [[ ! -f "$ZSH_CACHE_DIR/completions/_forge" ]]; then
typeset -g -A _comps
autoload -Uz _forge
_comps[forge]=_forge
fi
# Generate completion file in the background
forge completions zsh >| "$ZSH_CACHE_DIR/completions/_forge" &|

View File

@ -1,6 +1,7 @@
# uv plugin
This plugin automatically installs [uv](https://github.com/astral-sh/uv)'s completions for you, and keeps them up to date. It also adds convenient aliases for common usage.
This plugin automatically installs [uv](https://github.com/astral-sh/uv)'s completions for you,
and keeps them up to date. It also adds convenient aliases for common usage.
To use it, add `uv` to the plugins array in your zshrc file:
@ -10,20 +11,26 @@ plugins=(... uv)
## Aliases
| Alias | Command | Description |
|:----- |------------------------------------------------------------------------ |:-------------------------------------------------------------------- |
| uva | `uv add` | Add packages to the project |
| uvexp | `uv export --format requirements-txt --no-hashes --output-file requirements.txt --quiet` | Export the lock file to `requirements.txt` |
| uvl | `uv lock` | Lock the dependencies |
| uvlr | `uv lock --refresh` | Rebuild the lock file without upgrading dependencies |
| uvlu | `uv lock --upgrade` | Lock the dependencies to the newest compatible versions |
| uvp | `uv pip` | Manage pip packages |
| uvpy | `uv python` | Manage Python installs |
| uvpp | `uv python pin` | Pin the current project to use a specific Python version |
| uvr | `uv run` | Run commands within the project's environment |
| uvrm | `uv remove` | Remove packages from the project |
| uvs | `uv sync` | Sync the environment with the lock file |
| uvsr | `uv sync --refresh` | "Force" sync the environment with the lock file (ignore cache) |
| uvsu | `uv sync --upgrade` | Sync the environment, allowing upgrades and ignoring the lock file |
| uvup | `uv self update` | Update the UV tool to the latest version |
| uvv | `uv venv` | Manage virtual environments |
| Alias | Command | Description |
| :---- | ---------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- |
| uva | `uv add` | Add packages to the project |
| uvexp | `uv export --format requirements-txt --no-hashes --output-file requirements.txt --quiet` | Export the lock file to `requirements.txt` |
| uvi | `uv init` | Initialize a new project in current workspace and environment. |
| uvinw | `uv init --no-workspace` | Initialize a new project in a new workspace and environment |
| uvl | `uv lock` | Lock the dependencies |
| uvlr | `uv lock --refresh` | Rebuild the lock file without upgrading dependencies |
| uvlu | `uv lock --upgrade` | Lock the dependencies to the newest compatible versions |
| uvp | `uv pip` | Manage pip packages |
| uvpi | `uv python install` | Install a specific version of python |
| uvpl | `uv python list` | Lists all python version installed |
| uvpp | `uv python pin` | Pin the current project to use a specific Python version |
| uvpu | `uv python uninstall` | Remove a specific version of python |
| uvpy | `uv python` | Manage Python installs |
| uvr | `uv run` | Run commands within the project's environment |
| uvrm | `uv remove` | Remove packages from the project |
| uvs | `uv sync` | Sync the environment with the lock file |
| uvsr | `uv sync --refresh` | "Force" sync the environment with the lock file (ignore cache) |
| uvsu | `uv sync --upgrade` | Sync the environment, allowing upgrades and ignoring the lock file |
| uvtr | `uv tree` | Displays the full dependency tree for the current project environment |
| uvup | `uv self update` | Update the UV tool to the latest version |
| uvv | `uv venv` | Manage virtual environments |

View File

@ -7,10 +7,15 @@ alias uv="noglob uv"
alias uva='uv add'
alias uvexp='uv export --format requirements-txt --no-hashes --output-file requirements.txt --quiet'
alias uvi='uv init'
alias uvinw='uv init --no-workspace'
alias uvl='uv lock'
alias uvlr='uv lock --refresh'
alias uvlu='uv lock --upgrade'
alias uvp='uv pip'
alias uvpi='uv python install'
alias uvpl='uv python list'
alias uvpu='uv python uninstall'
alias uvpy='uv python'
alias uvpp='uv python pin'
alias uvr='uv run'
@ -18,6 +23,7 @@ alias uvrm='uv remove'
alias uvs='uv sync'
alias uvsr='uv sync --refresh'
alias uvsu='uv sync --upgrade'
alias uvtr='uv tree'
alias uvup='uv self update'
alias uvv='uv venv'