BGforge multi-language server

Features
| Feature Matrix
| Screenshots
| Install
| Forum
BGforge MLS is a VScode extension adding support for Star-Trek Scripting Language (ssl) used in Fallout 1 and 2 games, and several file formats (d, baf, tp2, tra, 2da) used by WeiDU and Infinity Engine, as well as Sword Coast Stratagems Scripting Language (ssl/slb), and TypeScript-based transpilers: TSSL, TBAF, and TD.
It can also be used with non-VScode editors, see setup guides:
Sublime | Neovim | Emacs | JetBrains | Helix | Zed | Kate | Notepad++ | Geany
Features
Feature Matrix
LSP Providers
| Language |
Extensions |
Completion |
Hover |
Signature |
Definition |
Format |
Symbols |
Workspace Symbols |
Rename |
Inlay Hints |
Compile |
JSDoc |
Folding |
| Fallout SSL |
.ssl, .h |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
.msg |
sslc |
+ |
+ |
| Fallout worldmap |
worldmap.txt |
+ |
+ |
|
|
|
|
|
|
|
|
|
|
| WeiDU BAF |
.baf |
+ |
+ |
|
|
+ |
|
|
|
.tra |
weidu |
|
+ |
| WeiDU D |
.d |
+ |
+ |
|
+ |
+ |
+ |
|
same file |
.tra |
weidu |
+ |
+ |
| WeiDU TP2 |
.tp2/.tpa/.tph/.tpp |
+ |
+ |
|
+ |
+ |
+ |
+ |
same file |
.tra |
weidu |
+ |
+ |
Aliases: .slb and .ssl (Infinity Engine) are treated as WeiDU BAF.
Transpilers
TypeScript-like languages (Typescript subsets) that compile to the scripting formats above.
Transpilers allow to use Typescript type system in modding, as well as a number of Typescript features and its superior tooling.
| Transpiler |
Extension |
Target |
Inlay Hints |
Dialog Preview |
| TSSL |
.tssl |
.ssl |
.msg |
+ |
| TBAF |
.tbaf |
.baf |
.tra |
|
| TD |
.td |
.d |
.tra |
+ |
TSSL (.tssl) compiles to Fallout SSL. Companion project: FOlib.
TBAF (.tbaf) compiles to WeiDU BAF. Important additions include functions, loops, variables, arrays, enums. Companion project: IETS.
TD (.td) compiles to WeiDU D. Same features as TBAF, but has different structure. Also uses IETS.
| Format |
Extensions |
Support |
| Fallout MSG |
.msg |
TextMate highlighting |
| Fallout scripts.lst |
scripts.lst |
TextMate highlighting |
| Fallout PRO |
.pro |
Binary viewer |
| WeiDU TRA |
.tra |
TextMate highlighting |
| Infinity 2DA |
.2da |
TextMate highlighting |
Installation
- Search for BGforge in VScode marketplace, like any other extension.
(Alternatively, download the package from Github releases tab and install it manually.)
- Check general settings.
- Check file associations.
- Check hotkeys.
- Enable custom theme and icon theme.
- (Infinity Engine) Install IElib.
Hotkeys
Screenshots
Infinity Engine highlighting and completion

Fallout highlighting and hovers

Dialog tree preview
Visual dialog tree for SSL, TSSL, D, and TD files. Open with CTRL+SHIFT+V or the command palette. Shows states, transitions, and resolved translation strings.

Error reporting
