Skip to main content

Language Server Protocol implementation for the Ivy formal specification language

Project description

ivy-lsp

Language Server Protocol (LSP) implementation for the Ivy formal specification language.

Features

  • Document Symbols -- outline view of types, objects, actions, modules, properties
  • Workspace Symbols -- search symbols across all .ivy files
  • Go-to-Definition -- jump to symbol definitions across include boundaries
  • Find References -- locate all usages of a symbol in the workspace
  • Completion -- context-aware suggestions (after ., include, keywords, symbols in scope)
  • Hover -- type signatures and symbol details on mouse hover
  • Diagnostics -- parse errors, missing #lang directive, unresolved includes, unmatched braces

Installation

pip install ivy-lsp

Or as an optional extra of panther_ms_ivy:

pip install panther_ms_ivy[lsp]

Usage

Start the language server over stdio:

python -m ivy_lsp

Or via the installed console script:

ivy_lsp

With VS Code

Install the Ivy Language extension, which automatically starts ivy-lsp for .ivy files.

With Serena

Add ivy to the languages list in .serena/project.yml:

languages:
  - python
  - ivy

Requirements

  • Python 3.10+
  • panther_ms_ivy (Ivy parser and compiler)
  • pygls (Python LSP framework)

Development

git clone https://github.com/ElNiak/ivy-lsp.git
cd ivy-lsp
pip install -e ".[dev]"
pytest tests/ -v

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ivy_lsp-0.3.3.tar.gz (56.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ivy_lsp-0.3.3-py3-none-any.whl (36.6 kB view details)

Uploaded Python 3

File details

Details for the file ivy_lsp-0.3.3.tar.gz.

File metadata

  • Download URL: ivy_lsp-0.3.3.tar.gz
  • Upload date:
  • Size: 56.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ivy_lsp-0.3.3.tar.gz
Algorithm Hash digest
SHA256 ec30c00d03be07abbe9110ab547f4ce4fd197b0b04e9fb906499f6c5a11e5c14
MD5 206076bf5b713d02aeaa14f49283a5be
BLAKE2b-256 0caf9136b34e28656582bea9a293d2d6629b947eab72b960a4ce11684a9ed403

See more details on using hashes here.

File details

Details for the file ivy_lsp-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: ivy_lsp-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 36.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ivy_lsp-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0c03f73594d84409866b037bc6d38d8e9b31c0a9066a7b9d68527ddc16a162ad
MD5 df4e014844892866c8d49a2962c0c87f
BLAKE2b-256 4cd55a9b14996291f9097a1df38d817828e25cb34b209e5020d148d164b8f78f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page