#fortress

df_ls_debug_structure

A language server for Dwarf Fortress RAW files

1 unstable release

0.3.0-rc.1 Nov 12, 2022

#2510 in Parser implementations


Used in df_language_server

MIT/Apache

265KB
6K SLoC

Dwarf Fortress RAW language server

Discord

Clients/Extensions:
VSCode extension (Windows and Linux supported)

Language server (shared between clients):
pipeline status coverage report

Dwarf Fortress RAW language server is an application that allows Dwarf Fortress RAW files to be checked for correctness. This allows modders of the game (Dwarf Fortress) to detect problems in there mod files.

This repo is work in progress and might not work in some cases.

Supported DF Versions

This version of DF Language Server is compatible with DF Version: 0.47.05 (2021/01/28)
We also support the previous 2 versions of DF*: (Going forward)

*: Previous versions are supported as closely as possible, in case of big breaking changes we might break partial or full support of previous versions if not feasible.

We are currently in the following pre release stage: Release Candidate.
Latest version: 0.3.0-rc.1 (2022-11-12)

As soon as the Steam and Itch.io versions are out we will start working on supporting those versions. Check our Discord for the current state. All help is welcome!

What can it do?

Syntax Highlighting and Error reporting:
general

View more Features and Screenshots
  1. It reads a DF Raw file and add Syntax Highlighting:
    syntax_highlighting

  2. And works correctly with your theme:
    syntax_highlighting syntax_highlighting

  3. It checks if all the tokens are correct and have the correct arguments:
    wrong_arg_type

    wrong_enum_value

    wrong_arg_number_to_many

  4. It warns you of about best practices:
    warnings

And much more to come!

Future plans

We have many things we still want to add. If you want to see what we have planned check out our Roadmap. But adding these features might take some time. So all help is welcome!

Supported Editors and IDEs

We are currently only supporting VS Code. But the language server is able to work on other Editors and IDEs.

  • ✅: Working and tested
  • 👥: Community member creation (not part of this repo or group)
  • 🛠: Work in progress, partly implemented
  • ❌: Not Implemented
  • ⛔: Known to not (yet) support language servers
IDE Status & Download
VS Code Download
Visual Studio
Atom 🛠
Sublime Text
Eclipse
Vim/NeoVim
Emacs 🛠
Notepad++
... others ...

If you have questions or suggestions about supported IDEs, contact us though Discord.

Contribute

If you want to contribute, join our Discord. We are always looking for more people to help us develop, test, research, ... You don't need to be a programmer or know about modding in DF to help us out.

There are a few good places to start:

Development

You can find a full development guide on this page: Developement.md

License

The code in this project is licensed under the MIT or Apache 2.0 license.

All documentation[^1] is licensed under GNU FDL, MIT license and/or Creative Commons Attribution-ShareAlike 3.0 Unported license

This makes the documentation both compatible with the Dwarf Fortress Wiki and Wikipedia.

All contributions, code and documentation, to this project will be similarly licensed.

[^1]: This includes all Rust Doc, documentation and other info in this codebase.

[^2]: This is implemented, but some parts of it don't work correctly (will not produce proper errors).

Dependencies

~9–19MB
~256K SLoC