Metadata-Version: 2.4
Name: xontrib-jedi
Version: 0.2.0
Summary: Improved Xonsh's Python completions using jedi
License: MIT
License-File: LICENSE
Keywords: xontrib,xonsh
Author: Xonsh Maintainers
Author-email: xore.004fdbd5c8e6589bdd80944b5b8d4100.show-sender@streams.zulipchat.com
Requires-Python: >=3.11,<4.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: System :: Shells
Classifier: Topic :: System :: System Shells
Classifier: Topic :: Terminals
Requires-Dist: jedi (>=0.19)
Requires-Dist: xonsh (>=0.23)
Project-URL: Code, https://github.com/xonsh/xontrib-jedi
Project-URL: Documentation, https://github.com/xonsh/xontrib-jedi/blob/master/README.md
Project-URL: Issue tracker, https://github.com/xonsh/xontrib-jedi/issues
Project-URL: Repository, https://github.com/xonsh/xontrib-jedi
Description-Content-Type: text/markdown

<p align="center">
Xonsh Python completions using <a href="https://jedi.readthedocs.io/en/latest/">jedi</a>.
</p>

<p align="center">
If you like the idea click ⭐ on the repo and <a href="https://twitter.com/intent/tweet?text=Nice%20xontrib%20for%20the%20xonsh%20shell!&url=https://github.com/xonsh/xontrib-jedi" target="_blank">tweet</a>.
</p>


## Installation

To install use pip:

```bash
xpip install xontrib-jedi
# or: xpip install -U git+https://github.com/xonsh/xontrib-jedi
```

## Usage

```xsh
xontrib load jedi

import json
json.<Tab>
```

The xontrib swaps xonsh's built-in `python` completer for `jedi_python`.
Other completers in the chain (including `xonsh_imp`, which completes
`__xonsh__.imp.<module>`) are left alone, so they keep working as before.

Operator and shell-syntax tokens (`<=`, `**`, `$(`, `@(`, `,`, …) are pulled
from xonsh's own `XONSH_EXPR_TOKENS`, so the menu stays in sync with the
host xonsh version. Keywords already produced by jedi (`if`, `and`, `lambda`,
…) are filtered out to avoid duplicates.

## Configuration

- `$XONTRIB_JEDI_FUZZY` (`bool`, default `False`) — when `True`, jedi is called
  with `fuzzy=True`, so e.g. `ooa` matches `foobar`. Off by default since fuzzy
  mode returns more noisy candidates.
- `$XONTRIB_JEDI_CASE_SENSITIVE` (`bool`, default `False`) — when `True`,
  jedi matches candidate names case-sensitively (sets
  `jedi.settings.case_insensitive_completion = False`). Off by default to
  match jedi's own default.

Examples:

```xsh
$XONTRIB_JEDI_FUZZY = True
$XONTRIB_JEDI_CASE_SENSITIVE = True
```

## Release

- update the version in `pyproject.toml`
- Create a new release with the same tag using Github releases

## Credits

This package was created with [xontrib template](https://github.com/xonsh/xontrib-template).

