Skip to content

The Jaclang Language Extension for VScode is an extension that provides basic Language Server Protocol (LSP) functionalities for the Jaclang programming language.

License

Notifications You must be signed in to change notification settings

Jaseci-Labs/jac-analyzer

Repository files navigation

Jac-Analyzer

Language Server Tests

The Jac-Analyzer is a Visual Studio Code extension that provides Language Server Protocol (LSP) functionalities for the Jaclang programming language. Jaclang is a versatile and powerful language developed by Jaseci-Labs for building complex systems.

Features

  • Syntax Highlighting
  • Semantic Syntax Highlighting
  • Error Diagnostics
  • Go-to Definition
  • Go-to Implementation
  • Hover Information

Commands

Command Description
jaclang: Restart Server Force restart the language server.
jaclang: Run Tests Run tests in the workspace.
jaclang: Run File Run the file in the workspace.
jaclang: Clear Cache Clear the cache.

Settings

Settings Default Description
jaclang.severity { "error": "Error", "note": "Information" } Controls mapping of severity from jaclang to VS Code severity when displaying in the problems window. You can override specific jac error codes { "error": "Error", "note": "Information", "name-defined": "Warning" }
jaclang.interpreter [] Path to a Python interpreter to use to run the jaclang language server. When set to [], the interpreter for the workspace is obtained from the ms-python.python extension. If set to a specific path, that path takes precedence and the Python extension is not queried for the interpreter.
jaclang.importStrategy useBundled Setting to choose where to load jaclang from. useBundled picks the bundled jaclang with the extension. fromEnvironment uses the jaclang available in the environment.
jaclang.showNotifications off Setting to control when a notification is shown.
jaclang.reportingScope file (experimental) Setting to control if problems are reported for files open in the editor (file) or for the entire workspace (workspace).
jaclang.showWarnings false Setting to control if warnings are shown in the file/workspace

Contributing

Prerequisites

Setup

Install Nox

pip install nox

Install Dependencies

nox --session setup

You are now ready to run the extension in a development environment. Follow Debugging instructions below.

Build

To build the .vsix and Then you can install the extension on your VSCode using this https://code.visualstudio.com/docs/editor/extension-marketplace

npm run vsce-package

Running Tests

To run language server tests

pytest

Debugging

Go to the debug view in VSCode and select Debug Extension and Python from the dropdown. Then press the play button to start the extension in debug mode with debugpy attached. Select the Debug Extension Only option to start the extension without attaching to the language server.

Using Local Jaclang

If you want to use a local version of Jaclang, you can set the jaclang.importStrategy setting to fromEnvironment and set the 'jaclang.interpreter setting to the path of the Python interpreter that has Jaclang installed (use which python to find the path).

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

The Jaclang Language Extension for VScode is an extension that provides basic Language Server Protocol (LSP) functionalities for the Jaclang programming language.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks