瀏覽代碼

java default formatter

christianchiarulli 4 年之前
父節點
當前提交
3279553481
共有 3 個文件被更改,包括 30 次插入1 次删除
  1. 25 0
      ftplugin/java.lua
  2. 4 0
      lua/default-config.lua
  3. 1 1
      lua/lsp/tsserver-ls.lua

+ 25 - 0
ftplugin/java.lua

@@ -1,3 +1,28 @@
+vim.cmd "let proj = FindRootDirectory()"
+local root_dir = vim.api.nvim_get_var "proj"
+
+-- use the global prettier if you didn't find the local one
+local prettier_instance = root_dir .. "/node_modules/.bin/prettier"
+if vim.fn.executable(prettier_instance) ~= 1 then
+  prettier_instance = O.lang.tsserver.formatter.exe
+end
+
+O.formatters.filetype["java"] = {
+  function()
+    return {
+      exe = prettier_instance,
+      -- TODO: allow user to override this
+      args = { "--stdin-filepath", vim.api.nvim_buf_get_name(0) },
+      stdin = true,
+    }
+  end,
+}
+
+require("formatter.config").set_defaults {
+  logging = false,
+  filetype = O.formatters.filetype,
+}
+
 if require("lv-utils").check_lsp_client_active "jdtls" then
   return
 end

+ 4 - 0
lua/default-config.lua

@@ -132,6 +132,10 @@ O = {
       java_tools = {
         active = false,
       },
+      formatter = {
+        exe = "prettier",
+        args = { "--stdin-filepath", vim.api.nvim_buf_get_name(0), "--single-quote" },
+      },
     },
     json = {
       diagnostics = {

+ 1 - 1
lua/lsp/tsserver-ls.lua

@@ -13,7 +13,7 @@ O.formatters.filetype["javascriptreact"] = {
       exe = prettier_instance,
       -- TODO: allow user to override this
       args = { "--stdin-filepath", vim.api.nvim_buf_get_name(0), "--single-quote" },
-      stdin = true
+      stdin = true,
     }
   end,
 }