jsoniq-jupyter-lsp
is a Python package that provides a language server setup for the JSONiq programming language. This package includes the necessary configuration to enable JSONiq to work seamlessly with the JupyterLab LSP (jupyterlab-lsp
) extension, offering rich language features to users of JupyterLab.
- Language Server for JSONiq: Ships the JSONiq Language Server to provide language features following the LSP.
- JupyterLab Integration: Configures JupyterLab to recognize and use the JSONiq language server through the
jupyterlab-lsp
extension. - Rich Language Features: Provides auto-completion and diagnostics for JSONiq in JupyterLab.
You can install the jsoniq-jupyter-lsp
package using pip:
pip install jsoniq-jupyter-lsp
To use the JSONiq language server in JupyterLab, follow these steps:
-
Install JupyterLab and the JupyterLSP extension:
pip install jupyterlab jupyterlab-lsp
-
Install the
jsoniq-jupyter-lsp
package:pip install jsoniq-jupyter-lsp
-
Install the
jsoniq-jupyter-extension
(Needed to recognize magic cells with%%jsoniq
within Python Notebook cells):npm install jsoniq-jupyterlab-extension && jupyter labextension enable jsoniq-jupyterlab-extension
-
Start JupyterLab:
jupyter lab
By default, jsoniq-jupyter-lsp
will be automatically configured to work with JupyterLab. However, you may need to enable auto-completion for the jupyterlab-lsp
if not enabled. For this, you should go through the following steps:
- Open Settings
- Select 'Code Completion'
- Enable the 'auto_completion' option field.
We welcome contributions to the jsoniq-jupyter-lsp
project! If you have any suggestions, bug reports, or pull requests, please feel free to submit them on the GitHub repository.
-
Clone the repository:
git clone https://github.com/RumbleDB/jsoniq-jupyterlab-lsp.git cd jsoniq-jupyter-lsp
-
Create a virtual environment:
python -m venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the package in development mode:
pip install -e .
This project is licensed under the Apache-2.0 License. See the LICENSE file for details.