From 23d53b5d7bc2f31eed672c0a8d26dc608fb6d0ba Mon Sep 17 00:00:00 2001 From: Ibrahim Muftee Date: Mon, 4 Aug 2025 07:45:42 -0500 Subject: feat(nvim) slim down new config --- dot_config/nvim_new/lsp/hls.lua | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 dot_config/nvim_new/lsp/hls.lua (limited to 'dot_config/nvim_new/lsp/hls.lua') diff --git a/dot_config/nvim_new/lsp/hls.lua b/dot_config/nvim_new/lsp/hls.lua new file mode 100644 index 0000000..f6717e0 --- /dev/null +++ b/dot_config/nvim_new/lsp/hls.lua @@ -0,0 +1,30 @@ +---@brief +--- +--- https://github.com/haskell/haskell-language-server +--- +--- Haskell Language Server +--- +--- If you are using HLS 1.9.0.0, enable the language server to launch on Cabal files as well: +--- +--- ```lua +--- vim.lsp.config('hls', { +--- filetypes = { 'haskell', 'lhaskell', 'cabal' }, +--- }) +--- ``` + +local util = require 'lspconfig.util' + +return { + cmd = { 'haskell-language-server-wrapper', '--lsp' }, + filetypes = { 'haskell', 'lhaskell' }, + root_dir = function(bufnr, on_dir) + local fname = vim.api.nvim_buf_get_name(bufnr) + on_dir(util.root_pattern('hie.yaml', 'stack.yaml', 'cabal.project', '*.cabal', 'package.yaml')(fname)) + end, + settings = { + haskell = { + formattingProvider = 'ormolu', + cabalFormattingProvider = 'cabalfmt', + }, + }, +} -- cgit v1.2.3