The goal of this project is to develop a new language server for Julia, currently called "JETLS". JETLS aims to enhance developer productivity by providing advanced static analysis and seamless integration with the Julia runtime. By leveraging tooling technologies like JET.jl, JuliaSyntax.jl and JuliaLowering.jl, JETLS aims to offer enhanced language features such as type-sensitive diagnostics, macro-aware go-to definition and such.
This repository manages JETLS.jl, a Julia package that implements a language
server, and jetls-client,
a sample VSCode extension that serves as a language client for testing JETLS.
Warning
Experimental: JETLS is under active development. Not production-ready; APIs and behavior may change. Stability and performance are limited. Expect bugs and rough edges.
Warning
JETLS requires Julia 1.12.2 or later. It does not support Julia 1.12.1 or earlier, nor Julia 1.13+/nightly.
For end-user documentation including installation instructions, configuration options, and feature guides, please visit the user guide documentation.
The following documents contain specific items that should be referenced when developing JETLS:
- DEVELOPMENT.md: Developer notes
- AGENTS.md: Specific coding rules (recommended reading for human developers as well)
Meta-level discussions, research, and ideas related to the development of JETLS are compiled as Obsidian notes at https://publish.obsidian.md/jetls.
MIT License. See LICENSE.md for details.