- Split out packaging action (#1080) by @fendor
- Add Session Loading style to list of known configs (#1077) by @fendor
- Tooling update (#1043) by @bzm3r
- Add
haskell.plugin.fourmolu.config.path
option (#987) by @georgefst
- Includes changes of the 2.4.3 release
- Includes changes of the 2.4.2 release
- Add tracking of cabal files (#618) by @fendor
- Address invalid byte sequence error #1022 (#1022) by @felixlinker
- Always set the cwd for the executable (#1011) (#1011) by @fendor
- Add stan plugin option #1000 (#1000) by @fendor
- Probe for GHCup binary wrt #962 (#963) by @hasufell
- Bump old hls version and upgrade test runner to macos-latest (#960) by @July541
- Increase time limitation to make test on Windows more stable (#959) by @July541
- Update release docs for refreshing CI tokens (#942) by @fendor
- Prepare release 2.4.0 (#906) by @VeryMilkyJoe
- Simplify tests (#904) by @July541
- Remove unused code (#898) by @fendor
- Remove hoogle command from vscode extension (#896) by @fendor
- Update readme (#886) by @VeryMilkyJoe
- Fix broken tests (#880) by @July541
- Update README.md: clarify how to use Stack with vscode-haskell extension (#874) by @miguel-negrao
- Remove debugger tools from CI (#873) by @fendor
- Refactor tests to work correctly (#872) by @July541
- Downgrade vscode language client to 7.0.0 (#853) by @fendor
- Update badge url for VSCode Marketplace (#851) by @fendor
- Downgrade vscode language client to 7.0.0 (#843) by @fendor
- Prepare release 2.2.3 (#843) by @fendor
- Add new plugins fields
(#842) by @fendor
- Migrate to eslint (#782) by @fendor
- Bump minor versions of package dependencies (#781) by @fendor
- Update unsupported GHC doc link (#776) by @limaak
- Fix release CI (#775) by @fendor
- Fix mistake in generated ChangeLog (#774) by @fendor
- Add link to HLS installation webpage (#751) by @fendor
- Change scope of serverExecutablePath to machine-overridable (#742) by @fendor
- Add Fourmolu config property (#736) by @georgefst
- Add missing configuration options for the latest HLS version (#717) by @fendor
- Change sensible to sensitive (#709) by @ploeh
- Fix test-suite for new GHCUp release (#672) by @fendor
- Bump webpack from 5.73.0 to 5.74.0 (#657) by @fendor
- Bump typescript from 4.4.0 to 4.7.4 (#657) by @fendor
- Bump @types/node from 18.0.4 to 18.6.1 (#657) by @fendor
- Bump @typescript-eslint/eslint-plugin from 5.30.6 to 5.31.0 (#657) by @fendor
- Bump @typescript-eslint/parser from 5.30.6 to 5.31.0 (#657) by @fendor
- Bump prettier from 2.6.2 to 2.7.1 (#657) by @fendor
- Bump mocha from 9.2.1 to 10.0.0 (#657) by @fendor
- Add dependabot.yml (#633) by @fendor
- Replace x32 with ia32 for Architecture matching (#631) by @fendor
- Toolchain management dialog: add hint for beginners (#621) by @runeksvendsen
- Fix trace.server option (#617) by @coltenwebb
- Add TOC (#615) by @hasufell
- Cleanups (#605) by @hasufell
- Link to VSCode settings page (#603) by @hasufell
- Refactor toInstall shenanigans (#600) by @hasufell
- Fix confusing download dialog popup (#599) by @hasufell
- More troubleshooting (#598) by @hasufell
- Bump version to 2.2.0 (Syncs up pre-release and release version) (#594) by @fendor
- Bad error message when ghcup is not installed (#591) by @hasufell
- Better error message if we can't find a HLS version for a given GHC (#588) by @hasufell
- Properly convert release metadata from json (#585) by @fendor
- Ignore missing entries in Release Metadata (#582) by @fendor
- Add Tool class and print stacktraces (#579) by @fendor
- List Env Vars we care about only (#578) by @fendor
- Prepare pre-release 2.1.0 (#574) by @fendor
- Enable pre-release feature for VSX Marketplace (#573) by @fendor
- Add prettier script (#566) by @fendor
- Remove accidental run command (#565) by @fendor
- Upgrade dependencies (#564) by @fendor
- Add new configuration options for rename plugin (#563) by @OliverMadine
- Introduce 'haskell.toolchain' setting (#562) by @hasufell
- Improve (#558) by @hasufell
- Remove stdout/sterr from user error message (#556) by @fendor
- Fix npm security issue (#555) by @fendor
- No colour output for GHCup (#554) by @fendor
- Add eval plugin configuration (#549) by @xsebek
- Manage all the Haskell things (#547) by @hasufell
- Consider user installed HLSes (e.g. via ghcup compile) (#543) by @hasufell
- Update README.MD GHC support (#537) by @cptwunderlich
- fix: change deprecated Haskell Platform install link to GHCup (#536) by @HEIGE-PCloud
- Update HLS installation method (#533) by @hasufell
- Fixes related with paths (#518) by @jneira
- Reorganize troubleshooting section (#516) by @jneira
This release includes some interesting new features:
- You can now pass custom environment variables to the lsp server
with the
haskell.serverEnvironment
config option per project basis, thanks to @jacobprudhomme.- For example:
"haskell.serverEnvironment": { "XDG_CACHE_HOME": "/path/to/my/cache" }
- For example:
- With this version the extension will try to use the newer lsp server version
which supports the ghc used by the project being loaded, thanks to @mduerig
- WARNING: This will suppose it will use an older version than the latest one, without its features and bug fixes.
- The extension has lot of more log traces now, which hopefully will help to identify the cause of issues
- Update supported ghc versions for hls-1.5.1 (#514) by @jneira
- Fix hole_severity option: Use integer instead of string (#511) by @mirko-plowtech
- Update issue templates (#509) by @jneira
- Add traces for download hls (#508) by @jneira
- support old hls versions compatible with the requested ghc version (#506) by @mduerig
- Fix ci: ensure we have a supported ghc version in PATH (#496) by @jneira
- Trace environment variables (#495) by @jneira
- Pass environment variables to LSP (#494) by @jacobprudhomme
- Reorganize README (#491) by @jneira
- Fix error handling of server exec discovery in windows (#486) by @jneira
- Bump versions of ts, cheerio, mocha (#485) by @jneira
- Improve serverExecutablePath description and error when pointing to a directory (#484) by @jneira
- Add integration smoke test (#481) by @jneira
- Setup the test suite (#475) by @jneira
- Bug fix release due to #471 and fixed with #469 thanks to @berberman
- Add an option to set server command line arguments thanks to @cdsmith #464
- It includes a new config option
haskell.serverExtraArgs
to being able to pass extra argument to the lsp server executable
- It includes a new config option
- Update config options to match last haskell-language-server version #463
- It removes
haskell.diagnosticsOnChange
andhaskell.formatOnImportOn
cause they were unused in the server - It adds
haskell.checkProject
,haskell.maxCompletions
andhaskell.plugin.refineImports.globalOn
- It removes
- Fix showDocumentation command thanks to @pranaysashank #452
- It fixes partially showing the documentation directly in vscode. The documentation is rendered but internal links still does not work
- Two config options has been added:
haskell.openDocumentationInHackage
andhaskell.openSourceInHackage
with default valuetrue
- So documentation will be opened using the hackage url in an external navigator by default
- If you prefer having them in vscode you will need to change them to
false
- Create output channel only if there are no existing clients thanks to @pranaysashank #448
- This fixes the creation of several output channels for the extension
- Fix wrapper call to get project ghc version in windows with spaces in path (#439)
- Bump up vscode version to 1.52.0 (#424) by @berberman
- To match the lsp spec version used in haskell-language-version and fix haskell/haskell-language-server#2068
- Add much more logging in the client side, configured with
haskell.trace.client
- Fix error handling of
working out project ghc
and a bug when the path to the executable contains spaces (See #421)- And dont use a shell to spawn the subprocess in non windows systems
- Show the progress as a cancellable notification
- Add commands
Start Haskell LSP server
andStop Haskell LSP server
- Emit warning about limited support for ghc-9.x on hls executable download
- Fix
working out project ghc
progress notificacion - Fix tactics config, thanks to @isovector
- Update server config to match haskell-language-server-1.3.0 one
- Restore
resource
scope forhaskell.serverExecutablePath
temporary. Themachine
scope will be set again after giving users a period of time to let them adapt theirs workflows and changing or adding some option in the extension itself to help that adjustement (see #387).
- Add
haskell.releasesURL
option to override where to look for HLS releases search for HLS downloads, thanks to @soiamsoNG - With this version the only supported lsp server variant is
haskell-language-server
- Add support for generic plugin configuration. Thanks to it, each plugin capability (diagnostics, code actions, code lenses, etc) or the entire plugin can be disabled
- Add some plugin specic options:
- wingman (aka tactics) plugin
haskell.plugin.tactic.config.features
: Feature set used by the pluginhaskell.plugin.tactics.config.hole_severity
: The severity to use when showing hole diagnosticshaskell.plugin.tactic.config.max_use_ctor_actions
: Maximum number ofUse constructor <x>
code actions that can appearhaskell.plugin.tactics.config.timeout_duration
: The timeout for Wingman actions, in seconds
- completions
haskell.plugin.ghcide-completions.config.autoExtendOn
: Extends the import list automatically when completing a out-of-scope identifierhaskell.plugin.ghcide-completions.config.snippetsOn
: Inserts snippets when using code completions
- type signature lenses -
haskell.plugin.ghcide-type-lenses.config.mode
: Control how type lenses are shown
- wingman (aka tactics) plugin
- The option
haskell.serverExecutablePath
has nowmachine
scope, so it can be only changed globally by the user. It avoids a potential security vulnerability as folders containing.vscode/settings.json
with that option could execute arbitrary programs. - Deprecated options:
haskell.hlintOn
: usehaskell.plugin.hlint.globalOn
instead.haskell.completionSnippetsOn
: usehaskell.plugin.ghcide-completions.config.snippetsOn
- Fixed a small typo that caused the server not to be loaded in
.lhs
files, thanks to @Max7cd
- Add option to open local documentation on Hackage (@DunetsNM)
- Add
haskell.updateBehaviour
option to configure when to check for updates (@WorldSEnder) - Use locally installed servers on connection failure (@WorldSEnder)
- Add Fourmolu as a plugin formatter provider (@georgefst)
- Remove the
haskell.enable
configuration option, since VS Code now allows you to disable extensions on a per workspace basis - Display errors when fetching from the GitHub API properly
- Switch the default formatter to Ormolu to match haskell-language-server
- Fix
haskell.serverExecutablePath
not working with absolute paths on Windows (@winestone) - Improve the help text and error message when
haskell.serverExecutablePath
is not found - Fix the rendering of the markdown table in the README (@Darren8098)
- vscode-haskell now lives under the Haskell organisation
- Can now download zip archived binaries, which the Windows binaries are now distributed as
- Improve README (@pepeiborra @jaspervdj)
- Fix the restart server and import identifier commands
vscode-hie-server
/Haskell Language Server
is now just Haskell, and will soon
be published under the Haskell organisation as haskell-vscode
.
This release makes haskell-language-server the default langauge server of choice
and automatically downloads and installs binaries. Installation from source is
still supported though and any binaries located on your PATH for the selected
langauge server will be used instead.
As part of this, your configuration may be reset as the keys move from
languageServerHaskell.completionSnippetsOn
to haskell.completionSnippetsOn
.
- Fix the document and source browser
- Remove obselete commands that are no longer supported by any of the language
servers
- Show type command
- Insert type command
- HaRe commands
- Case split commands
Change the way the backend is configured, simplifying it.
- remove wrapper scripts (hie-vscode.sh/hie-vscode.bat)
- dropdown choice between
haskell-ide-engine
,haskell-language-server
orghcide
in thehieVariant
setting. - this can be overridden by an explicit
hieExecutablePath
, as before.
Remove verbose logging option, it is not longer supported.
Bump dependencies
Trying again, working 0.0.35
- Add Restart command (@gdziadkiewicz)
- Add Ormolu as a formatter option (@DavSanchez)
- Update README
- Roll back to 0.0.34
- Add Restart command (@gdziadkiewicz)
- Add Ormolu as a formatter option (@DavSanchez)
- Update README
- Remove --lsp parameter from hie-vscode.bat
- Introduced configuration setting
noLspParam
, defaultfalse
to control setting the--lsp
flag for the hie server. So by default we will set the command line argument for the server, but it can be turned off.
- Re-enable the
--lsp
flag for the hie server - Update some deps for security vulnerabilities
- Log to stderr (vscode output) by default, add option for logfile (@bubba)
- Bundle using webpack (@chrismwendt)
- Bump protocol version to 3.15 prerelease (@alanz) This allows working progress reporting from hie.
- Update casesplit plugin (@Avi-D-coder)
- bump protocol version to 3.15 (prerelease) (@alanz)
- upgrade deps, including avoiding vulnerabilities on lodash (@alanz)
- warn about compile time and wrapped hie (@janat08)
- remove unused
lsp
flag (@bubba) - do not start
hie
ifhie-wrapper
crashes (@bubba) - Expose diagnosticsOnChange option for settings (Frederik Ramcke)
- Avoid CVE on
extend
package - Enable displaying window progress (@bubba)
- Re-enable search feature for documentation (@anonimitoraf)
Accesed via
ctrl-f
.
- Show documentation content using Webview API (@EdAllonby)
- npm audit fix (@alanz)
- Add vsce dependency to "Contributing" document (@EdAllonby)
- Add formatterProvider config (@bubba)
- Bugfix for stack version on windows (@beauzeaux)
- Update settings to match hie version 0.7.0.0 (@alanz)
- npm audit fix (@bubba)
- Add snippet config option (@bubba)
- Fix multi-process issue, where vscode would launch multiple hie instances. By @kfigiela
- Add configuration option to enable liquid haskell processing. This is a preview feature of hie from ca2d3eaa19da8ec9d55521b461d8e2e8cffee697 on 2019-09-05.
- Remove languageServerHaskell.useHieWrapper, We now use hie-wrapper by default.
- Update the vscode-languageclient to v4.4.0
- Fix #98 Import identifier insertion line
moduleLine
is now the first line that is (trimmed)where
or ends withwhere
or ends with)where
. (@mpilgrem)
- Add the case-split function (@txsmith). Required hie >= 0.2.1.0
- Update the vscode-languageclient to v4.2.0 (@Bubba)
- Use the hie-wrapper executable now installed with hie to choose the right version of hie to use for the given project.
- Fix hie launch on windows with logging off (#90). Thanks @Tehnix.
- Support GHC 8.4.3 in the wrapper file
- The
languageServerHaskell.trace.server
parameter now affects/tmp/hie.log
, as well as ghc-mod--vomit
output. - Add an Import identifier command, by @chrismwendt
- Support GHC 8.4.2 in the wrapper file
- Update dependencies to avoid security vulnerability.
- Use os.tmpdir() for the hie.log file
Support the new webview-api for the documentation browser, thanks to @AlexeyRaga.
Revert vscode-languageclient
dependency to version 3.5.0, since version 4.x for some
reason breaks the documentation browser.
Add configuration to set the path to your HIE executable, if it's not on your PATH. Note
that this adds the --lsp
argument to the call of this executable.
Add configuration to enable/disable HIE, useful for multi-root workspaces.
Add additional marketplace categories.
Add support for multi-root workspaces, thanks to @tehnix. See the README section on Using multi-root workspaces for more.
Publish to the visual studio marketplace through travis CI via git tags. E.g.
git tag -a 0.0.9 -m "Version 0.0.9"
and then git push origin 0.0.9
.
Add new haskell-ide-engine logo, thanks to @damienflament
Add rudimentary support for detecting the project GHC version and using the
appropriate hie version. This currently only works on Linux (contributors on
other platforms, please jump in with appropriate scripts) and requires
haskell-ide-engine
built via the Makefile
added in
haskell/haskell-ide-engine#447. Thanks to @Tehnix
Update package-lock.json
to fresh dependencies.
Add show type of selected expression on hover feature, by @halhenke
Added options for how to display the same information when using the show type command menu, by @halhenke
Moved the configuration setting about showing trace information into the proper scope, by @halhenke
Update package-lock.json
to fresh dependencies.
Update the installation check on Win32 platforms, by @soylens.
Use tslint
on the plugin sources, by @halhenke.
Stop the output channel from taking focus on startup, by @Tehnix and @halhenke
Rework and improve the document layout, for gihub and the marketplace, by @Tehnix
Set up Travis testing an potential auto-deply to marketplace, by @Tehnix
Show documents in a tab, by @AlexeyRaga
Add a configuration option to enable/disable hlint
.
Add "Haskell: Show type" command, bound to Ctrl-alt-t (Cmd-alt-t on mac). This
calls the ghc-mod
type
command on the current cursor location or highlighted
region. Thanks to @AlexeyRaga
Add a check for having the hie
executable in the path on startup, to prevent
an endless failure to start if the executable is not there. Thanks to @DavidEichman
Add some HaRe commands, accesible via the command palette.
Initial release of haskell-ide-engine VS Code extension, for brave pioneers.