Metadata-Version: 2.4
Name: hydra-yaml-lsp
Version: 0.1.1
Summary: Language Server Protocol implementation for Hydra YAML configuration files
Project-URL: Repository, https://github.com/Geson-anko/python-hydra-yaml
Project-URL: Issues, https://github.com/Geson-anko/python-hydra-yaml/issues
License-Expression: MIT
Keywords: autocomplete,completion,configuration,editor,hydra,intellisense,language-server,language-server-protocol,lsp,vscode,yaml
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Plugins
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Editors
Classifier: Topic :: Text Editors :: Integrated Development Environments (IDE)
Classifier: Topic :: Text Processing :: Markup
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: hydra-core>=1.3.2
Requires-Dist: pygls>=1.3.1
Requires-Dist: ruamel-yaml>=0.18.10
Description-Content-Type: text/markdown

# 🐉 hydra-yaml-lsp

![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
![Document Style](https://img.shields.io/badge/%20docstyle-google-3666d6.svg)

**hydra-yaml-lsp** is a Language Server Protocol implementation for [Hydra](https://hydra.cc) YAML configuration files, providing rich language features like code completion, syntax validation, and semantic highlighting to enhance the development experience with Hydra configuration files.

## ✨ Features

- 💡 Intelligent code completion for Hydra special keys (`_target_`, `_args_`, etc.)
- 🔍 Path completion for Python import paths in `_target_` values
- 🛠️ Argument completion for callable targets
- 🎨 Semantic token highlighting for special keys, target values, and interpolations
- ⚠️ YAML syntax validation and diagnostics
- 🔄 Support for Hydra interpolations (`${...}` syntax)
- 🔌 Easy integration with editor extensions (primary integration with VS Code)

## 📦 Installation

```bash
# Install with pip
pip install hydra-yaml-lsp

# For development setup
git clone https://github.com/your-repo/python-hydra-yaml.git
cd python-hydra-yaml/hydra-yaml-lsp
make venv  # Sets up virtual environment with all dependencies
```

## 🧰 Requirements

- Python 3.12+

## 📝 Usage

### Standalone Server

```sh
python -m hydra_yaml_lsp
```

### Using with VS Code Extension

The primary use case is through the VS Code extension:

1. Install the `python-hydra-yaml` extension in VS Code
2. Configure the extension to point to your Hydra configuration directory
3. Open any YAML file in that directory to activate the language features

## 🔧 Development

```bash
# Clone and setup development environment
git clone https://github.com/your-repo/python-hydra-yaml.git
cd python-hydra-yaml/hydra-yaml-lsp

# Install dependencies and set up virtual environment
make venv

# Run all tests
make test

# Run type checking
make type

# Run all checks (tests and type checking)
make run
```

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](../LICENSE) file for details.
