feat: add purescript support for real

This commit is contained in:
Youwen Wu 2025-03-01 21:32:04 -08:00
parent 4cc439f402
commit 47e0a0b286
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3
5 changed files with 12 additions and 3 deletions

View file

@ -237,6 +237,9 @@
# fennel
nfnl
# purescript
purescript-vim
];
};

View file

@ -22,5 +22,10 @@
:typst]})
(lspconfig.fennel_ls.setup {})
(lspconfig.elmls.setup {})
(lspconfig.purescriptls.setup {}))
(lspconfig.purescriptls.setup {:command :purescript-language-server
:args [:stdio "--config {}"]
:filetypes [:purescript]
:rootPatterns [:bower.json
:psc-package.json
:spago.dhall]}))
{})}

View file

@ -15,6 +15,7 @@
(require :plugins.obsidian)
(require :plugins.starter)
[:vim-wakatime]
[:purescript-vim]
[:clangd_extensions.nvim]
[:vim-sleuth]
{1 :nvim-lspconfig :after (. (require :lsp) :setup) :event :BufEnter}

2
lua/lsp/init.lua generated
View file

@ -19,7 +19,7 @@ local function _1_()
lspconfig.vale_ls.setup({filetypes = {"markdown", "text", "tex", "rst", "typst"}})
lspconfig.fennel_ls.setup({})
lspconfig.elmls.setup({})
lspconfig.purescriptls.setup({})
lspconfig.purescriptls.setup({command = "purescript-language-server", args = {"stdio", "--config {}"}, filetypes = {"purescript"}, rootPatterns = {"bower.json", "psc-package.json", "spago.dhall"}})
end
return {}
end

View file

@ -103,4 +103,4 @@ local function _25_()
end
return vim.keymap.set("n", "<leader>fe", _28_)
end
return {require("plugins.blink-cmp"), require("plugins.telescope"), require("plugins.oil"), require("plugins.harpoon"), require("plugins.lualine"), require("plugins.conform"), require("plugins.lsp-progress"), require("plugins.gitsigns"), require("plugins.autopairs"), require("plugins.trouble"), require("plugins.render-markdown"), require("plugins.toggleterm"), require("plugins.by-lang.latex"), require("plugins.neogit"), require("plugins.obsidian"), require("plugins.starter"), {"vim-wakatime"}, {"clangd_extensions.nvim"}, {"vim-sleuth"}, {"nvim-lspconfig", after = require("lsp").setup, event = "BufEnter"}, {"which-key.nvim", after = _1_}, {"nvim-web-devicons"}, {"markdown-preview.nvim", filetypes = {"markdown"}}, {"typst-preview.nvim", after = _2_, filetypes = {"*.typ"}}, {"mini.ai", after = _3_, event = "BufEnter"}, {"mini.surround", after = _4_, event = "BufEnter"}, {"fidget.nvim", after = _5_}, {"cellular-automaton.nvim", cmd = "CellularAutomaton", keys = {{"<leader>mr", _6_, desc = "A surprise!", mode = "n"}, {"<leader>bruh", _7_, desc = "A surprise!", mode = "n"}}}, {"indent-blankline.nvim", after = _8_}, {"mini.bufremove", after = _9_, keys = {{"<leader>bd", _10_, desc = "Close buffer", mode = {"n", "v"}}}}, {"mini.hipatterns", after = _11_, event = "BufEnter"}, {"undotree", cmd = "UndotreeToggle", keys = {{"<leader>u", _12_, desc = "Toggle undotree", mode = "n"}}}, {"neocord", after = _13_, event = "BufEnter"}, {"crates.nvim", after = _14_, event = "BufRead Cargo.toml"}, {"rustaceanvim"}, {"haskell-tools.nvim", after = _15_}, {"typescript-tools.nvim", after = _17_, filetypes = {"typescriptreact", "typescript", "javascript", "svelte", "javascriptreact"}}, {"lsp_lines.nvim", after = _18_, event = "LspAttach"}, {"tailwind-tools.nvim", after = _19_}, {"blink-ripgrep", lazy = true}, {"blink.compat", lazy = true}, {"lazydev.nvim", after = _21_, filetypes = {"lua"}}, {"rose-pine", colorscheme = {"rose-pine", "rose-pine-dawn", "rose-pine-moon", "rose-pine-main"}}, {"oxocarbon.nvim", colorscheme = {"oxocarbon"}}, {"pomo-nvim", after = _22_, cmd = {"TimerStart", "TimerRepeat", "TimerSession"}, keys = {{"<leader>fp", _23_, desc = "Manage Pomodori Timers"}}}, {"dropbar.nvim", after = _24_}, {"mini.files", after = _25_}, {"nfnl", ft = {"fennel"}}}
return {require("plugins.blink-cmp"), require("plugins.telescope"), require("plugins.oil"), require("plugins.harpoon"), require("plugins.lualine"), require("plugins.conform"), require("plugins.lsp-progress"), require("plugins.gitsigns"), require("plugins.autopairs"), require("plugins.trouble"), require("plugins.render-markdown"), require("plugins.toggleterm"), require("plugins.by-lang.latex"), require("plugins.neogit"), require("plugins.obsidian"), require("plugins.starter"), {"vim-wakatime"}, {"purescript-vim"}, {"clangd_extensions.nvim"}, {"vim-sleuth"}, {"nvim-lspconfig", after = require("lsp").setup, event = "BufEnter"}, {"which-key.nvim", after = _1_}, {"nvim-web-devicons"}, {"markdown-preview.nvim", filetypes = {"markdown"}}, {"typst-preview.nvim", after = _2_, filetypes = {"*.typ"}}, {"mini.ai", after = _3_, event = "BufEnter"}, {"mini.surround", after = _4_, event = "BufEnter"}, {"fidget.nvim", after = _5_}, {"cellular-automaton.nvim", cmd = "CellularAutomaton", keys = {{"<leader>mr", _6_, desc = "A surprise!", mode = "n"}, {"<leader>bruh", _7_, desc = "A surprise!", mode = "n"}}}, {"indent-blankline.nvim", after = _8_}, {"mini.bufremove", after = _9_, keys = {{"<leader>bd", _10_, desc = "Close buffer", mode = {"n", "v"}}}}, {"mini.hipatterns", after = _11_, event = "BufEnter"}, {"undotree", cmd = "UndotreeToggle", keys = {{"<leader>u", _12_, desc = "Toggle undotree", mode = "n"}}}, {"neocord", after = _13_, event = "BufEnter"}, {"crates.nvim", after = _14_, event = "BufRead Cargo.toml"}, {"rustaceanvim"}, {"haskell-tools.nvim", after = _15_}, {"typescript-tools.nvim", after = _17_, filetypes = {"typescriptreact", "typescript", "javascript", "svelte", "javascriptreact"}}, {"lsp_lines.nvim", after = _18_, event = "LspAttach"}, {"tailwind-tools.nvim", after = _19_}, {"blink-ripgrep", lazy = true}, {"blink.compat", lazy = true}, {"lazydev.nvim", after = _21_, filetypes = {"lua"}}, {"rose-pine", colorscheme = {"rose-pine", "rose-pine-dawn", "rose-pine-moon", "rose-pine-main"}}, {"oxocarbon.nvim", colorscheme = {"oxocarbon"}}, {"pomo-nvim", after = _22_, cmd = {"TimerStart", "TimerRepeat", "TimerSession"}, keys = {{"<leader>fp", _23_, desc = "Manage Pomodori Timers"}}}, {"dropbar.nvim", after = _24_}, {"mini.files", after = _25_}, {"nfnl", ft = {"fennel"}}}