BGforge multi-language server is a VScode extension adding support for Star-Trek Scripting Language used in Fallout 1 and 2 games, and several file formats (.d, .baf, .tp2) used by WeiDU, an Infinity Engine games modding utility.
The goal is to ease modders' lives by bringing them a fully-featured IDE comparable to what professional developers use.
It includes syntax highlighting and basic intellisense features like code completion, hovers, snippets, etc. It also provides a hotkey (default: ctrl-r) to parse/compile files, allowing to test syntax validity from IDE.
It is very much work in progress, features are likely to added or altered. Bugs, inconsistencies and other issues are expected to be found. There's A LOT to improve. Nevertheless, I believe it's reached a stage where it can provide value, which prompts for the first public release.
Current feature list
- Fallout .ssl: syntax highlighting, completion, hovers, compilation, signature help (crude). SFSE Windows users probably won't be too impressed, but if you're on Linux, give it a try. It has less features, but it crashes less as well.
- WeiDU .tp2 (tph, tpa, etc): syntax highlighting, completion, hovers. And parsing (tp2 only, crude).
- WeiDU .d and .baf: syntax highlighting - including inlined files.
Also, as most of the logic is implemented in the server, it should be easy enough to connect it to any client supporting Language Server Protocol, should someone want to do that. Atom, Sublime Text, etc. Even Vim and Emacs for the old-timers, I believe.
Installation
You can install it from VScode marketplace, like any other extension. See readme for configuration options.
Alternatively, download the package from github releases and install manually.
Reporting issues
Bugs can be reported to github. Questions, feature suggestions, other thoughts are probably better discussed on the forum first. If you're eager to help, see contributing.
Screenshots
Fallout SSL
WeiDU TP2
BGforge MLS description
BGforge MLS description
Please do not PM or email me about my mods and projects. Use forums. Also, see our talk channels.