diff --git a/home.nix b/home.nix index c93d3a7..3cc8f97 100644 --- a/home.nix +++ b/home.nix @@ -181,6 +181,7 @@ pkgs.asciinema pkgs.aspell pkgs.awscli + pkgs.bloop pkgs.cabal-install pkgs.cmake pkgs.coursier @@ -222,6 +223,7 @@ pkgs.readline pkgs.ripgrep pkgs.rnix-lsp + pkgs.sbt pkgs.shellcheck pkgs.stylua pkgs.sumneko-lua-language-server diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua index 1881df7..6cd9972 100644 --- a/programs/neovim/init.lua +++ b/programs/neovim/init.lua @@ -346,12 +346,26 @@ _G.load_config = function() } -- metals + vim.g.metals_server_version = '0.10.5+64-3c83447e-SNAPSHOT' vim.opt_global.shortmess:remove('F'):append 'c' Metals_config = require('metals').bare_config + Metals_config.settings = { + showImplicitArguments = true, + showInferredType = true, + bloopSbtAlreadyInstalled = true, + excludedPackages = { + "akka.actor.typed.javadsl", + "com.github.swagger.akka.javadsl", + "akka.stream.javadsl", + }, + fallbackScalaVersion = "2.13.6", + superMethodLensesEnabled = true, + javaHome = "~/.nix-profile" + } Metals_config.init_options.statusBarProvider = 'on' vim.cmd [[augroup lsp]] vim.cmd [[au!]] - vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(metals_config)]] + vim.cmd [[au FileType scala,sbt lua require("metals").initialize_or_attach(Metals_config)]] vim.cmd [[augroup end]] -- Map :Format to vim.lsp.buf.formatting()