geckscript-lsp
v0.1.9
Published
Provides various language features for the scripting language used by GECK for Fallout: New Vegas and Fallout 3.
Downloads
3
Readme
geckscript-lsp
Provides various language features for the scripting language used by GECK for Fallout: New Vegas and Fallout 3.
Features
- [x] parsing and syntax error checking
- [x] code actions
- [x] code completion
- [x] formatting
- [x] goto definition and references
- [x] hover
- [x] renaming
- [x] semantic tokens
- [x] signature help
- [ ] static analysis
- [ ] code lens
- [ ] inlay hints
Installation
Works best with Hot Reload plugin
The server can infer global symbols (like references and quests), so it may be useful to extract
all vanilla scripts into a separate directory inside your project (e.g. my_mod/lib
) with a tool
like FNVEdit
Configuration
The server can be configured in geckrc.json
or .geckrc.json
file at the root of your project.
Configuration options
| Name | Possible Values | Explanation |
| --------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| keywordStyle
| "lower"
, "upper"
or "capital"
| Enforce keyword naming convention: lowercase (begin
), UPPERCASE (BEGIN
) or Capital (Begin
) |
| functionStyle
| "lower"
, "upper"
or "capital"
| Enforce function naming convention: lowercase (getitemcount
), UPPERCASE (GETITEMCOUNT
) or Capital (GetItemCount
) |
Example
{
"$schema": "https://raw.githubusercontent.com/WarZone762/geckscript-lsp/dev/src/geckscript/config.schema.json",
"keywordStyle": "lower",
"functionStyle": "capital"
}
Credits
The design of the parser is based on rust-analyzer's parser