SpacemanDMM/src/langserver
2019-11-11 19:50:31 -08:00
..
debugger Disable dead code warnings in the debugger 2019-11-11 19:50:31 -08:00
io Exit quietly on stdin EOF 2019-11-10 20:36:06 -08:00
build.rs Use Repository::discover instead of open_from_env 2018-03-17 21:29:28 -07:00
Cargo.toml Add back Launched type to handle child process 2019-11-11 17:38:31 -08:00
completion.rs Remove wasm target from langserver 2019-11-10 17:47:00 -08:00
document.rs Update dependency versions 2019-11-06 18:48:34 -08:00
extras.rs Add a reparse notification for faster diagnostic pumps 2019-06-23 20:47:57 -07:00
find_references.rs Fix builtins incorrectly inheriting from /datum 2019-11-06 21:53:13 -08:00
macros.rs Spawn DreamSeeker on launch request 2019-11-10 20:35:45 -08:00
main.rs Add --version flag to langserver 2019-11-11 19:40:50 -08:00
README.md Add a readme for the dreammaker crate 2019-07-02 20:35:20 -07:00
symbol_search.rs Replace ProcDeclaration::is_verb with a ProcDeclKind enum 2019-02-21 22:56:30 -08:00
wasm-imports.js Add JS import which simulates infinite loop (to keep stderr open) 2019-04-02 19:39:53 -07: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.