QtCS2024 QtLanguageServer

From Qt Wiki
Revision as of 13:34, 6 September 2024 by Kkoehne (talk | contribs)
Jump to navigation Jump to search

Session Summary

  • JSON RPC is not used can stay private
  • Some use cases, calls for documentation!


Session Owners

Fabian Kosmale

Notes

Done by Kai Koehne (surely incomplete, most likely also partially wrong!)

  • About qt language server repository, not any specific lsp (like qmlls)
    • JSON RPC
    • skeleton functionality
    • Both client- and server side
  • State: internal module, no documentation
  • Idea was at one point to use it by Qt Creator
    • didn't happen due to timing issues
  • Dependencies: depends on qtbase/Qt Core, qtdeclarative/Qt QML depends on it
  • Should we keep it as a generic module?

Use Case Discussion

    • Other language server implementations (which ones?)
    • Qt Style Sheets
    • RCC editing (who does that?)
    • MapCSS Style sheets (KDE)
    • KDE has LSP client in kate already
    • Python LSP??
    • qdoc lsp?
      • Most likely won't happen due to overhead
      • qdoc might benefit from using lsp for parsing C++/qml though

Alternatives to have it as a 'proper' Qt module

  • Separate module, gets cloned into qtdeclarative as a submodule
  • Allows separate tagging
  • Static vs dynamic builds vs source code?
    • It's rather small
  • Documentation could be also generated separately
  • JSPN RPC changing
    • Will require API's

JSON RPC

  • No use case currently
  • In general, JSON RPC seems mostly used in LSP's
  • Suggestion: Keep API private for now

Related qmlls

  • Part of qtdeclarative, but need for shipping it separately
  • Can't be really taken out of qtdeclarative due to private API's