SpacemanDMM/crates/dm-langserver
2024-06-28 17:23:04 -07:00
..
src Fix outline panic on certain definitions in macros 2024-06-28 17:23:04 -07:00
build.rs rustfmt: Sort imports 2024-05-28 23:09:35 -07:00
Cargo.toml Bump versions for suite 1.9 2024-06-23 16:41:24 -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.