Releases: mrcjkb/haskell-tools.nvim
3.1.6
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.1.6] - 2024-01-27
Performance
- Don't run
ftpluginmore than once on the same buffer.
[3.1.5] - 2024-01-25
Changed
- Initialization: Lazy-require
haskell-toolsfields.
This prevents configs from being initialized early if
callingrequire('haskell-tools')before setting
vim.g.haskell_tools.
[3.1.4] - 2024-01-20
Fixed
- Hoogle: Don't escape URLs when opening in browser [#336].
[3.1.3] - 2024-01-11
Fixed
- LSP: Add safety to
:HlsRestartcommand,
to prevent it from retrying indefinitely.
[3.1.2] - 2024-01-10
Fixed
- Hoogle (web): Error handling for invalid
curloutput [#322].
[3.1.1] - 2023-12-22
Fixed
- Health: Only report error if
lspconfig.hlshas been set up,
not other configurations.
[3.1.0] - 2023-12-18
Added
- Health: Warn if there are unrecognized configs in
vim.g.haskell_tools.
Fixed
- Health: Check if
vim.g.haskell_toolsis set,
but hasn't been sourced before initialization. - Hoogle (web): Make
curlsilent.
[3.0.2] - 2023-11-25
Fixed
- Remove default setting for
cabalFormattingProvider,
falling back to haskell-language-server's default.
[3.0.1] - 2023-11-23
Fixed
- Don't attempt to generate project tags if no project root is found.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has...
3.1.5
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.1.5] - 2024-01-25
Changed
- Initialization: Lazy-require
haskell-toolsfields.
This prevents configs from being initialized early if
callingrequire('haskell-tools')before setting
vim.g.haskell_tools.
[3.1.4] - 2024-01-20
Fixed
- Hoogle: Don't escape URLs when opening in browser [#336].
[3.1.3] - 2024-01-11
Fixed
- LSP: Add safety to
:HlsRestartcommand,
to prevent it from retrying indefinitely.
[3.1.2] - 2024-01-10
Fixed
- Hoogle (web): Error handling for invalid
curloutput [#322].
[3.1.1] - 2023-12-22
Fixed
- Health: Only report error if
lspconfig.hlshas been set up,
not other configurations.
[3.1.0] - 2023-12-18
Added
- Health: Warn if there are unrecognized configs in
vim.g.haskell_tools.
Fixed
- Health: Check if
vim.g.haskell_toolsis set,
but hasn't been sourced before initialization. - Hoogle (web): Make
curlsilent.
[3.0.2] - 2023-11-25
Fixed
- Remove default setting for
cabalFormattingProvider,
falling back to haskell-language-server's default.
[3.0.1] - 2023-11-23
Fixed
- Don't attempt to generate project tags if no project root is found.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has attached to.
[1.3.0] - 2022-11-14
Added
- Hover actions
- Command for loading files into the...
3.1.4
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.1.4] - 2024-01-20
Fixed
- Hoogle: Don't escape URLs when opening in browser [#336].
[3.1.3] - 2024-01-11
Fixed
- LSP: Add safety to
:HlsRestartcommand,
to prevent it from retrying indefinitely.
[3.1.2] - 2024-01-10
Fixed
- Hoogle (web): Error handling for invalid
curloutput [#322].
[3.1.1] - 2023-12-22
Fixed
- Health: Only report error if
lspconfig.hlshas been set up,
not other configurations.
[3.1.0] - 2023-12-18
Added
- Health: Warn if there are unrecognized configs in
vim.g.haskell_tools.
Fixed
- Health: Check if
vim.g.haskell_toolsis set,
but hasn't been sourced before initialization. - Hoogle (web): Make
curlsilent.
[3.0.2] - 2023-11-25
Fixed
- Remove default setting for
cabalFormattingProvider,
falling back to haskell-language-server's default.
[3.0.1] - 2023-11-23
Fixed
- Don't attempt to generate project tags if no project root is found.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has attached to.
[1.3.0] - 2022-11-14
Added
- Hover actions
- Command for loading files into the repl.
- Ability to paste multiple valid Haskell lines into the repl.
repl.paste_infoandrepl.cword_infofunctions.- Telescope live_grep and find_files commands for current package
- Register Telescope extension
Fix...
3.1.3
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.1.3] - 2024-01-11
Fixed
- LSP: Add safety to
:HlsRestartcommand,
to prevent it from retrying indefinitely.
[3.1.2] - 2024-01-10
Fixed
- Hoogle (web): Error handling for invalid
curloutput [#322].
[3.1.1] - 2023-12-22
Fixed
- Health: Only report error if
lspconfig.hlshas been set up,
not other configurations.
[3.1.0] - 2023-12-18
Added
- Health: Warn if there are unrecognized configs in
vim.g.haskell_tools.
Fixed
- Health: Check if
vim.g.haskell_toolsis set,
but hasn't been sourced before initialization. - Hoogle (web): Make
curlsilent.
[3.0.2] - 2023-11-25
Fixed
- Remove default setting for
cabalFormattingProvider,
falling back to haskell-language-server's default.
[3.0.1] - 2023-11-23
Fixed
- Don't attempt to generate project tags if no project root is found.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has attached to.
[1.3.0] - 2022-11-14
Added
- Hover actions
- Command for loading files into the repl.
- Ability to paste multiple valid Haskell lines into the repl.
repl.paste_infoandrepl.cword_infofunctions.- Telescope live_grep and find_files commands for current package
- Register Telescope extension
Fixed
- Fix broken
<C-b>keymap to open Hoogle entry in the browser
[1.2.0] - 2022-11-09
Added
- GHCi repl integration: Automagically detect the comm...
3.1.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.1.2] - 2024-01-10
Fixed
- Hoogle (web): Error handling for invalid
curloutput [#322].
[3.1.1] - 2023-12-22
Fixed
- Health: Only report error if
lspconfig.hlshas been set up,
not other configurations.
[3.1.0] - 2023-12-18
Added
- Health: Warn if there are unrecognized configs in
vim.g.haskell_tools.
Fixed
- Health: Check if
vim.g.haskell_toolsis set,
but hasn't been sourced before initialization. - Hoogle (web): Make
curlsilent.
[3.0.2] - 2023-11-25
Fixed
- Remove default setting for
cabalFormattingProvider,
falling back to haskell-language-server's default.
[3.0.1] - 2023-11-23
Fixed
- Don't attempt to generate project tags if no project root is found.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has attached to.
[1.3.0] - 2022-11-14
Added
- Hover actions
- Command for loading files into the repl.
- Ability to paste multiple valid Haskell lines into the repl.
repl.paste_infoandrepl.cword_infofunctions.- Telescope live_grep and find_files commands for current package
- Register Telescope extension
Fixed
- Fix broken
<C-b>keymap to open Hoogle entry in the browser
[1.2.0] - 2022-11-09
Added
- GHCi repl integration: Automagically detect the command to start GHCi and load the current buffer.
- Interact with the GHCi repl from any buffer using lua functions.
- `:HsProje...
3.1.1
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.1.1] - 2023-12-22
Fixed
- Health: Only report error if
lspconfig.hlshas been set up,
not other configurations.
[3.1.0] - 2023-12-18
Added
- Health: Warn if there are unrecognized configs in
vim.g.haskell_tools.
Fixed
- Health: Check if
vim.g.haskell_toolsis set,
but hasn't been sourced before initialization. - Hoogle (web): Make
curlsilent.
[3.0.2] - 2023-11-25
Fixed
- Remove default setting for
cabalFormattingProvider,
falling back to haskell-language-server's default.
[3.0.1] - 2023-11-23
Fixed
- Don't attempt to generate project tags if no project root is found.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has attached to.
[1.3.0] - 2022-11-14
Added
- Hover actions
- Command for loading files into the repl.
- Ability to paste multiple valid Haskell lines into the repl.
repl.paste_infoandrepl.cword_infofunctions.- Telescope live_grep and find_files commands for current package
- Register Telescope extension
Fixed
- Fix broken
<C-b>keymap to open Hoogle entry in the browser
[1.2.0] - 2022-11-09
Added
- GHCi repl integration: Automagically detect the command to start GHCi and load the current buffer.
- Interact with the GHCi repl from any buffer using lua functions.
:HsProjectFile,:HsPackageYamland:HsPackageCabalcommands to open project/package files for the current buffer.
Changed
- Do not close Hoogle Telescope prompt...
3.1.0
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.1.0] - 2023-12-18
Added
- Health: Warn if there are unrecognized configs in
vim.g.haskell_tools.
Fixed
- Health: Check if
vim.g.haskell_toolsis set,
but hasn't been sourced before initialization. - Hoogle (web): Make
curlsilent.
[3.0.2] - 2023-11-25
Fixed
- Remove default setting for
cabalFormattingProvider,
falling back to haskell-language-server's default.
[3.0.1] - 2023-11-23
Fixed
- Don't attempt to generate project tags if no project root is found.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has attached to.
[1.3.0] - 2022-11-14
Added
- Hover actions
- Command for loading files into the repl.
- Ability to paste multiple valid Haskell lines into the repl.
repl.paste_infoandrepl.cword_infofunctions.- Telescope live_grep and find_files commands for current package
- Register Telescope extension
Fixed
- Fix broken
<C-b>keymap to open Hoogle entry in the browser
[1.2.0] - 2022-11-09
Added
- GHCi repl integration: Automagically detect the command to start GHCi and load the current buffer.
- Interact with the GHCi repl from any buffer using lua functions.
:HsProjectFile,:HsPackageYamland:HsPackageCabalcommands to open project/package files for the current buffer.
Changed
- Do not close Hoogle Telescope prompt on
<C-b>(open hackage docs in browser).
Fixed
- Auto-refresh code lenses only for Haskell files
[1.1.0] - 2022-10-29
...
3.0.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.0.2] - 2023-11-25
Fixed
- Remove dafault setting for
cabalFormattingProvider,
falling back to haskell-language-server's default.
[3.0.1] - 2023-11-23
Fixed
- Don't attempt to generate project tags if no project root is found.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has attached to.
[1.3.0] - 2022-11-14
Added
- Hover actions
- Command for loading files into the repl.
- Ability to paste multiple valid Haskell lines into the repl.
repl.paste_infoandrepl.cword_infofunctions.- Telescope live_grep and find_files commands for current package
- Register Telescope extension
Fixed
- Fix broken
<C-b>keymap to open Hoogle entry in the browser
[1.2.0] - 2022-11-09
Added
- GHCi repl integration: Automagically detect the command to start GHCi and load the current buffer.
- Interact with the GHCi repl from any buffer using lua functions.
:HsProjectFile,:HsPackageYamland:HsPackageCabalcommands to open project/package files for the current buffer.
Changed
- Do not close Hoogle Telescope prompt on
<C-b>(open hackage docs in browser).
Fixed
- Auto-refresh code lenses only for Haskell files
[1.1.0] - 2022-10-29
Added
- Keymap to replace word under cursor when hoogling type signature
Fixed
- Fix broken telescope hoogle_attach_mappings call, causing error message on entry selection
[1.0.0] - 2022-10-25
Added
- Hoogle search (BREAKING CHANGE: Depends o...
3.0.1
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.0.1] - 2023-11-23
Fixed
- Don't attempt to generate project tags if no project root is found.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has attached to.
[1.3.0] - 2022-11-14
Added
- Hover actions
- Command for loading files into the repl.
- Ability to paste multiple valid Haskell lines into the repl.
repl.paste_infoandrepl.cword_infofunctions.- Telescope live_grep and find_files commands for current package
- Register Telescope extension
Fixed
- Fix broken
<C-b>keymap to open Hoogle entry in the browser
[1.2.0] - 2022-11-09
Added
- GHCi repl integration: Automagically detect the command to start GHCi and load the current buffer.
- Interact with the GHCi repl from any buffer using lua functions.
:HsProjectFile,:HsPackageYamland:HsPackageCabalcommands to open project/package files for the current buffer.
Changed
- Do not close Hoogle Telescope prompt on
<C-b>(open hackage docs in browser).
Fixed
- Auto-refresh code lenses only for Haskell files
[1.1.0] - 2022-10-29
Added
- Keymap to replace word under cursor when hoogling type signature
Fixed
- Fix broken telescope hoogle_attach_mappings call, causing error message on entry selection
[1.0.0] - 2022-10-25
Added
- Hoogle search (BREAKING CHANGE: Depends on
plenary.nvim) - Hoogle search for signature under cursor (telescope-local, telescope-web or browse...
3.0.0
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[3.0.0] - 2023-10-28
Changed
- Remove
plenary.nvimdependency.
POTENTIALLY BREAKING: This should not break anything, but removing a dependency is worth
a major version bump, just in case.
NOTE:plenary.nvimis still a dependency oftelescope.nvim. - POTENTIALLY BREAKING: Bump minimum Neovim version requirement to
0.9.
This plugin may still work with Neovim0.8, but its compatibility is not tested. - New, fabulous logo.
Added
- Add filetype information to the LSP client #275.
[2.4.0] - 2023-10-13
Added
vim.g.haskell_toolscan now also be a function that returns
a configuration table.HlsLogandHtLog,HtSetLogLevelcommands.
Fixed
- Configure
haskell-language-serverto log to a temporary file by default,
to prevent huge log files #264.
Changed
- Don't send an error notification if the name of the buffer
cannot be determined when starting the LSP client. checkhealth: Report on whether or notvim.g.haskell_toolsis set.
[2.3.0] - 2023-09-20
Added
- Health: Check for conflicting
lspconfig.hlsconfiguration. - New commands:
HlsEvalAll,HtReplToggle,HtReplQuit,HtReplLoad,HtReplReload
Fixed
- Builtin repl: Broken toggle
[2.2.0] - 2023-09-12
Added
- Automatically add
foldingRangeLSP client capabilities ifnvim-ufo
is installed.
[2.1.0] - 2023-09-10
Added
- Automatically discover debug adapter launch configurations if
nvim-dapandhaskell-debug-adapter
are detected.
This can be disabled by setting thevim.g.haskell_tools.dap.auto_discoveroption tofalse.
Fixed
- Hoogle replace (
<C-r>) no longer switches to insert mode.
[2.0.2] - 2023-09-02
Fixed
- Hover: Decode url-encoded (type-)definition paths in hover actions (#238).
[2.0.1] - 2023-09-01
Fixed
- Re-add public
haskell-tools.logAPI.
[2.0.0] - 2023-08-27
Changed
- New, more stable architecture.
- BREAKING: Remove
setupAPI. - BREAKING: Remove
start_or_attachAPI.
vim.g.haskell_toolscan be used for configuration instead. - BREAKING:
haskell-toolsnow
automatically initialises and attaches when opening a Haskell or Cabal file.
You can fine-tune this behaviour in the config. - BREAKING: Removed
haskell-tools.dap.nvim_dap(copy of thedapmodule). - BREAKING configuration changes:
hover.disablehas been changed tohover.enablefor consistency.hls_log(undocumented) has been moved tohls.logfile.
- Repl: Add
--ghc-option -Wwarntocabal replcommand.
Added
- Only attach cabal LSP clients if using
haskell-language-server > 1.9.0.0. - By default, fall back to
haskell-language-serverifhaskell-language-server-wrapper
is not found #233.
Fixed
- LSP client: Don't fail if
hls.on_attachfails.
[1.11.3] - 2023-08-06
Fixed
- Fix bug that broke codelens auto-refresh and lsp stop/restart #229.
[1.11.2] - 2023-08-03
Fixed
- Cabal: Do not advertise
server_capabilitiesforfoldingRangeProvider
andselectionRangeProvider(#223).
Prevents error messages caused by plugins that provide LSP client capabilities that are
not built-in to Neovim.
[1.11.1] - 2023-07-17
Fixed
- Hover: Fix error message when using go-to-definition/typeDefinition hover actions
with neovim-nightly (10.x).
[1.11.0] - 2023-07-05
Changed
- Improvements to type signature detection from
textDocument/hoverdocs.
Added
- Hover: Hoogle search entries for all detected type signatures.
Fixed
- repl: If both stack and cabal files are present, prefer stack if it is installed.
This is configurable with the optiontools.repl.prefer.
[1.10.2] - 2023-05-22
Fixed
- Do not use deprecated health check API in neovim > 0.9.
- Health checks: Parsing of dependency versions without a newline causes error message.
[1.10.1] - 2023-05-4
Fixed
- Typo in
dapmodule potentially leading to errors on warning logs.
[1.10.0] - 2023-04-17
Added
- Support for
nvim-dap
withhaskell-debug-adapter,
an experimental debug adapter for Haskell.
[1.9.7] - 2023-04-15
Fixed
- Remove some prints.
[1.9.6] - 2023-04-09
Fixed
- Loading files with
'builtin'repl handler (#177).
[1.9.5] - 2023-04-06
Fixed
- Prevent infinite recursion on strange operating systems in path iteration (#171).
[1.9.4] - 2023-04-02
Fixed
- Repl: Detection of single-package cabal projects.
- Hoogle (web): URL escaping.
Changed
- Remove rockspec (not needed, due to luarocks-tag-release-workflow).
HsProjectFile: Trystack.ymlfirst, then fall back tocabal.projectand then to*.cabal.
[1.9.3] - 2023-03-08
Fixed
- Silent failure and unexpected error message if
haskell-language-serverexecutable is not found (#154).
[1.9.2] - 2023-03-06
Fixed
- Initialisation of client capabilities when
nvim-cmpis not installed.
[1.9.1] - 2023-02-20
Fixed
- Typo in the logfile name.
[1.9.0] - 2023-02-17
Added
- LSP: Evaluate all code snippets in comments at once.
- Support setup in ftplugin/haskell.lua.
Fixed
- Check if attached LSP client supports codeLens before refreshing.
- Telescope extension can now be registered before haskell-tools has been setup.
[1.8.0] - 2023-02-03
Changed
- Set up LSP client without
nvim-lspconfig(removes the dependency). - Hover actions: Shorten locations relative to file, package or project.
- Only show definition/typeDefinition hover actions if they are in different locations.
Added
- Rockspec for automatic dependency management by LuaRocks-compatible plugin managers.
- LuaRocks tag release workflow.
HlsStart,HlsStopandHlsRestartcommands.- Dynamically load
haskell-language-serversettings JSON from project root, if available. - Health checks, runnable with
:checkhealth haskell-tools. - Validate configs during setup.
- Hover action for
textDocument/typeDefinition.
[1.7.0] - 2023-01-27
Fixed
- Fall back to hoogle browser search if telescope is not set up.
Changed
- Do not set a default layout for telescope Hoogle search.
[1.6.0] - 2023-01-21
Added
- Ability to temporarily set the log level via
ht.log.set_level(level). tools.repl.auto_focusoption.- Vimdocs
Fixed
- repl.toggleterm: Do not close on failure.
- repl: Quote file names.
[1.5.1] - 2023-01-08
Fixed
- Set default log level to
vim.log.levels.WARN.
[1.5.0] - 2023-01-08
Added
- Support for
hls-cabal-pluginandhls-cabal-fmtplugins. - Add logging
Fixed
- Packer init in minimal config for reproducing issues locally.
[1.4.4] - 2022-12-20
Fixed
- Pass the custom options to hoogle telescope, so that users' custom telescope
themes, etc. can be supported.
[1.4.3] - 2022-12-06
Fixed
- Error message shown if hoogle is installed, but telescope is missing
[1.4.2] - 2022-11-19
Fixed
- Bug causing hls to always use default settings
- Prevent concatenatenation with nil on tags generation if package root can't be found
[1.4.1] - 2022-11-19
Fixed
- Project tags not being generated on session start
[1.4.0] - 2022-11-18
Added
- Automatically generate project & package tags if
fast-tagsis installed. - Configuration for falling back to hoogle search if
vim.lsp.definitionfails. - Nix flake setup.
Fixed
- Hover actions improvements:
- Always show 'Go to definition' if location is found.
- Offer Hoogle search for package <> name if location is not found.
- Hoogle search: Replace multiple whitespace with single space.
- CodeLens: Only auto-refresh on buffer the LSP client has attached to.
[1.3.0] - 2022-11-14
Added
- Hover actions
- Command for loading files into the repl.
- Ability to paste multiple valid Haskell lines into the repl.
repl.paste_infoandrepl.cword_infofunctions.- Telescope live_grep and find_files commands for current package
- Register Telescope extension
Fixed
- Fix broken
<C-b>keymap to open Hoogle entry in the browser
[1.2.0] - 2022-11-09
Added
- GHCi repl integration: Automagically detect the command to start GHCi and load the current buffer.
- Interact with the GHCi repl from any buffer using lua functions.
:HsProjectFile,:HsPackageYamland:HsPackageCabalcommands to open project/package files for the current buffer.
Changed
- Do not close Hoogle Telescope prompt on
<C-b>(open hackage docs in browser).
Fixed
- Auto-refresh code lenses only for Haskell files
[1.1.0] - 2022-10-29
Added
- Keymap to replace word under cursor when hoogling type signature
Fixed
- Fix broken telescope hoogle_attach_mappings call, causing error message on entry selection
[1.0.0] - 2022-10-25
Added
- Hoogle search (BREAKING CHANGE: Depends on
plenary.nvim) - Hoogle search for signature under cursor (telescope-local, telescope-web or browser)
- Automatic registration of selection range capabilities if [nvim-lsp-selection-range](https://github.co...