Haskelly Save

Haskelly is a VS Code extension that provides complete support for casual and expert Haskell development.

Project README

Haskelly

Release notes | Roadmap | Demo Video

Haskelly is a Visual Studio Code extension that supports Haskell development.

Features

  • Code highlight

  • Code snippets

    • Structures : data, newtype, etc.
    • Popular functions : map, fold, etc.
  • Type hovers

    • hover
  • Jump to definition

    • Jump to symbol definitions/declarations
  • Find references

    • Find references within a module or depending modules. See limitations on #62
  • Code completion :

    • Local functions and constants
    • Standard library
    • Imported modules

    completion

  • Integrated REPL, Build, Test and Run commands

    • repl with GHCi
    • build with stack
    • run with runHaskell
    • test current file prop_* properties with QuickCheck
    • run full test suite with Stack test

Installation

  • Install the Haskelly VS Code extension.

  • Install Stack and add it to your PATH. Note that Stack folder naming conventions must be followed for it to work correctly, i.e. capitalizing folder names.

    curl -sSL https://get.haskellstack.org/ | sh
    
  • Install Intero (code completion and type information), and QuickCheck (test suite)

    stack install intero QuickCheck  # for a global installation
    stack build intero QuickCheck # for a local installation
    

Configuration

Haskelly is customizable (see Code > Preferences > Workspace Settings).

Parameter Description Default
haskelly.codeCompletion Code completion enabled true
haskelly.buttons.ghci GHCi button shows in the bottom bar true
haskelly.buttons.runfile Run file button shows in the bottom bar true
haskelly.buttons.quickcheck QuickCheck button shows in the bottom bar true
haskelly.buttons.stackBuild Stack build button shows in the bottom bar true
haskelly.buttons.stackBuildParams Parameters passed to stack build command --fast
haskelly.buttons.stackRun Stack run button shows in the bottom bar true
haskelly.buttons.stackRunParams Parameters passed to stack run command null
haskelly.buttons.stackTest Stack test button shows in the bottom bar true
haskelly.buttons.stackTestParams Parameters passed to stack test command null
haskelly.snippets.important Hide code completion for which there's already a snippet false
haskelly.snippets.custom Add your custom snippets following the structure of this file null
haskelly.exec.reuseTerminal Reuse the currently opened terminal to run Stack commands false

Contributing

If you'd like to contribute to Haskelly, this is what you can do:

  • Bugs: This extension is in alpha, so some bugs might be present. We would really appreciate if you could post any issue on the Github repository issues section or contact us at: [email protected].
  • Ideas and feature requests: We want to get everyone's opinion on what we're building so feel free to use the two mentioned channels for any comment or suggestion.
  • Documentation: Found a typo or strangely worded sentences? Submit a PR!
  • Code: Contribute bug fixes, features or design changes.

License: GNU 3

Open Source Agenda is not affiliated with "Haskelly" Project. README Source: haskelly-dev/Haskelly
Stars
153
Open Issues
36
Last Commit
10 months ago
License

Open Source Agenda Badge

Open Source Agenda Rating