A language server for Markdown documents that supports retext plugins
Project description
jupyter-retext-language-server
A retext language server for Jupyter LSP. This builds upon the unified-language-server by exposing a simple configuration mechanism.
Plugins
By default, the jupyter-retext-language-server ships with pre-installed with the retext-spell plugin out of the box.
Extending
New retext plugins can be defined through Python entry points, e.g.
[project.entry-points.jupyter_retext_language_server_plugin_v1]
retext-spell = "jupyter_retext_language_server.plugins:retext_spell"
The retext_spell name in the jupyter_retext_language_server.plugins module has the following form:
Entry points
retext_spell = {
"path": /path/to/retext-spell.mjs",
"properties_schema": {
"retext.plugins.retext-spell.enabled": {
"type": "boolean",
"default": True,
"description": "Enable retext-spell plugin.",
},
// ... etc
}
}
It is through this entry point that the settings schema and path to the ESM module can be defined.
ESM plugin
The ESM plugin exposed by the Python entry point must define two named exports, e.g.
export const name = "retext-spell";
export async function plugin(spellConfig) {
// Plugin impl
return (tree, file, next) => {};
}
These define the name (which maps to the plugin name in the properties schema), and the plugin implementation that is invoked by the plugin manager.
Future development ideas
- Generalise the project to allow multiple ecosystems (unified, retext, etc).
- Add proper schema merging.
- Validate plugin subschemas
- Validate plugin ESM modules
- Implement upstream fixes to expose the config — https://github.com/unifiedjs/unified-language-server/issues/69
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 jupyter_retext_language_server-1.0.1.tar.gz.
File metadata
- Download URL: jupyter_retext_language_server-1.0.1.tar.gz
- Upload date:
- Size: 31.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d67ca86f472697f0e67e99890953892c4af5cdefc23a72a50865608c75f6c62a
|
|
| MD5 |
da6056da1fdfd075954479c6026554ff
|
|
| BLAKE2b-256 |
445c9d7b4f55c5b5b8e0a706e8070b4c032735599d614b46376f5b59a7ef9603
|
Provenance
The following attestation bundles were made for jupyter_retext_language_server-1.0.1.tar.gz:
Publisher:
publish.yml on agoose77/jupyter-retext-language-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyter_retext_language_server-1.0.1.tar.gz -
Subject digest:
d67ca86f472697f0e67e99890953892c4af5cdefc23a72a50865608c75f6c62a - Sigstore transparency entry: 810445377
- Sigstore integration time:
-
Permalink:
agoose77/jupyter-retext-language-server@5de45f897e70158ca635d02ccdb0a75565eb6df8 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/agoose77
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5de45f897e70158ca635d02ccdb0a75565eb6df8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file jupyter_retext_language_server-1.0.1-py2.py3-none-any.whl.
File metadata
- Download URL: jupyter_retext_language_server-1.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 418.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fa093d3973ec11a9395697e3a741f377101bb5857ee78b92fa8aeb2861134ff
|
|
| MD5 |
9618b4cc1e2a53869154857f97576a84
|
|
| BLAKE2b-256 |
f5860097874a3183961fcab213c4609bcb4fd9ec7dd3c7caf9d62d6055b6f52a
|
Provenance
The following attestation bundles were made for jupyter_retext_language_server-1.0.1-py2.py3-none-any.whl:
Publisher:
publish.yml on agoose77/jupyter-retext-language-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyter_retext_language_server-1.0.1-py2.py3-none-any.whl -
Subject digest:
1fa093d3973ec11a9395697e3a741f377101bb5857ee78b92fa8aeb2861134ff - Sigstore transparency entry: 810445388
- Sigstore integration time:
-
Permalink:
agoose77/jupyter-retext-language-server@5de45f897e70158ca635d02ccdb0a75565eb6df8 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/agoose77
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5de45f897e70158ca635d02ccdb0a75565eb6df8 -
Trigger Event:
release
-
Statement type: