diff --git a/lazy-lock.json b/lazy-lock.json index a13f046..0515563 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -4,7 +4,7 @@ "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, "alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" }, "bigfile.nvim": { "branch": "main", "commit": "33eb067e3d7029ac77e081cfe7c45361887a311a" }, - "bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" }, + "bufferline.nvim": { "branch": "main", "commit": "6ac7e4f1eead72507cfdbc94dcd0c26b98b2f86e" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, @@ -13,6 +13,7 @@ "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "code_runner.nvim": { "branch": "main", "commit": "6c5bfe44a6c7523350cd706e6b3b8101166eed99" }, "codeium.nvim": { "branch": "main", "commit": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825" }, + "conform.nvim": { "branch": "master", "commit": "797d1f622a23d4a21bb58218bdf5999a9beac4ef" }, "dracula.nvim": { "branch": "main", "commit": "8d8bddb8814c3e7e62d80dda65a9876f97eb699c" }, "dressing.nvim": { "branch": "master", "commit": "71349f24c6e07b39f33600985843c289ca735308" }, "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, @@ -24,7 +25,7 @@ "mason-lspconfig.nvim": { "branch": "main", "commit": "9ae570e206360e47d30b4c35a4550c165f4ea7b7" }, "mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" }, "mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" }, - "mini.indentscope": { "branch": "main", "commit": "f15c61e71318b16c6616c2ace907136b76674f13" }, + "mini.indentscope": { "branch": "main", "commit": "56d42be090e8fcc68eda69cfe55af8c5e562300e" }, "neoscroll.nvim": { "branch": "master", "commit": "a731f66f1d39ec6175fd201c5bf849e54abda99c" }, "neotest": { "branch": "master", "commit": "f30bab1faef13d47f3905e065215c96a42d075ad" }, "neotest-java": { "branch": "main", "commit": "320f31c71b183f2c584198f33f93542fd0e5a768" }, diff --git a/lua/plugins/java.lua b/lua/plugins/java.lua index 72c3068..a66d3fd 100644 --- a/lua/plugins/java.lua +++ b/lua/plugins/java.lua @@ -46,6 +46,30 @@ if pcode.active_java_config.active then { "TS", function() require("neotest").run.stop() end, desc = "Stop" }, }, }, + { + "stevearc/conform.nvim", + event = { "BufReadPre", "BufNewFile" }, + config = function() + local conform = require("conform") + conform.setup({ + formatters_by_ft = { + java = { "google-java-format" }, + }, + format_on_save = { + -- These options will be passed to conform.format() + timeout_ms = 500, + lsp_fallback = true, + }, + }) + vim.keymap.set({ "n", "v" }, "lF", function() + conform.format({ + lsp_fallback = true, + async = false, + timeout_ms = 500, + }) + end, { desc = "Format file or range (in visual mode)" }) + end, + }, } end return M diff --git a/lua/user/utils/lualine_component.lua b/lua/user/utils/lualine_component.lua index c95a355..e09682d 100644 --- a/lua/user/utils/lualine_component.lua +++ b/lua/user/utils/lualine_component.lua @@ -106,6 +106,24 @@ return { local supported_formatters = formatter.list_registered(buf_ft) vim.list_extend(buf_client_names, supported_formatters) + -- add conform.nvim + local status, conform = pcall(require, "conform") + if status then + local formatters = conform.list_formatters_for_buffer() + if formatters and #formatters > 0 then + vim.list_extend(buf_client_names, formatters) + else + -- check if lspformat + local lsp_format = require("conform.lsp_format") + local bufnr = vim.api.nvim_get_current_buf() + local lsp_clients = lsp_format.get_format_clients({ bufnr = bufnr }) + + if not vim.tbl_isempty(lsp_clients) then + table.insert(buf_client_names, "LSP Formatter") + end + end + end + -- add linter local supported_linters = linter.linter_list_registered(buf_ft) vim.list_extend(buf_client_names, supported_linters)