How to improve the documentation of lsp-types
- Dominant language
- Haskell
- Stars
- 423
- Forks
- 105
- PR merge metrics
- No merged PRs in 30d
Description
As a user of the lsp library I often have to peruse the documentation of the types defined in the lsp-types library. The current documentation at https://hackage.haskell.org/package/lsp-types-1.4.0.1/docs/Language-LSP-Types.html is quite difficult to digest, since the haddocks contain almost every type that the library exports. For example, I cannot even open the documentation page on my (quite old) tablet without crashing the browser tab.
Since I often use the library, I would volunteer some of my time to improve the documentation of the lsp-types library. But before starting with this I would like to have clarification on the best direction of travel:
Could the modules in https://github.com/haskell/lsp/blob/master/lsp-types/src/Language/LSP/Types.hs be exposed modules, with the `Language.LSP.Types` module just reexporting the other modules? This would make it much simpler to browse the haddocks, and to document each module individually. The current separation into different modules is already quite logical, since it mostly maps one LSP request to one module.
As an alternative solution, only those modules clearly corresponding to a single LSP requests could be exposed. This would makes it possible to reorganize the remaining modules in the future without having breaking changes.
Contributor guide
Research direction
Start by reviewing lsp-types/src/Language/LSP/Types.hs and the linked Hackage documentation to understand the current module structure and Haddock output. Determine whether exposing the existing modules, or only request-specific modules, is the appropriate direction; the issue is complete when that scope and its compatibility implications are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100