BoxLang 🚀 A New JVM Dynamic Language Learn More...
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.
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
The BoxLang LSP is controlled through three separate configuration systems:
| System | File | Purpose |
|---|---|---|
| IDE Workspace Settings | boxlang.lsp.* in
your IDE settings | LSP behavior & performance |
| Project Mappings | boxlang.json at
workspace root | Virtual paths, classpaths, module directories |
| Lint Rules | .bxlint.json at workspace
root | Static analysis rule toggles and severity |
See the Configuration Reference for the complete list of all settings, types, defaults, and descriptions.
.bxlint.json using both LSP file
events (if supported) and a fallback filesystem watcher.| Symptom | Possible Cause | Action |
|---|---|---|
| Config edits ignored | File not at workspace root | Move .bxlint.json to root folder
recognized by client |
| Rules not disabling | Rule id typo | Check the rule ID in the Configuration Reference |
| Paths not filtered | Globs mismatched OS separators | Always use forward slashes /
|
"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12
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.
.bxlint.json, create a .bxformat.json, and convert existing .cfformat.json or .cfconfig.json files into BoxLang formatter settings from the IDEbxlint:disable and bxlint:enable comments, with inline documentation for each available lint rulebxlint suppression directives with class- and function-scoped enable/disable supportcfsqltype attributes on <cfqueryparam>, with quick fixes and refactor actions.bxlint.json workspace settings for mappings and experimental formatter enablement, with generated schema and config reference docsAGENTS.md to support opencode and AI coding assistantsextends diagnostics now surface likely mapping matches and offer quick fixes that add mappings to Application.bx, boxlang.json, or .bxlint.json.bxlint.json changes now refresh mappings, indexing, formatting capabilities, and diagnostics without requiring a restartassemble, shadowJar, and build tasksbuild.gradle to use modern Gradle features and dependencies@bxlint:disable).bxlint configuration filescfsqltype attributeobj.)
$
box install bx-lsp