Metadata-Version: 2.4
Name: vii
Version: 0.1.0a2
Summary: vii - A terminal-based file browser that opens files in your editor
Author: Jeffrey 'Alex' Clark
License: MIT
Requires-Python: >=3.10
Requires-Dist: rich>=13.0.0
Requires-Dist: textual>=0.50.0
Provides-Extra: dev
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Requires-Dist: textual-dev>=1.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# vii

[![CI/CD](https://github.com/aclark4life/vii/actions/workflows/workflow.yml/badge.svg)](https://github.com/aclark4life/vii/actions/workflows/workflow.yml)

A terminal-based file browser that opens selected files in your preferred editor.

## Features

- 🗂️ Interactive file browser using Textual's DirectoryTree
- 🚀 Opens files in your preferred editor (VS Code, Sublime, Vim, etc.)
- ⌨️ Keyboard-driven interface
- 🎨 Clean, terminal-based UI

## Installation

```bash
pipx install vii
```

## Usage

Run vii from any directory:

```bash
vii
```

Or specify a directory to browse:

```bash
vii /path/to/project
```

## Keyboard Shortcuts

Vi-style navigation (arrow keys also work):

- `j/k` - Navigate down/up
- `h/l` - Collapse/expand directories
- `g` - Jump to top
- `G` - Jump to bottom
- `Enter` - Open selected file in editor
- `q` - Quit
- `Ctrl+C` - Quit

## Editor Detection

vii automatically detects your preferred editor by checking:
1. `$VISUAL` environment variable
2. `$EDITOR` environment variable
3. Common editors: `code`, `subl`, `atom`, `vim`, `nvim`, `nano`
4. Falls back to `open` (macOS default)

### Editor Behavior

- **GUI Editors** (VS Code, Sublime, etc.): Opens in the background while vii continues running
- **Terminal Editors** (vim, nvim, nano, etc.): vii suspends and the editor takes over full screen. When you quit the editor, vii resumes automatically

## Development

```bash
git clone https://github.com/aclark4life/vii
cd vii
pip install -e ".[dev]"
```

Run with Textual's development console:

```bash
textual console
textual run --dev src/vii/app.py
```

## License

MIT
