Update help command with all new features and mouse actions
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>EnhancedTerminal</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.enhanced.terminal</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>Enhanced Terminal</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>3.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>10.15</string>
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string>NSApplication</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
Binary file not shown.
26
EnhancedTerminal-Distribution/INSTALL.txt
Normal file
26
EnhancedTerminal-Distribution/INSTALL.txt
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
Enhanced Terminal v3.0 - Installation Instructions
|
||||||
|
==================================================
|
||||||
|
|
||||||
|
1. Drag EnhancedTerminal.app to your Applications folder
|
||||||
|
2. Right-click the app and select "Open" (first time only, due to macOS security)
|
||||||
|
3. Read USAGE_GUIDE.md for features and keyboard shortcuts
|
||||||
|
|
||||||
|
Features:
|
||||||
|
- Multiple tabs with session persistence
|
||||||
|
- Split panes (vertical/horizontal)
|
||||||
|
- AI command generation (OpenAI/Ollama)
|
||||||
|
- Command snippets with categories
|
||||||
|
- Command history search (fuzzy)
|
||||||
|
- Auto-suggestions from history
|
||||||
|
- Command aliases
|
||||||
|
- Multiple themes
|
||||||
|
- Copy-on-select
|
||||||
|
- Middle-click paste
|
||||||
|
- Visual bell
|
||||||
|
- Clickable URLs
|
||||||
|
- Zoom pane
|
||||||
|
- And much more!
|
||||||
|
|
||||||
|
For help, press Cmd+? or type 'help' in the terminal.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
257
EnhancedTerminal-Distribution/QUICK_REFERENCE.md
Normal file
257
EnhancedTerminal-Distribution/QUICK_REFERENCE.md
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
# Enhanced Terminal v3.0 - Quick Reference Card
|
||||||
|
|
||||||
|
## 🎯 Essential Shortcuts
|
||||||
|
|
||||||
|
| Shortcut | Feature | Description |
|
||||||
|
|----------|---------|-------------|
|
||||||
|
| `Cmd+R` | **History Search** | Fuzzy search through all commands |
|
||||||
|
| `Cmd+K` | **AI Generator** | Generate commands from descriptions |
|
||||||
|
| `Cmd+P` | **Snippets** | Quick access to saved commands |
|
||||||
|
| `Tab` | **Auto-complete** | Accept command suggestion |
|
||||||
|
| `Cmd+T` | **New Tab** | Open new terminal session |
|
||||||
|
| `Cmd+W` | **Close Tab** | Close current tab |
|
||||||
|
| `Cmd+,` | **Settings** | Configure terminal |
|
||||||
|
|
||||||
|
## 🔍 History Search (Cmd+R)
|
||||||
|
|
||||||
|
```
|
||||||
|
Press Cmd+R → Type search term → Enter to use
|
||||||
|
```
|
||||||
|
|
||||||
|
**Examples:**
|
||||||
|
- Search "docker" → finds all docker commands
|
||||||
|
- Search "git commit" → finds commit commands
|
||||||
|
- Search "find" → finds all find commands
|
||||||
|
|
||||||
|
## 💡 Auto-Suggestions
|
||||||
|
|
||||||
|
```
|
||||||
|
Start typing → Gray suggestion appears → Press Tab to accept
|
||||||
|
```
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```
|
||||||
|
$ git st█
|
||||||
|
status ← Press Tab
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🤖 AI Command Generator (Cmd+K)
|
||||||
|
|
||||||
|
**Setup Ollama (Free):**
|
||||||
|
```bash
|
||||||
|
brew install ollama
|
||||||
|
ollama pull llama3.2:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
**Use:**
|
||||||
|
```
|
||||||
|
Cmd+K → Describe task → Generate → Use Command
|
||||||
|
```
|
||||||
|
|
||||||
|
**Examples:**
|
||||||
|
- "find all PDF files larger than 10MB"
|
||||||
|
- "show disk usage sorted by size"
|
||||||
|
- "kill process on port 8080"
|
||||||
|
|
||||||
|
## 📚 Command Snippets (Cmd+P)
|
||||||
|
|
||||||
|
**Built-in Categories:**
|
||||||
|
- Files: `ls -lah`, `find`, `du -sh`
|
||||||
|
- Git: `git status`, `git log`, `git commit`
|
||||||
|
- Docker: `docker ps`, `docker images`
|
||||||
|
- Network: `lsof -ti:PORT`, `netstat`
|
||||||
|
- System: `ps aux`, `uname -a`
|
||||||
|
|
||||||
|
**Add Custom:**
|
||||||
|
```
|
||||||
|
Cmd+P → Add New → Fill details → Save
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🎨 Themes
|
||||||
|
|
||||||
|
**Available:**
|
||||||
|
- Dracula (default) - Modern dark purple
|
||||||
|
- Solarized Dark - Low contrast
|
||||||
|
- Nord - Arctic inspired
|
||||||
|
- Classic - Retro green
|
||||||
|
|
||||||
|
**Change:**
|
||||||
|
```
|
||||||
|
Cmd+, → Select theme → Apply
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📑 Multiple Tabs
|
||||||
|
|
||||||
|
```
|
||||||
|
Cmd+T → New tab
|
||||||
|
Cmd+W → Close tab
|
||||||
|
Click tab → Switch tab
|
||||||
|
```
|
||||||
|
|
||||||
|
**Each tab:**
|
||||||
|
- Independent shell session
|
||||||
|
- Own command history
|
||||||
|
- Separate working directory
|
||||||
|
|
||||||
|
## ⚙️ Settings (Cmd+,)
|
||||||
|
|
||||||
|
**Configure:**
|
||||||
|
- Theme selection
|
||||||
|
- Font size (8-72pt)
|
||||||
|
- Auto-suggestions (on/off)
|
||||||
|
- AI provider (None/OpenAI/Ollama)
|
||||||
|
- API keys and URLs
|
||||||
|
|
||||||
|
## 🔤 Font Size
|
||||||
|
|
||||||
|
```
|
||||||
|
Cmd+Plus → Increase
|
||||||
|
Cmd+Minus → Decrease
|
||||||
|
Cmd+0 → Reset to 14pt
|
||||||
|
```
|
||||||
|
|
||||||
|
## 💻 Built-in Commands
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clear # Clear screen
|
||||||
|
help # Show help
|
||||||
|
exit # Quit application
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🎓 Common Terminal Commands
|
||||||
|
|
||||||
|
### Navigation
|
||||||
|
```bash
|
||||||
|
ls # List files
|
||||||
|
ls -la # List all files with details
|
||||||
|
cd folder # Change directory
|
||||||
|
cd .. # Go up one directory
|
||||||
|
pwd # Show current directory
|
||||||
|
```
|
||||||
|
|
||||||
|
### File Operations
|
||||||
|
```bash
|
||||||
|
cat file.txt # View file
|
||||||
|
cp src dest # Copy
|
||||||
|
mv old new # Move/rename
|
||||||
|
rm file # Delete
|
||||||
|
mkdir folder # Create directory
|
||||||
|
touch file.txt # Create empty file
|
||||||
|
```
|
||||||
|
|
||||||
|
### Search & Find
|
||||||
|
```bash
|
||||||
|
find . -name "*.txt" # Find files
|
||||||
|
grep "text" file.txt # Search in file
|
||||||
|
grep -r "text" . # Search recursively
|
||||||
|
```
|
||||||
|
|
||||||
|
### System Info
|
||||||
|
```bash
|
||||||
|
date # Current date/time
|
||||||
|
whoami # Current user
|
||||||
|
df -h # Disk space
|
||||||
|
top # Process monitor
|
||||||
|
ps aux # List processes
|
||||||
|
```
|
||||||
|
|
||||||
|
### Git Commands
|
||||||
|
```bash
|
||||||
|
git status # Check status
|
||||||
|
git add . # Stage all changes
|
||||||
|
git commit -m "msg" # Commit
|
||||||
|
git push # Push to remote
|
||||||
|
git pull # Pull from remote
|
||||||
|
git log # View history
|
||||||
|
```
|
||||||
|
|
||||||
|
### Docker Commands
|
||||||
|
```bash
|
||||||
|
docker ps # List containers
|
||||||
|
docker ps -a # List all containers
|
||||||
|
docker images # List images
|
||||||
|
docker logs <id> # View logs
|
||||||
|
docker exec -it <id> sh # Enter container
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔧 Troubleshooting
|
||||||
|
|
||||||
|
### AI Not Working
|
||||||
|
```bash
|
||||||
|
# For Ollama:
|
||||||
|
ollama list # Check if running
|
||||||
|
ollama pull llama3.2 # Download model
|
||||||
|
|
||||||
|
# For OpenAI:
|
||||||
|
# Check API key in Settings (Cmd+,)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Clear History
|
||||||
|
```
|
||||||
|
Tools menu → Clear History
|
||||||
|
```
|
||||||
|
|
||||||
|
### Reset Settings
|
||||||
|
```
|
||||||
|
Cmd+, → Adjust settings → Close
|
||||||
|
```
|
||||||
|
|
||||||
|
## 💡 Pro Tips
|
||||||
|
|
||||||
|
1. **Build History**: Use the terminal regularly to build up history for better suggestions
|
||||||
|
|
||||||
|
2. **Save Complex Commands**: Turn complex commands into snippets for reuse
|
||||||
|
|
||||||
|
3. **Use AI to Learn**: Generate commands with AI to learn new techniques
|
||||||
|
|
||||||
|
4. **Organize with Tabs**: Keep different projects in separate tabs
|
||||||
|
|
||||||
|
5. **Customize Appearance**: Adjust theme and font size for comfort
|
||||||
|
|
||||||
|
6. **Combine Features**:
|
||||||
|
- Find command with Cmd+R
|
||||||
|
- Modify it
|
||||||
|
- Save as snippet with Cmd+P
|
||||||
|
|
||||||
|
## 📊 Feature Comparison
|
||||||
|
|
||||||
|
| Feature | Traditional Terminal | Enhanced Terminal |
|
||||||
|
|---------|---------------------|-------------------|
|
||||||
|
| History Search | Ctrl+R (basic) | Cmd+R (fuzzy, visual) |
|
||||||
|
| Suggestions | None | Auto-suggestions |
|
||||||
|
| Tabs | None | Built-in tabs |
|
||||||
|
| AI Help | None | AI command generation |
|
||||||
|
| Snippets | Manual aliases | Visual snippet manager |
|
||||||
|
| Themes | Limited | 4 beautiful themes |
|
||||||
|
|
||||||
|
## 🚀 Workflow Examples
|
||||||
|
|
||||||
|
### Development Workflow
|
||||||
|
```
|
||||||
|
Tab 1: Development server
|
||||||
|
Tab 2: Git operations
|
||||||
|
Tab 3: Testing
|
||||||
|
Tab 4: Logs monitoring
|
||||||
|
```
|
||||||
|
|
||||||
|
### DevOps Workflow
|
||||||
|
```
|
||||||
|
Tab 1: SSH to production
|
||||||
|
Tab 2: Docker management
|
||||||
|
Tab 3: Log analysis
|
||||||
|
Tab 4: Monitoring scripts
|
||||||
|
```
|
||||||
|
|
||||||
|
### Data Analysis Workflow
|
||||||
|
```
|
||||||
|
Tab 1: Data processing
|
||||||
|
Tab 2: Database queries
|
||||||
|
Tab 3: Script development
|
||||||
|
Tab 4: Results review
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Print this reference card for quick access!**
|
||||||
|
|
||||||
|
**Full documentation:** See USAGE_GUIDE.md and README.md
|
||||||
217
EnhancedTerminal-Distribution/README.md
Normal file
217
EnhancedTerminal-Distribution/README.md
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
# Enhanced Terminal v3.0
|
||||||
|
|
||||||
|
A feature-rich macOS terminal emulator built with Swift and Cocoa.
|
||||||
|
|
||||||
|
## ✨ New Features in v3.0
|
||||||
|
|
||||||
|
### 🔍 Command History Search (Cmd+R)
|
||||||
|
- **Fuzzy search** through your entire command history
|
||||||
|
- Search as you type with instant results
|
||||||
|
- Navigate through thousands of previous commands
|
||||||
|
- Double-click or press Enter to use a command
|
||||||
|
|
||||||
|
### 📑 Multiple Tabs (Cmd+T)
|
||||||
|
- Open multiple terminal sessions in tabs
|
||||||
|
- Easy tab switching with mouse clicks
|
||||||
|
- Each tab maintains its own shell session
|
||||||
|
- Close tabs with Cmd+W
|
||||||
|
|
||||||
|
### 💡 Auto-suggestions
|
||||||
|
- **Fish-shell style** command suggestions
|
||||||
|
- Suggestions appear as you type based on history
|
||||||
|
- Press **Tab** to accept a suggestion
|
||||||
|
- Toggle on/off in Settings
|
||||||
|
|
||||||
|
### 🎨 Enhanced Themes
|
||||||
|
- **Dracula** - Modern dark purple theme (default)
|
||||||
|
- **Solarized Dark** - Popular low-contrast theme
|
||||||
|
- **Nord** - Beautiful arctic-inspired theme
|
||||||
|
- **Classic** - Retro green-on-black terminal
|
||||||
|
|
||||||
|
### 🤖 AI Command Generation (Cmd+K)
|
||||||
|
Generate terminal commands from natural language descriptions.
|
||||||
|
|
||||||
|
**Supported AI Providers:**
|
||||||
|
- **OpenAI** (GPT-3.5-turbo) - Requires API key
|
||||||
|
- **Ollama** (Local, Free) - Requires Ollama running locally
|
||||||
|
|
||||||
|
**Examples:**
|
||||||
|
- "find all PDF files larger than 10MB"
|
||||||
|
- "show me disk usage sorted by size"
|
||||||
|
- "list all running docker containers"
|
||||||
|
|
||||||
|
### 📚 Command Snippets (Cmd+P)
|
||||||
|
Pre-configured useful commands organized by category:
|
||||||
|
- **Files**: List files, find large files, disk usage
|
||||||
|
- **Git**: Status, log, commit commands
|
||||||
|
- **Docker**: Container and image management
|
||||||
|
- **Network**: Port management, connections
|
||||||
|
- **System**: Process list, system info
|
||||||
|
- Add your own custom snippets!
|
||||||
|
|
||||||
|
### ⚙️ Better Shell Integration
|
||||||
|
- Fixed "fg: no job control" messages
|
||||||
|
- Cleaner prompt display
|
||||||
|
- Proper environment variable handling
|
||||||
|
- Better ANSI escape code filtering
|
||||||
|
|
||||||
|
## 🚀 Quick Start
|
||||||
|
|
||||||
|
### Building
|
||||||
|
```bash
|
||||||
|
./build.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
This will compile all Swift files and create `EnhancedTerminal.app`.
|
||||||
|
|
||||||
|
### Running
|
||||||
|
```bash
|
||||||
|
open EnhancedTerminal.app
|
||||||
|
```
|
||||||
|
|
||||||
|
Or double-click `EnhancedTerminal.app` in Finder.
|
||||||
|
|
||||||
|
## ⚙️ AI Setup
|
||||||
|
|
||||||
|
### Option 1: Ollama (Recommended - Free & Local)
|
||||||
|
1. Install Ollama from https://ollama.ai
|
||||||
|
2. Pull a model: `ollama pull llama3.2:latest`
|
||||||
|
3. Ollama runs automatically in the background
|
||||||
|
4. Press `Cmd+,` to open Settings
|
||||||
|
5. Select "Ollama" as AI Provider
|
||||||
|
6. Verify URL is `http://localhost:11434`
|
||||||
|
7. Set model to `llama3.2:latest`
|
||||||
|
8. Press `Cmd+K` to use AI command generation
|
||||||
|
|
||||||
|
### Option 2: OpenAI
|
||||||
|
1. Get an API key from https://platform.openai.com/api-keys
|
||||||
|
2. Press `Cmd+,` to open Settings
|
||||||
|
3. Select "OpenAI" as AI Provider
|
||||||
|
4. Enter your API key
|
||||||
|
5. Press `Cmd+K` to use AI command generation
|
||||||
|
|
||||||
|
## ⌨️ Keyboard Shortcuts
|
||||||
|
|
||||||
|
### Tabs & Navigation
|
||||||
|
- `Cmd+T` - New tab
|
||||||
|
- `Cmd+W` - Close current tab
|
||||||
|
- Click tab buttons to switch between tabs
|
||||||
|
|
||||||
|
### Search & Tools
|
||||||
|
- `Cmd+R` - Search command history (fuzzy search)
|
||||||
|
- `Cmd+K` - AI Command Generator
|
||||||
|
- `Cmd+P` - Command Snippets
|
||||||
|
- `Tab` - Accept auto-suggestion
|
||||||
|
|
||||||
|
### View
|
||||||
|
- `Cmd+Plus` - Increase font size
|
||||||
|
- `Cmd+Minus` - Decrease font size
|
||||||
|
- `Cmd+0` - Reset font size
|
||||||
|
- `Cmd+F` - Toggle fullscreen
|
||||||
|
|
||||||
|
### Settings & Help
|
||||||
|
- `Cmd+,` - Settings
|
||||||
|
- `Cmd+Q` - Quit
|
||||||
|
- Type `help` - Show help in terminal
|
||||||
|
|
||||||
|
## 💻 Built-in Commands
|
||||||
|
|
||||||
|
- `clear` - Clear the screen
|
||||||
|
- `help` - Show help and keyboard shortcuts
|
||||||
|
- `exit` - Quit the application
|
||||||
|
|
||||||
|
All standard shell commands work as expected!
|
||||||
|
|
||||||
|
## 📋 Requirements
|
||||||
|
|
||||||
|
- macOS 10.15 (Catalina) or later
|
||||||
|
- Swift compiler (comes with Xcode Command Line Tools)
|
||||||
|
- Optional: OpenAI API key or Ollama for AI features
|
||||||
|
|
||||||
|
## 📁 Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
.
|
||||||
|
├── EnhancedTerminal.app/ # Built application
|
||||||
|
├── EnhancedTerminalApp.swift # Main entry point
|
||||||
|
├── Settings.swift # Settings & theme management
|
||||||
|
├── HistoryManager.swift # Command history with fuzzy search
|
||||||
|
├── SnippetManager.swift # Command snippets library
|
||||||
|
├── AIManager.swift # AI service integration
|
||||||
|
├── TerminalSession.swift # Terminal session & auto-suggestions
|
||||||
|
├── Panels.swift # UI panels (history, snippets, AI, settings)
|
||||||
|
├── MainWindowController.swift # Main window with tabs
|
||||||
|
├── build.sh # Build script
|
||||||
|
└── README.md # This file
|
||||||
|
```
|
||||||
|
|
||||||
|
## ✅ Features Implemented
|
||||||
|
|
||||||
|
### Core Terminal
|
||||||
|
- ✅ Real zsh shell integration with proper environment
|
||||||
|
- ✅ Multiple tabs support
|
||||||
|
- ✅ Scrollable output with proper text handling
|
||||||
|
- ✅ Clean ANSI escape code filtering
|
||||||
|
- ✅ Copy/paste support
|
||||||
|
|
||||||
|
### Advanced Features
|
||||||
|
- ✅ **Command history search** with fuzzy matching (Cmd+R)
|
||||||
|
- ✅ **Auto-suggestions** based on history (Tab to accept)
|
||||||
|
- ✅ **Multiple tabs** for parallel sessions
|
||||||
|
- ✅ **AI command generation** (OpenAI & Ollama)
|
||||||
|
- ✅ **Command snippets** with categories
|
||||||
|
- ✅ **Multiple themes** (Dracula, Solarized, Nord, Classic)
|
||||||
|
- ✅ **Customizable settings** (font size, AI provider, etc.)
|
||||||
|
- ✅ **Better shell integration** (no job control errors)
|
||||||
|
|
||||||
|
### UI/UX
|
||||||
|
- ✅ Clean, modern interface
|
||||||
|
- ✅ Keyboard shortcuts for all features
|
||||||
|
- ✅ Resizable windows
|
||||||
|
- ✅ Fullscreen support
|
||||||
|
- ✅ Font size adjustment
|
||||||
|
- ✅ Theme switching
|
||||||
|
|
||||||
|
## 🔮 Future Enhancements
|
||||||
|
|
||||||
|
Potential features for future versions:
|
||||||
|
- Split panes (vertical/horizontal) - UI framework ready
|
||||||
|
- Session save/restore
|
||||||
|
- Custom key bindings
|
||||||
|
- Syntax highlighting for output
|
||||||
|
- Hyperlink support (clickable URLs)
|
||||||
|
- Image display (Sixel protocol)
|
||||||
|
- Git integration in prompt
|
||||||
|
- Performance monitoring overlay
|
||||||
|
- Notifications for long-running commands
|
||||||
|
- Command completion suggestions
|
||||||
|
- Tmux/Screen integration
|
||||||
|
|
||||||
|
## 🐛 Known Issues
|
||||||
|
|
||||||
|
- Split panes feature is planned but not yet implemented
|
||||||
|
- Some complex ANSI sequences may not render perfectly
|
||||||
|
- Very long output may cause slight performance degradation
|
||||||
|
|
||||||
|
## 🤝 Contributing
|
||||||
|
|
||||||
|
This is an open-source project. Feel free to:
|
||||||
|
- Report bugs
|
||||||
|
- Suggest features
|
||||||
|
- Submit pull requests
|
||||||
|
- Fork and modify for your needs
|
||||||
|
|
||||||
|
## 📝 License
|
||||||
|
|
||||||
|
Open source - feel free to modify and enhance!
|
||||||
|
|
||||||
|
## 🙏 Acknowledgments
|
||||||
|
|
||||||
|
- Built with Swift and Cocoa
|
||||||
|
- Inspired by iTerm2, Hyper, and other modern terminals
|
||||||
|
- AI integration powered by OpenAI and Ollama
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Enjoy your enhanced terminal experience! 🚀**
|
||||||
|
|
||||||
412
EnhancedTerminal-Distribution/USAGE_GUIDE.md
Normal file
412
EnhancedTerminal-Distribution/USAGE_GUIDE.md
Normal file
@@ -0,0 +1,412 @@
|
|||||||
|
# Enhanced Terminal v3.0 - Usage Guide
|
||||||
|
|
||||||
|
## 🎯 Quick Start
|
||||||
|
|
||||||
|
1. **Build the application:**
|
||||||
|
```bash
|
||||||
|
./build.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Launch the terminal:**
|
||||||
|
```bash
|
||||||
|
open EnhancedTerminal.app
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Start using it!** The terminal works just like your regular terminal, but with superpowers.
|
||||||
|
|
||||||
|
## 🌟 Key Features
|
||||||
|
|
||||||
|
### 1. Command History Search (Cmd+R)
|
||||||
|
|
||||||
|
The most powerful feature for productivity!
|
||||||
|
|
||||||
|
**How to use:**
|
||||||
|
1. Press `Cmd+R` to open the history search panel
|
||||||
|
2. Start typing to search through your command history
|
||||||
|
3. The search is **fuzzy** - it finds commands containing your search terms
|
||||||
|
4. Double-click a command or press Enter to use it
|
||||||
|
5. The command is inserted at your cursor position
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
- Type "docker" to find all docker-related commands
|
||||||
|
- Type "git commit" to find all git commit commands
|
||||||
|
- Type "find pdf" to find commands that searched for PDFs
|
||||||
|
|
||||||
|
**Tips:**
|
||||||
|
- History is saved between sessions
|
||||||
|
- Recent commands appear first
|
||||||
|
- Search is case-insensitive
|
||||||
|
|
||||||
|
### 2. Auto-Suggestions (Like Fish Shell)
|
||||||
|
|
||||||
|
As you type, the terminal suggests commands from your history.
|
||||||
|
|
||||||
|
**How it works:**
|
||||||
|
1. Start typing a command
|
||||||
|
2. If you've used a similar command before, it appears in gray text
|
||||||
|
3. Press `Tab` to accept the suggestion
|
||||||
|
4. Continue typing to ignore it
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```
|
||||||
|
$ git st█
|
||||||
|
status ← suggestion appears in gray
|
||||||
|
```
|
||||||
|
Press Tab to complete to `git status`
|
||||||
|
|
||||||
|
**Toggle on/off:**
|
||||||
|
- Go to Settings (Cmd+,)
|
||||||
|
- Check/uncheck "Enable Auto-suggestions"
|
||||||
|
|
||||||
|
### 3. Multiple Tabs (Cmd+T)
|
||||||
|
|
||||||
|
Run multiple terminal sessions simultaneously.
|
||||||
|
|
||||||
|
**How to use:**
|
||||||
|
- `Cmd+T` - Open a new tab
|
||||||
|
- Click tab buttons to switch between tabs
|
||||||
|
- `Cmd+W` - Close current tab
|
||||||
|
- Each tab has its own independent shell session
|
||||||
|
|
||||||
|
**Use cases:**
|
||||||
|
- Monitor logs in one tab while working in another
|
||||||
|
- Run a development server in one tab, git commands in another
|
||||||
|
- Keep different project directories in separate tabs
|
||||||
|
|
||||||
|
### 4. AI Command Generation (Cmd+K)
|
||||||
|
|
||||||
|
Generate terminal commands from natural language descriptions.
|
||||||
|
|
||||||
|
**Setup (choose one):**
|
||||||
|
|
||||||
|
**Option A: Ollama (Free, Local, Recommended)**
|
||||||
|
```bash
|
||||||
|
# Install Ollama
|
||||||
|
brew install ollama
|
||||||
|
|
||||||
|
# Pull a model
|
||||||
|
ollama pull llama3.2:latest
|
||||||
|
|
||||||
|
# Ollama runs automatically in the background
|
||||||
|
```
|
||||||
|
|
||||||
|
Then in Enhanced Terminal:
|
||||||
|
1. Press `Cmd+,` for Settings
|
||||||
|
2. Select "Ollama" as AI Provider
|
||||||
|
3. Verify URL: `http://localhost:11434`
|
||||||
|
4. Set model: `llama3.2:latest`
|
||||||
|
|
||||||
|
**Option B: OpenAI (Requires API Key)**
|
||||||
|
1. Get API key from https://platform.openai.com/api-keys
|
||||||
|
2. Press `Cmd+,` for Settings
|
||||||
|
3. Select "OpenAI" as AI Provider
|
||||||
|
4. Enter your API key
|
||||||
|
|
||||||
|
**How to use:**
|
||||||
|
1. Press `Cmd+K`
|
||||||
|
2. Describe what you want to do in plain English
|
||||||
|
3. Click "Generate" or press Enter
|
||||||
|
4. Review the generated command
|
||||||
|
5. Click "Use Command" to insert it
|
||||||
|
6. Press Enter to execute
|
||||||
|
|
||||||
|
**Examples:**
|
||||||
|
- "find all PDF files larger than 10MB"
|
||||||
|
→ `find . -type f -name "*.pdf" -size +10M`
|
||||||
|
|
||||||
|
- "show me the 10 largest files in this directory"
|
||||||
|
→ `du -ah . | sort -rh | head -10`
|
||||||
|
|
||||||
|
- "kill all processes using port 8080"
|
||||||
|
→ `lsof -ti:8080 | xargs kill -9`
|
||||||
|
|
||||||
|
- "compress all log files older than 7 days"
|
||||||
|
→ `find . -name "*.log" -mtime +7 -exec gzip {} \;`
|
||||||
|
|
||||||
|
### 5. Command Snippets (Cmd+P)
|
||||||
|
|
||||||
|
Quick access to commonly used commands.
|
||||||
|
|
||||||
|
**How to use:**
|
||||||
|
1. Press `Cmd+P`
|
||||||
|
2. Browse or search for a snippet
|
||||||
|
3. Double-click or press Enter to use it
|
||||||
|
|
||||||
|
**Built-in categories:**
|
||||||
|
- **Files**: List files, find large files, disk usage
|
||||||
|
- **Git**: Status, log, commit, branch operations
|
||||||
|
- **Docker**: Container and image management
|
||||||
|
- **Network**: Port management, network connections
|
||||||
|
- **System**: Process management, system information
|
||||||
|
|
||||||
|
**Add your own snippets:**
|
||||||
|
1. Press `Cmd+P`
|
||||||
|
2. Click "Add New"
|
||||||
|
3. Enter name, command, category, and description
|
||||||
|
4. Your snippet is saved permanently
|
||||||
|
|
||||||
|
**Example custom snippets:**
|
||||||
|
- Name: "Deploy to production"
|
||||||
|
Command: `git push origin main && ssh prod 'cd /app && ./deploy.sh'`
|
||||||
|
Category: "Deployment"
|
||||||
|
|
||||||
|
- Name: "Backup database"
|
||||||
|
Command: `pg_dump mydb > backup_$(date +%Y%m%d).sql`
|
||||||
|
Category: "Database"
|
||||||
|
|
||||||
|
### 6. Themes
|
||||||
|
|
||||||
|
Choose from 4 beautiful themes:
|
||||||
|
|
||||||
|
**Dracula (Default)**
|
||||||
|
- Modern dark purple background
|
||||||
|
- High contrast, easy on the eyes
|
||||||
|
- Popular among developers
|
||||||
|
|
||||||
|
**Solarized Dark**
|
||||||
|
- Scientifically designed color scheme
|
||||||
|
- Low contrast, reduces eye strain
|
||||||
|
- Perfect for long coding sessions
|
||||||
|
|
||||||
|
**Nord**
|
||||||
|
- Arctic-inspired color palette
|
||||||
|
- Cool, calming colors
|
||||||
|
- Great for focus
|
||||||
|
|
||||||
|
**Classic**
|
||||||
|
- Retro green-on-black terminal
|
||||||
|
- Nostalgic hacker aesthetic
|
||||||
|
- High contrast
|
||||||
|
|
||||||
|
**Change theme:**
|
||||||
|
1. Press `Cmd+,` for Settings
|
||||||
|
2. Select theme from dropdown
|
||||||
|
3. Changes apply immediately to all tabs
|
||||||
|
|
||||||
|
### 7. Font Size Adjustment
|
||||||
|
|
||||||
|
**Keyboard shortcuts:**
|
||||||
|
- `Cmd+Plus` - Increase font size
|
||||||
|
- `Cmd+Minus` - Decrease font size
|
||||||
|
- `Cmd+0` - Reset to default (14pt)
|
||||||
|
|
||||||
|
**Or in Settings:**
|
||||||
|
1. Press `Cmd+,`
|
||||||
|
2. Enter font size (8-72)
|
||||||
|
3. Changes apply to all tabs
|
||||||
|
|
||||||
|
## ⌨️ Complete Keyboard Shortcuts
|
||||||
|
|
||||||
|
### Tabs & Navigation
|
||||||
|
| Shortcut | Action |
|
||||||
|
|----------|--------|
|
||||||
|
| `Cmd+T` | New tab |
|
||||||
|
| `Cmd+W` | Close current tab |
|
||||||
|
| Click tabs | Switch between tabs |
|
||||||
|
|
||||||
|
### Search & Tools
|
||||||
|
| Shortcut | Action |
|
||||||
|
|----------|--------|
|
||||||
|
| `Cmd+R` | Search command history |
|
||||||
|
| `Cmd+K` | AI Command Generator |
|
||||||
|
| `Cmd+P` | Command Snippets |
|
||||||
|
| `Tab` | Accept auto-suggestion |
|
||||||
|
|
||||||
|
### View
|
||||||
|
| Shortcut | Action |
|
||||||
|
|----------|--------|
|
||||||
|
| `Cmd+Plus` | Increase font size |
|
||||||
|
| `Cmd+Minus` | Decrease font size |
|
||||||
|
| `Cmd+0` | Reset font size |
|
||||||
|
| `Cmd+F` | Toggle fullscreen |
|
||||||
|
|
||||||
|
### Edit
|
||||||
|
| Shortcut | Action |
|
||||||
|
|----------|--------|
|
||||||
|
| `Cmd+C` | Copy selected text |
|
||||||
|
| `Cmd+V` | Paste |
|
||||||
|
| `Cmd+A` | Select all |
|
||||||
|
|
||||||
|
### Settings & Help
|
||||||
|
| Shortcut | Action |
|
||||||
|
|----------|--------|
|
||||||
|
| `Cmd+,` | Open Settings |
|
||||||
|
| `Cmd+Q` | Quit application |
|
||||||
|
| Type `help` | Show help in terminal |
|
||||||
|
|
||||||
|
## 💡 Pro Tips
|
||||||
|
|
||||||
|
### 1. Combine Features
|
||||||
|
- Use `Cmd+R` to find a complex command you used before
|
||||||
|
- Modify it slightly for your current need
|
||||||
|
- It gets added to history for next time
|
||||||
|
|
||||||
|
### 2. Build Your Snippet Library
|
||||||
|
- Whenever you create a complex command, save it as a snippet
|
||||||
|
- Add good descriptions and tags for easy searching
|
||||||
|
- Share snippets with your team
|
||||||
|
|
||||||
|
### 3. Use AI for Learning
|
||||||
|
- Generate commands with AI
|
||||||
|
- Study the generated command to learn new techniques
|
||||||
|
- Modify and experiment with the suggestions
|
||||||
|
|
||||||
|
### 4. Organize with Tabs
|
||||||
|
- Keep one tab for each project
|
||||||
|
- Use descriptive tab names (shown in tab bar)
|
||||||
|
- Switch quickly between contexts
|
||||||
|
|
||||||
|
### 5. Customize Your Experience
|
||||||
|
- Adjust font size for your display
|
||||||
|
- Choose a theme that matches your workflow
|
||||||
|
- Enable/disable auto-suggestions based on preference
|
||||||
|
|
||||||
|
## 🔧 Troubleshooting
|
||||||
|
|
||||||
|
### AI Not Working
|
||||||
|
|
||||||
|
**Ollama:**
|
||||||
|
- Check if Ollama is running: `ollama list`
|
||||||
|
- Verify the model is downloaded: `ollama pull llama3.2:latest`
|
||||||
|
- Check the URL in Settings: should be `http://localhost:11434`
|
||||||
|
|
||||||
|
**OpenAI:**
|
||||||
|
- Verify your API key is correct
|
||||||
|
- Check you have credits in your OpenAI account
|
||||||
|
- Test the key at https://platform.openai.com/playground
|
||||||
|
|
||||||
|
### Auto-suggestions Not Appearing
|
||||||
|
- Make sure they're enabled in Settings (Cmd+,)
|
||||||
|
- You need to have command history first
|
||||||
|
- Suggestions only appear for commands you've used before
|
||||||
|
|
||||||
|
### History Search Empty
|
||||||
|
- History builds up as you use the terminal
|
||||||
|
- Try running some commands first
|
||||||
|
- History persists between sessions
|
||||||
|
|
||||||
|
### Tab Not Responding
|
||||||
|
- Each tab runs an independent shell
|
||||||
|
- If a command hangs, close the tab (Cmd+W)
|
||||||
|
- Open a new tab (Cmd+T) to continue
|
||||||
|
|
||||||
|
### Window Not Showing
|
||||||
|
- Try `Cmd+Tab` to switch to the app
|
||||||
|
- Check if it's in fullscreen mode
|
||||||
|
- Quit and restart the application
|
||||||
|
|
||||||
|
## 🎓 Learning Resources
|
||||||
|
|
||||||
|
### Getting Started with Terminal
|
||||||
|
If you're new to terminal commands:
|
||||||
|
1. Type `help` in the terminal for built-in help
|
||||||
|
2. Use AI (Cmd+K) to learn commands
|
||||||
|
3. Browse snippets (Cmd+P) to see examples
|
||||||
|
|
||||||
|
### Common Commands to Try
|
||||||
|
```bash
|
||||||
|
# Navigation
|
||||||
|
ls # List files
|
||||||
|
cd folder # Change directory
|
||||||
|
pwd # Print working directory
|
||||||
|
|
||||||
|
# File operations
|
||||||
|
cat file.txt # View file contents
|
||||||
|
cp src dest # Copy file
|
||||||
|
mv old new # Move/rename file
|
||||||
|
rm file # Delete file
|
||||||
|
|
||||||
|
# System info
|
||||||
|
date # Show date/time
|
||||||
|
whoami # Show current user
|
||||||
|
df -h # Disk space
|
||||||
|
top # Process monitor (press q to quit)
|
||||||
|
|
||||||
|
# Git basics
|
||||||
|
git status # Check repository status
|
||||||
|
git log # View commit history
|
||||||
|
git diff # See changes
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🚀 Advanced Usage
|
||||||
|
|
||||||
|
### Custom Shell Configuration
|
||||||
|
The terminal uses your existing shell configuration:
|
||||||
|
- `.zshrc` for zsh (default on macOS)
|
||||||
|
- `.bashrc` for bash
|
||||||
|
- All your aliases and functions work
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
All your environment variables are available:
|
||||||
|
```bash
|
||||||
|
echo $PATH
|
||||||
|
echo $HOME
|
||||||
|
echo $USER
|
||||||
|
```
|
||||||
|
|
||||||
|
### Piping and Redirection
|
||||||
|
Full support for Unix pipes and redirection:
|
||||||
|
```bash
|
||||||
|
ls -la | grep ".txt"
|
||||||
|
cat file.txt | wc -l
|
||||||
|
echo "hello" > output.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
### Background Jobs
|
||||||
|
Run commands in the background:
|
||||||
|
```bash
|
||||||
|
long_running_command &
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: The terminal handles job control properly, so you won't see "fg: no job control" errors.
|
||||||
|
|
||||||
|
## 📊 Performance Tips
|
||||||
|
|
||||||
|
### For Large Output
|
||||||
|
- Use `less` or `more` for large files
|
||||||
|
- Pipe to `head` or `tail` to limit output
|
||||||
|
- Clear screen regularly with `clear` or Cmd+K
|
||||||
|
|
||||||
|
### For Many Tabs
|
||||||
|
- Close unused tabs to free memory
|
||||||
|
- Each tab runs a separate shell process
|
||||||
|
- Recommended: Keep 5-10 tabs maximum
|
||||||
|
|
||||||
|
### History Management
|
||||||
|
- History is limited to 1000 commands
|
||||||
|
- Clear history if needed: Tools → Clear History
|
||||||
|
- Old commands are automatically removed
|
||||||
|
|
||||||
|
## 🎨 Customization Ideas
|
||||||
|
|
||||||
|
### Create Workflow Snippets
|
||||||
|
Save entire workflows as snippets:
|
||||||
|
```bash
|
||||||
|
# Development workflow
|
||||||
|
git pull && npm install && npm run dev
|
||||||
|
|
||||||
|
# Deployment workflow
|
||||||
|
npm run build && npm test && git push
|
||||||
|
|
||||||
|
# Backup workflow
|
||||||
|
tar -czf backup.tar.gz project/ && scp backup.tar.gz server:~/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Use AI for Complex Tasks
|
||||||
|
Let AI help with:
|
||||||
|
- Complex find commands
|
||||||
|
- Advanced git operations
|
||||||
|
- System administration tasks
|
||||||
|
- Data processing with awk/sed
|
||||||
|
|
||||||
|
### Theme Switching
|
||||||
|
Switch themes based on:
|
||||||
|
- Time of day (dark themes at night)
|
||||||
|
- Task (Classic for focused work)
|
||||||
|
- Mood (Nord for calm, Dracula for energy)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Need more help?** Type `help` in the terminal or check the README.md file.
|
||||||
|
|
||||||
|
**Enjoy your enhanced terminal experience! 🚀**
|
||||||
BIN
EnhancedTerminal-v3.0-20260131.zip
Normal file
BIN
EnhancedTerminal-v3.0-20260131.zip
Normal file
Binary file not shown.
Binary file not shown.
@@ -625,14 +625,25 @@ class TerminalSession: NSObject, NSTextViewDelegate, NSMenuDelegate {
|
|||||||
• Cmd+W - Close tab
|
• Cmd+W - Close tab
|
||||||
• Cmd+D - Split pane vertically (side-by-side)
|
• Cmd+D - Split pane vertically (side-by-side)
|
||||||
• Cmd+Shift+D - Split pane horizontally (top-bottom)
|
• Cmd+Shift+D - Split pane horizontally (top-bottom)
|
||||||
|
• Cmd+Shift+Enter - Zoom/unzoom active pane
|
||||||
• Cmd+R - Search command history (fuzzy search)
|
• Cmd+R - Search command history (fuzzy search)
|
||||||
• Cmd+K - AI command generator
|
• Cmd+K - AI command generator
|
||||||
• Cmd+P - Command snippets
|
• Cmd+P - Command snippets
|
||||||
• Cmd+, - Settings
|
• Cmd+, - Settings
|
||||||
|
• Cmd+? - Full keyboard shortcuts reference
|
||||||
• Tab - Accept auto-suggestion
|
• Tab - Accept auto-suggestion
|
||||||
|
• Up/Down - Navigate command history
|
||||||
• Cmd+Plus - Increase font size
|
• Cmd+Plus - Increase font size
|
||||||
• Cmd+Minus - Decrease font size
|
• Cmd+Minus - Decrease font size
|
||||||
|
|
||||||
|
Mouse Actions:
|
||||||
|
• Select text - Auto-copy to clipboard
|
||||||
|
• Middle-click - Paste from clipboard
|
||||||
|
• Cmd+Click URL - Open URL in browser
|
||||||
|
• Click × button - Close split pane
|
||||||
|
• Drag divider - Resize split panes
|
||||||
|
• Double-click tab - Rename tab
|
||||||
|
|
||||||
Built-in Commands:
|
Built-in Commands:
|
||||||
• clear - Clear screen
|
• clear - Clear screen
|
||||||
• help - Show this help
|
• help - Show this help
|
||||||
|
|||||||
58
package.sh
Executable file
58
package.sh
Executable file
@@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "📦 Creating distributable package..."
|
||||||
|
|
||||||
|
# Build the app
|
||||||
|
./build.sh
|
||||||
|
|
||||||
|
# Create distribution folder
|
||||||
|
DIST_DIR="EnhancedTerminal-Distribution"
|
||||||
|
rm -rf "$DIST_DIR"
|
||||||
|
mkdir -p "$DIST_DIR"
|
||||||
|
|
||||||
|
# Copy the app
|
||||||
|
cp -R EnhancedTerminal.app "$DIST_DIR/"
|
||||||
|
|
||||||
|
# Copy documentation
|
||||||
|
cp README.md "$DIST_DIR/"
|
||||||
|
cp USAGE_GUIDE.md "$DIST_DIR/"
|
||||||
|
cp QUICK_REFERENCE.md "$DIST_DIR/"
|
||||||
|
|
||||||
|
# Create a simple installer instructions
|
||||||
|
cat > "$DIST_DIR/INSTALL.txt" << 'EOF'
|
||||||
|
Enhanced Terminal v3.0 - Installation Instructions
|
||||||
|
==================================================
|
||||||
|
|
||||||
|
1. Drag EnhancedTerminal.app to your Applications folder
|
||||||
|
2. Right-click the app and select "Open" (first time only, due to macOS security)
|
||||||
|
3. Read USAGE_GUIDE.md for features and keyboard shortcuts
|
||||||
|
|
||||||
|
Features:
|
||||||
|
- Multiple tabs with session persistence
|
||||||
|
- Split panes (vertical/horizontal)
|
||||||
|
- AI command generation (OpenAI/Ollama)
|
||||||
|
- Command snippets with categories
|
||||||
|
- Command history search (fuzzy)
|
||||||
|
- Auto-suggestions from history
|
||||||
|
- Command aliases
|
||||||
|
- Multiple themes
|
||||||
|
- Copy-on-select
|
||||||
|
- Middle-click paste
|
||||||
|
- Visual bell
|
||||||
|
- Clickable URLs
|
||||||
|
- Zoom pane
|
||||||
|
- And much more!
|
||||||
|
|
||||||
|
For help, press Cmd+? or type 'help' in the terminal.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Create a ZIP archive
|
||||||
|
ZIP_NAME="EnhancedTerminal-v3.0-$(date +%Y%m%d).zip"
|
||||||
|
zip -r "$ZIP_NAME" "$DIST_DIR"
|
||||||
|
|
||||||
|
echo "✅ Package created: $ZIP_NAME"
|
||||||
|
echo ""
|
||||||
|
echo "Distribution folder: $DIST_DIR/"
|
||||||
|
echo "You can now share the ZIP file or the distribution folder."
|
||||||
Reference in New Issue
Block a user