Name | craft-ls JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | A Language Server Protocol implementation for *craft files. |
upload_time | 2024-12-26 16:53:35 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.12 |
license | None |
keywords |
charmcraft
lsp
rockcraft
snapcraft
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# craft-ls

Get on
[](https://pypi.org/project/craft-ls/)
[](https://flakehub.com/flake/Batalex/craft-ls)
`craft-ls` is a [Language Server Protocol](https://microsoft.github.io/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
- Diagnostics
## Usage
### Installation
Using `uv` or `pipx`
```shell
uv tool install craft-ls
pipx install craft-ls
```
### Setup
#### Helix
```toml
# languages.toml
[[language]]
name = "yaml"
language-servers = ["craft-ls"]
[language-server.craft-ls]
command = "craft-ls"
```
TBD: neovim, VSCode
## 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
## Contributing
TBD
```bash
# .envrc
use flake # if you are using nix
source .venv/bin/activate
export CRAFT_LS_DEV=true
```
[^1]: only snapcraft and rockcraft so far
Raw data
{
"_id": null,
"home_page": null,
"name": "craft-ls",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "charmcraft, lsp, rockcraft, snapcraft",
"author": null,
"author_email": "Alex Batisse <alex.batisse@canonical.com>",
"download_url": "https://files.pythonhosted.org/packages/15/97/7dec8bbf0732c9b59473c492510a48ab14be364d73f62bfad41d5b1b40f5/craft_ls-0.1.1.tar.gz",
"platform": null,
"description": "# craft-ls\n\n\n\n\nGet on \n[](https://pypi.org/project/craft-ls/)\n[](https://flakehub.com/flake/Batalex/craft-ls)\n\n\n`craft-ls` is a [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) implementation for *craft[^1] tools.\n\n`craft-ls` enables editors that support the LSP to get quality of life improvements while working on *craft configuration files.\n\n## Features\n\n- Diagnostics\n\n## Usage\n\n### Installation\n\nUsing `uv` or `pipx`\n\n```shell\nuv tool install craft-ls\n\npipx install craft-ls\n```\n\n### Setup\n\n#### Helix\n\n```toml\n# languages.toml\n[[language]]\nname = \"yaml\"\nlanguage-servers = [\"craft-ls\"]\n\n[language-server.craft-ls]\ncommand = \"craft-ls\"\n```\n\nTBD: neovim, VSCode\n\n## Roadmap\n\nProject availability:\n\n- Python package\n- Snap\n- Nix flake\n- VSCode extension\n\nFeatures:\n\n- Diagnostics\n- Autocompletion **on typing**\n- Symbol documentation\n\nEcosystem:\n\n- Encourage *craft tools to refine their JSONSchemas even further\n\n## Contributing\n\nTBD\n\n```bash\n# .envrc\nuse flake # if you are using nix\nsource .venv/bin/activate\nexport CRAFT_LS_DEV=true\n```\n\n[^1]: only snapcraft and rockcraft so far\n",
"bugtrack_url": null,
"license": null,
"summary": "A Language Server Protocol implementation for *craft files.",
"version": "0.1.1",
"project_urls": {
"Releases": "https://github.com/batalex/craft-ls/releases",
"Repository": "https://github.com/batalex/craft-ls"
},
"split_keywords": [
"charmcraft",
" lsp",
" rockcraft",
" snapcraft"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c76a7b4d422051bbbc6213c02848fea47a26a84dc65604e4893785929c11ea1f",
"md5": "7ec1c2412d2126c3c9928873ec66b856",
"sha256": "ebc60bc1f8d67bb17e1b5f6bc125968dbc22d67bfa2e1851ef2e0389608b7cc9"
},
"downloads": -1,
"filename": "craft_ls-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7ec1c2412d2126c3c9928873ec66b856",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 19642,
"upload_time": "2024-12-26T16:53:33",
"upload_time_iso_8601": "2024-12-26T16:53:33.994270Z",
"url": "https://files.pythonhosted.org/packages/c7/6a/7b4d422051bbbc6213c02848fea47a26a84dc65604e4893785929c11ea1f/craft_ls-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "15977dec8bbf0732c9b59473c492510a48ab14be364d73f62bfad41d5b1b40f5",
"md5": "45db9ad56d644229f27bf5a20fb49b3f",
"sha256": "73d91fd12b2b65603441162b3ad7d764274cc31d504e36478852d41d4bab4cd2"
},
"downloads": -1,
"filename": "craft_ls-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "45db9ad56d644229f27bf5a20fb49b3f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 36999,
"upload_time": "2024-12-26T16:53:35",
"upload_time_iso_8601": "2024-12-26T16:53:35.575018Z",
"url": "https://files.pythonhosted.org/packages/15/97/7dec8bbf0732c9b59473c492510a48ab14be364d73f62bfad41d5b1b40f5/craft_ls-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-26 16:53:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "batalex",
"github_project": "craft-ls",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "craft-ls"
}