Skip to content

penev92/Oraide.LanguageServer

Repository files navigation

MiniYAML LanguageServer

OpenRA's MiniYAML.LanguageServer is developed to help people working with OpenRA .yaml files, making modding OpenRA a less daunting task.

The project consists of a server application and a VSCode extension communicating via the Language Server Protocol (LSP) to provide the following features inside VS Code:

  • Great MiniYAML editing support, including Syntax Highlighting, IntelliSense, Go to Definition, Find All References, etc.
  • Navigating inside MiniYAML and to C# (if available).
  • Hover information.

How it works

The server is written in C# and provides LSP features for MiniYAML, which is now defined as a custom language.

Syntax highlighting for the custom language is provided by our own MiniYAML TextMate Grammar file.

Parsing:

  • For MiniYAML parsing the server currently uses a copy of OpenRA's own internal parser, but the plan is to package that as a NuGet package for simpler use here.
  • For C# parsing the server uses Roslyn's Syntax Trees.

Features

This is a rough list of features and some of them may get dropped as inapplicable.

  • Hover
  • Goto/Peek/Find Definition/Declaration/Implementations
  • Find All References
  • Auto Completion
  • Document Symbols
  • Workspace Symbols
  • Syntax Highlight
  • Rename
  • Diagnostics
  • Syntax Check
  • Code Action

Using the language server

In order to run the language server you need .NET 6.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •