1 unstable release
0.3.0-rc.1 | Nov 12, 2022 |
---|
#2510 in Parser implementations
Used in df_language_server
265KB
6K
SLoC
Dwarf Fortress RAW language server
Clients/Extensions:
(Windows and Linux supported)
Language server (shared between clients):
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:
View more Features and Screenshots
-
It reads a DF Raw file and add Syntax Highlighting:
-
And works correctly with your theme:
-
It checks if all the tokens are correct and have the correct arguments:
-
It warns you of about best practices:
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:
- Look at the open beginner issues or research needed issues
- Check the
#syntax-room[1-2]
channel for any questions that we might have in there. - Ask in
#development
channel what we need help with, we would love to see you join! - Just test the application and report bugs, through Discord or GitLab.
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