Skip to content

WarZone762/geckscript-lsp

Repository files navigation

geckscript-lsp

Provides various language features for the scripting language used by GECK for Fallout: New Vegas and Fallout 3.

Features

  • parsing and syntax error checking
  • code actions
  • code completion
  • formatting
  • goto definition and references
  • hover
  • renaming
  • semantic tokens
  • 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published