BoxLang 🚀 A New JVM Dynamic Language Learn More...

bx-lsp

v1.9.0+8 BoxLang Modules

⚡︎ BoxLang Module: bx-lsp

This is a BoxLang module that implements Microsoft's Language Server Protocol. You most likely will not want to install this module directly. This modules is used by IDE's that also implement the LSP in order to provide a rich editing experience.

Check out the official BoxLang VSCode extension for more information and an example of this project being used.

Ortus Sponsors

BoxLang is a professional open-source project and it is completely funded by the community and Ortus Solutions, Corp. Ortus Patreons get many benefits like a cfcasts account, a FORGEBOX Pro account and so much more. If you are interested in becoming a sponsor, please visit our patronage page: https://patreon.com/ortussolutions

Configuration

The BoxLang LSP is controlled through three separate configuration systems:

System File Purpose
IDE Workspace Settingsboxlang.lsp.* in your IDE settingsLSP behavior & performance
Project Mappingsboxlang.json at workspace rootVirtual paths, classpaths, module directories
Lint Rules.bxlint.json at workspace rootStatic analysis rule toggles and severity

See the Configuration Reference for the complete list of all settings, types, defaults, and descriptions.

Live Reload Behavior

  • The server watches .bxlint.json using both LSP file events (if supported) and a fallback filesystem watcher.
  • On change: cache invalidated → config reloaded → open documents reparsed → diagnostics republished.
  • Watcher debounce is minimal; rapid saves may still trigger multiple reloads (acceptable for now).

Troubleshooting

Symptom Possible Cause Action
Config edits ignoredFile not at workspace rootMove .bxlint.json to root folder recognized by client
Rules not disablingRule id typoCheck the rule ID in the Configuration Reference
Paths not filteredGlobs mismatched OS separatorsAlways use forward slashes /

THE DAILY BREAD

"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


Unreleased

1.9.0 - 2026-04-02

  • BLIDIE-277 Improve LSP setting documentation
  • BLIDE-272 Prevent duplicate diagnostics in editor
  • BLIDE-271 Improve interface method diagnostics
  • Improve project indexing
  • Add API for querying the project index
  • BLIDE-224 Add hover support for variables, functions, classes, and interfaces
  • BLIDE-215 Add go-to-definition for variables, functions, classes, and interfaces
  • BLIDE-236 Add find references for variables, functions, classes, and interfaces
  • BLIDE-224 Add variable type insights
  • BLIDE-213 Add context aware auto complete for keywords, references, arguments, and imports
  • BLIDE-213 Add snippet completions
  • BLIDE-270 Add auto import support on save
  • BLIDE-215 Add ability to go to definition of BoxLang functions within the same file
  • BLIDE-236 Add ability to find references of a BoxLang function within the same file

1.5.0 - 2025-10-16

1.3.0 - 2025-10-03

1.3.0 - 2025-10-03

1.2.0 - 2025-09-16

  • Change the way background processing works to prevent overwhelming the system
  • Add settings for the user to control how background processing happens
  • Add additional logging

1.1.0 - 2025-09-03

  • Add var scoping check for CFML files
  • Add diagnostic for unused variables
  • Lots of additional tests
  • Coverted LSP to be a BoxLang module
  • BLIDE-96 Added version info

$ box install bx-lsp

No collaborators yet.
     
  • {{ getFullDate("2024-12-29T04:09:21Z") }}
  • {{ getFullDate("2026-04-02T22:46:16Z") }}
  • 1,892
  • 3,295