A sleek, customizable theme for the GoSH terminal, inspired by the popular Oh My Zsh framework.
- 🎨 Beautiful Themes: Choose from a variety of carefully crafted color schemes
- ⚡ Performance Focused: Minimal impact on terminal startup time
- 🔌 Plugin System: Extend functionality with community plugins
- 💻 Cross-Platform: Works on macOS, Linux, and Windows
- 🚀 Smart Autocompletion: Context-aware suggestions for commands and arguments
- 📊 Informative Prompt: Shows git status, command execution time, and more
- GoSH terminal installed
- Git
go install github.com/itsjustabavaar/oh-my-gosh@latest
Or clone the repository manually:
git clone https://github.com/itsjustabavaar/oh-my-gosh.git ~/.oh-my-gosh
cd ~/.oh-my-gosh
./install.sh
Add the following to your ~/.goshrc
file:
import "github.com/itsjustabavaar/oh-my-gosh"
func init() {
// Choose your theme
ohmygosh.SetTheme("monokai")
// Enable plugins
ohmygosh.LoadPlugin("git")
ohmygosh.LoadPlugin("golang")
}
monokai
- Dark theme with vibrant colorsnord
- Cool, bluish dark themesolarized-dark
- Dark theme with distinct colorssolarized-light
- Light theme with distinct colorstokyo-night
- Dark blue theme inspired by Tokyo at night
To preview themes:
oh-my-gosh theme preview
- git - Git integration and status indicators
- golang - Go development environment enhancements
- docker - Docker container and image management shortcuts
- node - NodeJS version and package information
- python - Python virtual environment and package tools
Place custom plugins in ~/.oh-my-gosh/plugins/
:
cp my-custom-plugin.go ~/.oh-my-gosh/plugins/
Then load them in your configuration:
ohmygosh.LoadPlugin("my-custom-plugin")
Create your own prompt segments by implementing the PromptSegment
interface:
type MyCustomSegment struct{}
func (s *MyCustomSegment) Content() string {
return "⚡"
}
func (s *MyCustomSegment) Foreground() string {
return "#ffff00"
}
func (s *MyCustomSegment) Background() string {
return "#000000"
}
// Add to your prompt
ohmygosh.AddSegment(&MyCustomSegment{})
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.