Language Server for the Dagor Shader Language. At the moment it's work in progress. There is a Visual Studio Code client, and a Visual Studio client. In order to use the language server, you have to install Node.js if you're not on x64 architecture.
- Diagnostics (at the moment, the compiler only runs when the user saves the document)
- Formatting (whole document, range, ranges)
- Folding ranges (for blocks and DSHL macros)
| types | variables | functions | shaders | block statements | macros | includes | keywords, modifiers | |
|---|---|---|---|---|---|---|---|---|
| Code completion | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Go to definition | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Go to declaration | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Go to implementation | ✓ | ✓ | ✓ | ✓ | ||||
| Hover | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Document highlights | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Signature help | ✓ | ✓ | ||||||
| Inlay hints | ✓ | ✓ | ||||||
| Document symbols | ✓ | ✓ | ✓ | ✓ | ||||
| Semantic highlight | ✓ | |||||||
| References | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Rename | ✓ | ✓ | ✓ | ✓ | ✓ |
| types | variables | functions | defines | includes | keywords, modifiers, semantics, attributes, preprocessor directives | |
|---|---|---|---|---|---|---|
| Code completion | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Go to definition | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Go to declaration | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Go to implementation | ✓ | ✓ | ✓ | ✓ | ||
| Go to type definition | ✓ | |||||
| Hover | ✓ | ✓ | ✓ | ✓ | ||
| Document highlights | ✓ | ✓ | ✓ | ✓ | ||
| Signature help | ✓ | |||||
| Inlay hints | ✓ | ✓ | ||||
| Document symbols | ✓ | ✓ | ✓ | ✓ | ||
| Type hierarchy | ✓ | |||||
| Semantic highlight | ✓ | ✓ | ||||
| Rename | ✓ | ✓ | ✓ | ✓ | ||
| Color picker | ✓ |
- Syntax highlight
- Code snippets
- Comment toggling
- Bracket matching
- Auto closing pairs
- Surrounding pairs
- Folding regions
- Indentation
If you have any problems or feature request for the language server, feel free to create an issue.