Metadata-Version: 2.4
Name: lark-parser-language-server
Version: 0.3.0
Summary: Lark Parser Language Server.
License-Expression: Apache-2.0
License-File: LICENSE.txt
Keywords: Dynova,lark,lark parser,lsp,language-server,language-server-protocol
Author: Dynova Development Team
Author-email: dev@dynova.io
Maintainer: zodiacfireworks
Maintainer-email: martin.vuelta@gmail.com
Requires-Python: >=3.9.0,<4.0.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Interpreters
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Text Editors :: Integrated Development Environments (IDE)
Classifier: Topic :: Software Development
Classifier: Topic :: System
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Dist: lark (>=1.3.0,<2.0.0)
Requires-Dist: pygls (>=1.3.1,<2.0.0)
Project-URL: Bug Tracker, https://github.com/dynovaio/lark-parser-language-server/issues
Project-URL: Changelog, https://github.com/dynovaio/lark-parser-language-server/blob/master/CHANGELOG.md
Project-URL: Documentation, https://dynovaio.github.io/lark-parser-language-server
Project-URL: Download, https://github.com/dynovaio/lark-parser-language-server/archive/refs/tags/v0.3.0.zip
Project-URL: Homepage, https://github.com/dynovaio/lark-parser-language-server
Project-URL: Issues, https://github.com/dynovaio/lark-parser-language-server/issues
Project-URL: Repository, https://github.com/dynovaio/lark-parser-language-server
Description-Content-Type: text/markdown

[![Community-Project][dynova-banner-community]][dynova-homepage]

[![PyPI - Supported versions][badge-pypi-python-versions]][repository]
[![PyPI - Package version][badge-pypi-version]][repository]
[![PyPI - Downloads][badge-pypi-downloads]][repository]
[![PyPI - License][badge-pypi-license]][repository]

[![Codacy Badge - Code Quality](https://app.codacy.com/project/badge/Grade/32cf38efba474a4ab376b35ddfcf5e61)](https://app.codacy.com/gh/dynovaio/lark-parser-language-server/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[![Codacy Badge - Code Coverage](https://app.codacy.com/project/badge/Coverage/32cf38efba474a4ab376b35ddfcf5e61)](https://app.codacy.com/gh/dynovaio/lark-parser-language-server/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_coverage)
[![pipeline status](https://gitlab.com/softbutterfly/open-source/lark-parser-language-server/badges/master/pipeline.svg)](https://gitlab.com/softbutterfly/open-source/lark-parser-language-server/-/commits/master)

# Lark Parser Language Server

Lark Parser Language Server is a Language Server Protocol (LSP) implementation
for the Lark parsing library. It provides features such as syntax highlighting,
code completion, and error checking for Lark grammar files in compatible code
editors.

## ✨ Features

The language server provides the following LSP features:

* **Diagnostics**: Syntax error detection and undefined symbol validation
* **Code Completion**: Intelligent suggestions for rules, terminals, and
keywords
* **Hover Information**: Documentation and type information on hover
* **Go to Definition**: Navigate to rule and terminal definitions
* **Find References**: Locate all usages of symbols
* **Document Symbols**: Outline view with rules and terminals
* **Semantic Analysis**: Advanced grammar validation
* **Formatting**: Automatic code formatting for Lark grammar files

## Requirements

* Python 3.9.0 or higher

## Install

Install from PyPI

```bash
pip install lark-parser-language-server
```

## Usage

Run the language server

```bash
# Run the server
python -m lark_language_server

# Run with TCP (for debugging)
python -m lark_language_server --tcp --host 127.0.0.1 --port 2087
```

## Docs

Documentation is available at our [docs site ↗][docs].

## Release Notes

All changes to versions of this library are listed in our
[change log ↗][changelog].

## Contributing

Contributions are greatly appreciated.

Please fork this repository and open a pull request to make grammar tweaks, add
support for other subgrammars etc.

## Contributors

See the list of contributors in our [contributors page ↗][contributors].

## License

This project is licensed under the terms of the Apache-2.0 license. See the
[LICENSE ↗][license] file.

[dynova-homepage]: https://dynova.io
[dynova-banner-community]: https://gitlab.com/softbutterfly/open-source/open-source-office/-/raw/master/assets/dynova/dynova-open-source--banner--community-project.png
[badge-pypi-python-versions]: https://img.shields.io/pypi/pyversions/lark-parser-language-server
[badge-pypi-version]: https://img.shields.io/pypi/v/lark-parser-language-server
[badge-pypi-downloads]: https://img.shields.io/pypi/dm/lark-parser-language-server
[badge-pypi-license]: https://img.shields.io/pypi/l/lark-parser-language-server

[repository]: https://github.com/dynovaio/lark-parser-language-server
[docs]: https://dynovaio.github.io/lark-parser-language-server
[changelog]: https://github.com/dynovaio/lark-parser-language-server/blob/develop/CHANGELOG.md
[contributors]: https://github.com/dynovaio/lark-parser-language-server/graphs/contributors
[license]: https://github.com/dynovaio/lark-parser-language-server/blob/develop/LICENSE.txt

