From 34a5bbdacbb5c5dbabe8674289020979b6300104 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Mon, 6 Mar 2023 22:05:55 +0530 Subject: [PATCH] nvim: after/ftplugin/cabal: Enable HLS on cabal files Enabling HLS on cabal files allows us to format them using gq. HLS just uses the internal cabal-fmt plugin. https://haskell-language-server.readthedocs.io/en/latest/features.html#formatting --- nvim/.config/nvim/after/ftplugin/cabal.lua | 4 ++++ nvim/.config/nvim/lua/lsp-utils.lua | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 nvim/.config/nvim/after/ftplugin/cabal.lua diff --git a/nvim/.config/nvim/after/ftplugin/cabal.lua b/nvim/.config/nvim/after/ftplugin/cabal.lua new file mode 100644 index 0000000..d0573c7 --- /dev/null +++ b/nvim/.config/nvim/after/ftplugin/cabal.lua @@ -0,0 +1,4 @@ +local lsp_utils = require('lsp-utils') +local hls_config = lsp_utils.hls_config() + +vim.lsp.start(hls_config) diff --git a/nvim/.config/nvim/lua/lsp-utils.lua b/nvim/.config/nvim/lua/lsp-utils.lua index 20e7a91..251a820 100644 --- a/nvim/.config/nvim/lua/lsp-utils.lua +++ b/nvim/.config/nvim/lua/lsp-utils.lua @@ -177,7 +177,12 @@ function M.hls_config() root_dir = root_directory, filetypes = { 'haskell' }, single_file_support = true, - settings = { haskell = { formattingProvider = 'ormolu' } }, + settings = { + haskell = { + formattingProvider = 'ormolu' , + cabalFormattingProvider = 'cabalfmt', + } + }, } end