Skip to content

BQN programming language vscode plugin (symbol input, syntax highlighting)

License

Notifications You must be signed in to change notification settings

razetime/bqn-vscode

Repository files navigation

BQN VS Code plugin

This VS Code extension provides language support for BQN.

It is available on the Open VSX Registry and the VS Code Marketplace.

Setup

This extension has a focus on the CBQN implementation. The REPLXX=1 option must be enabled during building for best results.

Configurable Settings

You can add these settings to your settings.json file to disable some of the default behaviours of this extension.

  • bqn.executablePath - Path to the CBQN executable e.g. /home/username/CBQN/BQN.
  • bqn.saveBeforeLoadScript - Whether vscode should save the script before loading it into the CBQN REPL.
  • bqn.sendToNewReplDelay - How long vscode should wait before sending text to a repl.
  • bqn.executableSupportsReplxx - Marks whether the executable set in bqn.executablePath is built with replxx support.
  • bqn.pendingBackslashBackgroundColor - Style customization feature for backslash completion.
  • bqn.enableBackslashCompletion - true by default. If you have an extension that interferes with backslash completion (e.g. Vim keybindings), please set this to false and use a system-wide method.
  • bqn.enableHoverDocumentation - Controls whether documentation will be displayed for a symbol on mouseover.

Features

Current

  • Syntax highlighting.
  • Backslash symbol completion (\r -> ) using the standard BQN keymap, like in the online REPL.
  • Symbol completion by function name (take<tab> -> ).
  • Help popups when hovering over glyphs.
  • File, line, and selection execution in the integrated terminal (from @suhr and @mk12). This requires having a bqn executable in your PATH, or customizing the bqn.executablePath setting.

Planned

  • Block context highlighting for symbols like 𝕨 and 𝕣.
  • Inline code execution similar to nvim-bqn.
  • CBQN WASM interpreter bundled with the extension.
  • Add a symbol table to the sidebar for clickable BQN symbols.