Skip to content

TidierOrg/positron-julia

Repository files navigation

julia-positron

Julia for Positron

Julia language support for Positron. Based on julia-vscode, Julia for Positron, and @wesm's closed PR on the positron repo.

Important

From version 0.1.3, the extension will be maintained under TidierOrg.

Features

  • Julia Runtime — Start interactive Julia sessions directly in Positron's Console. Define variables, run code, and inspect results with the Variables pane and Data Explorer.
  • Language Server — Powered by LanguageServer.jl for diagnostics, completions, go-to-definition, hover info, and more. Automatically installed on first use.
  • Runtime Completions — Supplements LSP completions with live variables and functions from the running Julia session via the Jupyter complete_request protocol.
  • Run Multiline Statements — Press Ctrl+Enter / Cmd+Enter to send the full multiline statement at the cursor (functions, loops, blocks) to the console. Handles function…end, if…end, unclosed brackets, pipe chains, and more.
  • Semantic Highlighting — Enhanced syntax highlighting with semantic information from the Language Server for accurate color coding of functions, types, modules, and other language constructs.
  • Data Explorer — Open DataFrames, matrices, and other tabular data in Positron's interactive Data Explorer with sorting, filtering, and summary statistics. Convert the current state of the Data Explorer into to Code
  • Variables Pane — Browse all session variables with type and value summaries.
  • Help Integration — View Julia documentation inline via Positron's Help pane.
  • Plots — Julia plots are captured and displayed in Positron's Plots pane.
  • Package Pane — Browse and manage Julia packages directly within Positron.
  • TestItem Compatible - Uses the same testing system as julia-vscode
  • Debugger - Use breakpoints, inspect local and global variables, etc.
  • Formatting — Format Document (Shift+Alt+F) and Format Selection (Ctrl+K Ctrl+F) via JuliaFormatter.jl, powered by the language server. Configurable through a .JuliaFormatter.toml file at the workspace root.

Requirements

Getting Started

  1. Install Julia from julialang.org or via juliaup.
  2. Install this extension in Positron (Extensions view → Install from VSIX, or from the marketplace).
  3. Open a .jl file or start a Julia console session from the interpreter picker.

On first launch, the extension automatically installs required Julia packages (IJulia, LanguageServer.jl, and supporting dependencies). This one-time setup may take a few minutes.

Extension Settings

Setting Default Description
positron.julia.executablePath "" Path to a specific Julia executable
positron.julia.languageServer.enabled true Enable/disable the Julia Language Server
positron.julia.languageServer.environmentPath "" Path to a Julia project environment for the Language Server
positron.julia.help.importUnimportedPackages true Allow Help lookups to import installed packages into Main
julia.lint.missingrefs "all" Control missing-reference diagnostics (all, id, none)

License

This project is dual-licensed, reflecting its two main sources of code:

  • Elastic License 2.0 — the Positron integration code originating from Posit Software, PBC (the Julia runtime, session, language client, completions, provider, and the julia/Positron/ Julia package, plus code written for this extension that follows those Positron patterns). See LICENSE. These files carry a Copyright (C) Posit Software, PBC … Elastic License 2.0 header.

  • MIT License — the code derived from julia-vscode and Julia.tmbundle. See LICENSE-MIT. These files carry a Ported/Adapted from julia-vscode … MIT License header. They include:

    • src/testing/testControllerProtocol.ts, src/testing/testLSProtocol.ts, src/testing/testFeature.ts
    • src/debugger/debugFeature.ts
    • scripts/debugger/run_debugger.jl, scripts/apps/testitemcontroller_main.jl, and the bundled scripts/environments/testitemcontroller/ project files
    • syntaxes/julia_vscode.json, syntaxes/juliacodeblock.json, syntaxes/juliamarkdown.json, and language-configuration/julia-language-configuration.json (these are strict JSON and so carry no inline header; they are MIT-licensed by virtue of being listed here)

About

Julia support for the Positron IDE

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE-MIT

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages