SpacemanDMM/src/langserver
2019-07-14 20:18:33 -07:00
..
io Add JS import which simulates infinite loop (to keep stderr open) 2019-04-02 19:39:53 -07:00
build.rs Use Repository::discover instead of open_from_env 2018-03-17 21:29:28 -07:00
Cargo.toml Bump command-line tools to 1.0.0 2019-07-03 13:45:34 -07:00
completion.rs Return documentation with completion results 2019-07-14 20:18:33 -07:00
document.rs Improve document open/close diagnostics 2019-06-22 18:55:22 -07:00
extras.rs Add a reparse notification for faster diagnostic pumps 2019-06-23 20:47:57 -07:00
find_references.rs Sort results of Find References 2019-06-23 19:04:02 -07:00
macros.rs Add a reparse notification for faster diagnostic pumps 2019-06-23 20:47:57 -07:00
main.rs Add TypeProc::main_value method 2019-07-14 20:18:21 -07: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.