-
-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Feature description
Kind of an openended issue.
My initial issue is that I contribute to several haskell packages, and haskell plugins like stan or hlint are noisy in the diagnostics.
To work around this:
- One way to fix this is probably to ignore DEBUG/INFO diagnostics as a general diagnostic nvim functions. can be annoying if you want to keep hlint but not stan
- add a hls.json with the correct config in every project. Can be annoying if you can't commit it.
- change the config dynamically. This is the usecase I prefer, toggling on/off plugins at runtime .
Here is what I've tried:
M.toggle_stan = function ()
local settings = M.generate_settings()
settings.hls.default_settings.haskell.plugin.stan.globalOn = not settings.hls.default_settings.haskell.plugin.stan.globalOn
return settings
end
M.restart_hls = function ()
local new_settings = M.toggle_stan()
vim.g.settings = new_settings
vim.cmd [[ HlsRestart ]]
end
Seems to work. Looking at the HLS doc, it looks like it could be generalized, haskell-tools could parse the available plugins via --list-plugins and expose a :HlsTools plugin toggle/enable/disable <plugin>.
Unrelated/more of a general problem but I believe that a good way to expose commands could be to have a function that registers menu commands. For my own purpose I have created a local context menu where I add commands but maybe haskell-tools could have a
function register_menu_entries command (prefix)
vim.cmd[[menu ]]..prefix..[[.Restart\ HLS <cmd>HlsRestart<cr>]]
...
end
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request