yaml / yamlscript

Programming in YAML
MIT License
382 stars 31 forks source link

LSP Server for YAMLScript #133

Open ingydotnet opened 3 months ago

ingydotnet commented 3 months ago

We need a YAMLScript LSP server to get YAMLScript to an acceptable daily usage level. This is almost certainly a requirement for #132 (VSCode support).


Q: What can an LSP server do for a new programming language? llama3-70b-8192: A Language Server Protocol (LSP) server can do a lot to support a new programming language. Here are some of the benefits:

  1. Code Completion: An LSP server can provide code completion suggestions, making it easier for developers to write code in the new language.
  2. Diagnostic Errors: The server can analyze the code and provide diagnostic errors, warnings, and hints, helping developers identify and fix issues quickly.
  3. Code Refactoring: LSP servers can offer code refactoring capabilities, such as renaming variables, extracting functions, and reorganizing code.
  4. Code Navigation: The server can provide features like "go to definition," "find all references," and "symbol search," making it easier to navigate the codebase.
  5. Syntax Highlighting: An LSP server can provide syntax highlighting, which helps developers understand the structure of the code and identify errors.
  6. Code Formatting: The server can format code according to a specific style, ensuring consistency throughout the codebase.
  7. IntelliSense: LSP servers can offer IntelliSense features, such as parameter hints, function signatures, and type information.
  8. Debugging: The server can integrate with a debugger, allowing developers to step through code, set breakpoints, and inspect variables.
  9. Project Management: An LSP server can provide project management features, such as project structure analysis, dependency management, and build system integration.
  10. Extensibility: The server can be extended to support additional features, such as code analysis, testing, and continuous integration.

By providing these features, an LSP server can greatly improve the development experience for a new programming language, making it more attractive to developers and increasing its adoption.

Additionally, an LSP server can also help to:

Overall, an LSP server can play a crucial role in establishing a new programming language as a viable and attractive option for developers.