This commit is contained in:
Milos Djurica 2025-12-01 22:23:24 -03:00 committed by GitHub
commit 1908500fd5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 70 additions and 0 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" &|