Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Completion for Cabal Files #3664

Open
6 of 9 tasks
VeryMilkyJoe opened this issue Jun 15, 2023 · 0 comments
Open
6 of 9 tasks

Completion for Cabal Files #3664

VeryMilkyJoe opened this issue Jun 15, 2023 · 0 comments
Assignees
Labels
component: hls-cabal-plugin Issues related to the hls-cabal-plugin type: enhancement New feature or request

Comments

@VeryMilkyJoe
Copy link
Collaborator

VeryMilkyJoe commented Jun 15, 2023

When writing cabal files, developers often don't know the actual specification and it is tedious to have to look up the field names and which kinds of values to write for each field whenever one writes such a file.
Additionally, completion for any file-type is a good quality of life enhancement.

Completion of field-names

  • Simple completion of available field names in cabal file.
  • Completion of within stanza
  • No completion of top level field names after stanza has been written

Completion of cabal values

  • Suggest sensible inputs for values of field names.
  • Implement for: cabal-version, license, testsuite > type, source-repository > type, filepath values, directory path values
  • Implement for build-type, default-language, name, ghc-options, exposed-modules, other-modules, main-is.

Scoring for completions

  • Score required fields higher than optional ones
  • Scoring for licenses based on usage

Field descriptions

  • Provide doc strings which inform users of what kinds of values are expected for a given field.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: hls-cabal-plugin Issues related to the hls-cabal-plugin type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant