craft-ls


Namecraft-ls JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryA Language Server Protocol implementation for *craft files.
upload_time2024-12-26 16:53:35
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords charmcraft lsp rockcraft snapcraft
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # craft-ls


![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/batalex/craft-ls/ci.yaml)

Get on  
[![PyPI - Version](https://img.shields.io/pypi/v/craft-ls)](https://pypi.org/project/craft-ls/)
[![FlakeHub](https://img.shields.io/badge/FlakeHub-5277C3)](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![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/batalex/craft-ls/ci.yaml)\n\nGet on  \n[![PyPI - Version](https://img.shields.io/pypi/v/craft-ls)](https://pypi.org/project/craft-ls/)\n[![FlakeHub](https://img.shields.io/badge/FlakeHub-5277C3)](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"
}
        
Elapsed time: 0.44696s