Metadata-Version: 2.2
Name: winfish-shell
Version: 1.0.0
Summary: A Fish shell-like implementation for Windows
Home-page: https://github.com/yourusername/winfish-shell
Author: Your Name
Author-email: your.email@example.com
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Win32 (MS Windows)
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: System :: Shells
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: prompt_toolkit>=3.0.36
Requires-Dist: colorama>=0.4.6
Requires-Dist: pygments>=2.15.0
Requires-Dist: wcwidth>=0.2.6
Requires-Dist: psutil>=5.9.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# 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)

```bash
pip install winfish-shell
```

### Via Chocolatey

```powershell
choco install winfish-shell
```

### Manual Installation

1. Clone or download this repository
2. Install the required dependencies:

```bash
pip install -r requirements.txt
```

## Usage

You can start WinFish Shell in any terminal emulator:

```bash
winfish
```

### Terminal Integration

#### Windows Terminal (recommended)

Add this to your Windows Terminal settings.json:

```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 (use `cd -` to go to previous directory)
  - `ls` - List directory contents
  - `pwd` - Print working directory
  - `help` - Show help message
  - `exit` - Exit the shell
  - `alias` - Show or set command aliases
  - `unalias` - Remove an alias
  - `history` - Show command history
  - `clear` - Clear screen
  - `pushd/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.
