SpacemanDMM/crates/dm-langserver
2025-12-18 21:22:18 -08:00
..
src Apply most rustfmt suggestions 2025-12-18 21:22:18 -08:00
build.rs Apply most rustfmt suggestions 2025-12-18 21:22:18 -08:00
Cargo.toml Move version, authors, edition into workspace Cargo.toml 2025-10-28 18:11:42 -07:00
README.md Fix a missed secure.byond.com reference 2023-04-20 17:10:59 -07:00
wasm-imports.js Rename src/ to crates/, match directories to package names 2021-11-16 17:51:02 -08:00

DreamMaker Language Server

This package is a language server implementation for DreamMaker, the scripting language of the BYOND game engine. All features are dependent on client support.

Code completion

  • Completes names of typepaths, procs, type vars, local vars, and macros.
  • Popup includes symbol type as well as the value of constants.
  • Completes var and proc overrides in type definitions.
    • Proc overrides include a stub which calls ..().

Hover

  • Shows inheritance information when hovering proc headers and type vars.

Go to definition

  • Finds the definition of typepaths, procs, type vars, local vars, and macros.
  • In some clients, integrates with DM Reference browser.
  • Searches macros, types, procs, and vars.
  • Prefix query with # to search macros only, var/ to search vars only, or proc/ to search procs only.
  • Include / in query to search types only.
  • In some clients, integrates with DM Reference browser.

Find all references

  • Finds all uses of:
    • Typepaths as a literal.
    • Procs, called and overridden.
    • Type vars, read, written, and overridden.

Diagnostics

Signature help

  • Gives proc argument help, including for builtin procs, when a ( is typed or on command.

Document symbols

  • Provides an "outline" view of symbols in the current file.