Language server for MAL
Project description
MAL Language Server
mal-language-server is a language server for MAL.
General
The project uses uv as the main project manager and ruff for linting/formatting. ruff can be installed via uv as native via uv tool install ruff or use it as the dev-dependency its specified as via uv run ruff <command>.
Before running the project or editing files, uv must download the required packages. For
that, use uv sync.
Running
To run the server, use the command uv run malls -- <options>.
There are two main ways of interacting with the server, via files or TCP. This can be configured via the start-up options. Obviously, they are mutually exclusive, meaning only one can be used per server instance.
-
Files: for this option, run
uv run malls --stdio, which defaults to standard input and output. To configure what files are used to read from/write to, runuv run malls --stdio -o OUT_FILE_PATH -i IN_FILE_PATH. -
TCP: for this option, run
uv run malls --tcp, which starts the server onlocalhostwith port8080. To use another host or port, add those options withuv run malls --tcp --host HOST -p PORT.
Other start-up arguments, namely related to logging, can be found using uv run malls -h
Installation
NeoVim
- Install the server via pip, for example locally:
pip install /folder/path/of/pyproject
[!NOTE] Use
-eto install it in editable/development mode, which updates the installation live. - Configure your NeoVim LSP client, for example :
init.luavim.lsp.config['malls'] = { cmd = { "malls", "--stdio" }, filetypes = { 'mal' }, } vim.lsp.enable('malls')
[!NOTE] Tested for NeoVim v0.11.1
CI/CD
Packages are published via UV on ubuntu to PyPI on tags pushed to the repository.
Tests are ran with pytest and pytest-xdist on ubuntu and macos. Additionally formatting and linting checks are ran with ruff.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mal_language_server-0.1.0.tar.gz.
File metadata
- Download URL: mal_language_server-0.1.0.tar.gz
- Upload date:
- Size: 84.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a02fab0392718cc197988a87be3a60f1062fd15a49511c858e0373ba0ba3a8db
|
|
| MD5 |
8f025dee7f37b1035e5437e4c30dabeb
|
|
| BLAKE2b-256 |
2b3fdb36a58ed6da1b649d122b0ef3d30a58ea9481bc3f0dfc600f1771363b7b
|
Provenance
The following attestation bundles were made for mal_language_server-0.1.0.tar.gz:
Publisher:
publish.yml on mal-lang/mal-ls
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mal_language_server-0.1.0.tar.gz -
Subject digest:
a02fab0392718cc197988a87be3a60f1062fd15a49511c858e0373ba0ba3a8db - Sigstore transparency entry: 578764028
- Sigstore integration time:
-
Permalink:
mal-lang/mal-ls@6a661b5136caca95c7290c02e13002487ce0546e -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/mal-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6a661b5136caca95c7290c02e13002487ce0546e -
Trigger Event:
push
-
Statement type:
File details
Details for the file mal_language_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mal_language_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 44.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b5f46a699841f1910bab9f7743ba4dfd474259cd58ee522de11bd1d519735b4
|
|
| MD5 |
a46beeef95f4ec73f139067129a88806
|
|
| BLAKE2b-256 |
a28248b5bbd37130ece06a7cd8102ffc725a90a754d3903d024417e1f662dd4e
|
Provenance
The following attestation bundles were made for mal_language_server-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on mal-lang/mal-ls
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mal_language_server-0.1.0-py3-none-any.whl -
Subject digest:
7b5f46a699841f1910bab9f7743ba4dfd474259cd58ee522de11bd1d519735b4 - Sigstore transparency entry: 578764031
- Sigstore integration time:
-
Permalink:
mal-lang/mal-ls@6a661b5136caca95c7290c02e13002487ce0546e -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/mal-lang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6a661b5136caca95c7290c02e13002487ce0546e -
Trigger Event:
push
-
Statement type: