haskell / haskell/lsp

How to improve the documentation of lsp-types

Open
#419 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.