A Fish shell-like implementation for Windows
Project description
WinFish Shell
A Fish shell-like implementation for Windows that provides modern shell features including syntax highlighting, autocompletion, and command suggestions. Compatible with Windows Terminal, ConEmu, Cmder, and other terminal emulators.
Features
- Syntax highlighting for commands
- Command history with search (Ctrl+R)
- Auto-suggestions based on history
- Tab completion for commands and paths
- Modern command prompt with Git integration
- Color support for Windows
- Built-in command handling
- Alias support with persistent storage
- Directory stack navigation (pushd/popd)
Requirements
- Python 3.7 or higher
- Windows 10/11
- A modern terminal emulator (recommended):
- Windows Terminal (recommended)
- ConEmu
- Cmder
- Alacritty
- Or any other terminal emulator with ANSI support
Installation
Via pip (recommended)
pip install winfish-shell
Via Chocolatey
choco install winfish-shell
Manual Installation
- Clone or download this repository
- Install the required dependencies:
pip install -r requirements.txt
Usage
You can start WinFish Shell in any terminal emulator:
winfish
Terminal Integration
Windows Terminal (recommended)
Add this to your Windows Terminal settings.json:
{
"profiles": {
"list": [
{
"name": "WinFish",
"commandline": "winfish",
"icon": "🐟",
"startingDirectory": "%USERPROFILE%"
}
]
}
}
ConEmu
Create a new task with the command:
cmd /k winfish
Cmder
Add a new task with:
*winfish
Available Commands
- All standard Windows commands are supported
- Built-in commands:
cd [dir]- Change directory (usecd -to go to previous directory)ls- List directory contentspwd- Print working directoryhelp- Show help messageexit- Exit the shellalias- Show or set command aliasesunalias- Remove an aliashistory- Show command historyclear- Clear screenpushd/popd/dirs- Directory stack manipulation
Keyboard Shortcuts
- Up/Down arrows: Navigate through command history
- Tab: Command and path completion
- Ctrl+R: Reverse history search
- Ctrl+C: Cancel current command
- Ctrl+D: Exit shell
- Ctrl+L: Clear screen
- Ctrl+W: Delete word before cursor
Configuration
The shell stores its configuration in the following locations:
~/.winfish/- Configuration directory~/.winfish/aliases.json- Stored command aliases~/.winfish_history- Command history
Features compared to Fish shell
- Command syntax highlighting ✓
- Command history ✓
- Directory navigation ✓
- Auto-suggestions ✓
- Tab completion ✓
- Modern prompt design ✓
- Git integration ✓
- Alias support ✓
- Directory stack ✓
Note: This is a simplified implementation focused on providing a modern command-line experience on Windows while maintaining compatibility with Windows commands.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file winfish_shell-1.0.0-py3-none-any.whl.
File metadata
- Download URL: winfish_shell-1.0.0-py3-none-any.whl
- Upload date:
- Size: 2.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7a4ebc1436ba38b7620fbebd3f6183265d68d1d02f82d36d64f02ea3c0db657
|
|
| MD5 |
56b63df735a2a43a3bd833dd48e49090
|
|
| BLAKE2b-256 |
904cdffd8d83e5f377245298a5858ec4cddc1e0dd9858ec5a12267f029111949
|