]> Git — Sourcephile - julm/julm-nix.git/commitdiff
Functionality/Scope(neovim/elixir-tools): add support for Erlang/Elixir main
authorJulien Moutinho <julm+julm-nix@sourcephile.fr>
Fri, 7 Nov 2025 17:10:22 +0000 (18:10 +0100)
committerJulien Moutinho <julm+julm-nix@sourcephile.fr>
Fri, 7 Nov 2025 17:10:58 +0000 (18:10 +0100)
home-manager/profiles/nvim.nix
home-manager/profiles/nvim/lua/plugins/elixir-tools.lua [new file with mode: 0644]

index 03def47a4e1d171c8d04ed8cbe2630da702b0e3d..d594d4b71623ad801d0e0877d6cb8656a163e81c 100644 (file)
@@ -59,6 +59,7 @@ in
       pkgs.vimPlugins.gitlinker-nvim
       pkgs.vimPlugins.gitsigns-nvim
       pkgs.vimPlugins.haskell-tools-nvim
+      pkgs.vimPlugins.elixir-tools-nvim
       pkgs.vimPlugins.hunk-nvim
       pkgs.vimPlugins.image-nvim
       (pkgs.vimUtils.buildVimPlugin {
@@ -158,6 +159,7 @@ in
           pkgs.lua-language-server
           pkgs.nixd
           pkgs.nil
+          pkgs.next-ls
           #pkgs.rust-analyzer
         ];
         snacks = [
diff --git a/home-manager/profiles/nvim/lua/plugins/elixir-tools.lua b/home-manager/profiles/nvim/lua/plugins/elixir-tools.lua
new file mode 100644 (file)
index 0000000..3b7c2ce
--- /dev/null
@@ -0,0 +1,29 @@
+-- Neovim plugin for Elixir
+-- https://github.com/elixir-tools/elixir-tools.nvim
+return {
+       "elixir-tools.nvim",
+       events = { "BufReadPre", "BufNewFile" },
+       after = function()
+               local elixir = require("elixir")
+               local elixirls = require("elixir.elixirls")
+
+               elixir.setup({
+                       nextls = { enable = true },
+                       elixirls = {
+                               enable = true,
+                               settings = elixirls.settings({
+                                       dialyzerEnabled = false,
+                                       enableTestLenses = false,
+                               }),
+                               on_attach = function(client, bufnr)
+                                       vim.keymap.set("n", "<space>fp", ":ElixirFromPipe<cr>", { buffer = true, noremap = true })
+                                       vim.keymap.set("n", "<space>tp", ":ElixirToPipe<cr>", { buffer = true, noremap = true })
+                                       vim.keymap.set("v", "<space>em", ":ElixirExpandMacro<cr>", { buffer = true, noremap = true })
+                               end,
+                       },
+                       projectionist = {
+                               enable = true,
+                       },
+               })
+       end,
+}