Metadata-Version: 2.5
Name: jusi-shell
Version: 0.2.3
Summary: Shell plugin for Jusi
Author: Jusi contributors
License: MIT License
        
        Copyright (c) 2025 notawhaleble
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Requires-Python: >=3.9
Requires-Dist: jusi<2,>=1.0.6
Description-Content-Type: text/markdown

# jusi-shell

An interactive shell plugin for Jusi 1.0.

- `%%shell` starts the configured/default shell.
- `%%shell bash` selects a shell executable.
- `%%shell --cwd PATH` (or `-C PATH`) starts in an optional working directory.
- Follow-up cells are sent literally to the same live shell.
- Path completion follows the shell's current directory and uses explicit Jusi
  1.0 replacement ranges. Absolute input produces absolute completion text;
  relative input stays relative. An empty argument (for example, `cd <Tab>`)
  lists entries in the current directory.
- `jusi-open PATH` sends the target-side file contents to the owning editor.
  The legacy `-t`/`--tab` spelling remains accepted, but Jusi 1.0 owns the
  destination window rather than exposing split/tab placement to plugins.

Configuration may select a default executable:

```json
{"shell": {"default": "zsh"}}
```

The plugin is discovered through the `jusi.plugins.v1` entry-point group.

## Initialize before the first command

Execute an empty `%%shell` cell, including any shell or `--cwd` arguments, to
open the terminal without sending a command. `:JusiBootstrap` does the same while
preserving a populated draft. Path completion is available once the shell's
control channel is ready; no initial `pwd` command is needed. Repeated bootstrap
reuses the client and does not create a history entry.

Requires the bootstrap-capable Jusi core. Normal shell startup files still run.
