Skip to main content

A Language Server Protocol implementation for *craft files.

Project description

craft-ls

GitHub Actions Workflow Status

Get on
PyPI - Version FlakeHub Snap - Version VSCode Marketplace

craft-ls is a Language Server Protocol implementation for *craft[^1] tools.

craft-ls enables editors that support the LSP to get quality of life improvements while working on *craft configuration files.

Features

Feature Snapcraft Rockcraft Charmcraft[^1]
Diagnostics
Documentation on hover
Symbols
Autocompletion

https://github.com/user-attachments/assets/e4b831b5-dcac-4efd-aabb-d3040899b52b

Usage

Installation

Using uv or pipx

uv tool install craft-ls

pipx install craft-ls

Setup

Helix

# languages.toml
[[language]]
name = "yaml"
language-servers = ["craft-ls"]

[language-server.craft-ls]
command = "craft-ls"

VSCode

The VSCode extension can be installed from the marketplace. It requires a Python 3.12 interpreter. If not automatically picked, you may configure it using the following key:

"craft-ls.interpreter": [
  "/usr/bin/python3.12"
]

TBD: neovim

Roadmap

Project availability:

  • Python package
  • Snap
  • Nix flake
  • VSCode extension

Features:

  • Diagnostics
  • Autocompletion on typing
  • Symbol documentation

Ecosystem:

  • Encourage *craft tools to refine their JSONSchemas even further

[^1]: snapcraft, rockcraft and partial support for charmcraft (all-in-one charmcraft.yaml only)

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

craft_ls-0.4.1.tar.gz (74.8 kB view details)

Uploaded Source

Built Distribution

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

craft_ls-0.4.1-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

File details

Details for the file craft_ls-0.4.1.tar.gz.

File metadata

  • Download URL: craft_ls-0.4.1.tar.gz
  • Upload date:
  • Size: 74.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for craft_ls-0.4.1.tar.gz
Algorithm Hash digest
SHA256 7f769647f2e26155a8ab5e8a9d4f6181bbe5fb9cc32d5155d612511f809ba302
MD5 c55b3ffded0abc1be418d9f55bc1aac0
BLAKE2b-256 0074e7df1048e3e0e3d339c66e52b5a39b30bef63258ddd636431de676fa2fb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for craft_ls-0.4.1.tar.gz:

Publisher: release.yaml on Batalex/craft-ls

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file craft_ls-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: craft_ls-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 41.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for craft_ls-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bfbb0097447765d911e5c3d5092358def75981e62ee2789effb779eebff2f461
MD5 ca31b1b36b2e96a6fe759a57309fee0d
BLAKE2b-256 77388828247b180302f74d92650753cf1d46971e4b73cf2406606c36fb90b543

See more details on using hashes here.

Provenance

The following attestation bundles were made for craft_ls-0.4.1-py3-none-any.whl:

Publisher: release.yaml on Batalex/craft-ls

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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