From 239756d583a29a220774ae611c515a4b90d218c1 Mon Sep 17 00:00:00 2001 From: ksyasuda Date: Thu, 13 Feb 2025 01:51:51 -0800 Subject: [PATCH] update --- init.vim | 3 +- lua/plugins.lua | 92 ++++++++++++++++++++----------------- lua/settings.lua | 3 ++ plugin-confs/lsp-format.lua | 2 + plugin-confs/null-ls.lua | 84 ++++++++++++++++++++++----------- plugin-confs/nvim-cmp.lua | 60 +++++++++++++----------- 6 files changed, 147 insertions(+), 97 deletions(-) create mode 100644 plugin-confs/lsp-format.lua diff --git a/init.vim b/init.vim index 2abfb8a..636fff3 100755 --- a/init.vim +++ b/init.vim @@ -33,6 +33,7 @@ source ~/.config/nvim/plugin-confs/lsp-kind.lua source ~/.config/nvim/plugin-confs/lspconfig.lua source ~/.config/nvim/plugin-confs/lsplines.lua source ~/.config/nvim/plugin-confs/null-ls.lua +source ~/.config/nvim/plugin-confs/lsp-format.lua source ~/.config/nvim/plugin-confs/nvim-cmp.lua source ~/.config/nvim/plugin-confs/luasnip.lua source ~/.config/nvim/plugin-confs/fidget.lua @@ -90,7 +91,7 @@ command! PS execute ":PackerSync" " set termguicolors " colorscheme doom-one " colorscheme onedark -" colorscheme catppuccin +colorscheme catppuccin-macchiato highlight Pmenu ctermfg=white ctermbg=black gui=NONE guifg=white guibg=#282C34 highlight PmenuSel guifg=purple guibg=red diff --git a/lua/plugins.lua b/lua/plugins.lua index dc247c9..6c963a6 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -276,6 +276,7 @@ require('packer').startup(function(use) use { 'nvimtools/none-ls.nvim' } use { 'neovim/nvim-lspconfig' } use { 'onsails/lspkind-nvim' } + use { 'lukas-reineke/lsp-format.nvim' } -- DAP {{{ @@ -351,10 +352,10 @@ require('packer').startup(function(use) config = function() require('neorg').setup { load = { - ["core.defaults"] = {}, -- Loads default behaviour - ["core.concealer"] = {}, -- Adds pretty icons to your documents + ["core.defaults"] = {}, -- Loads default behaviour + ["core.concealer"] = {}, -- Adds pretty icons to your documents ["core.completion"] = { config = { engine = "nvim-cmp" } }, -- Adds completion - ["core.dirman"] = { -- Manages Neorg workspaces + ["core.dirman"] = { -- Manages Neorg workspaces config = { workspaces = { notes = "~/notes" } } } } @@ -375,50 +376,57 @@ require('packer').startup(function(use) -- COLORSCHEMES {{{ use { 'Mofiqul/dracula.nvim' } - use({ - 'NTBBloodbath/doom-one.nvim', - setup = function() - -- Add color to cursor - vim.g.doom_one_cursor_coloring = false - -- Set :terminal colors - vim.g.doom_one_terminal_colors = true - -- Enable italic comments - vim.g.doom_one_italic_comments = false - -- Enable TS support - vim.g.doom_one_enable_treesitter = true - -- Color whole diagnostic text or only underline - vim.g.doom_one_diagnostics_text_color = false - -- Enable transparent background - vim.g.doom_one_transparent_background = false + -- use({ + -- 'NTBBloodbath/doom-one.nvim', + -- setup = function() + -- -- Add color to cursor + -- vim.g.doom_one_cursor_coloring = false + -- -- Set :terminal colors + -- vim.g.doom_one_terminal_colors = true + -- -- Enable italic comments + -- vim.g.doom_one_italic_comments = false + -- -- Enable TS support + -- vim.g.doom_one_enable_treesitter = true + -- -- Color whole diagnostic text or only underline + -- vim.g.doom_one_diagnostics_text_color = false + -- -- Enable transparent background + -- vim.g.doom_one_transparent_background = false - -- Pumblend transparency - vim.g.doom_one_pumblend_enable = false - vim.g.doom_one_pumblend_transparency = 20 + -- -- Pumblend transparency + -- vim.g.doom_one_pumblend_enable = false + -- vim.g.doom_one_pumblend_transparency = 20 - -- Plugins integration - vim.g.doom_one_plugin_neorg = true - vim.g.doom_one_plugin_barbar = false - vim.g.doom_one_plugin_telescope = true - vim.g.doom_one_plugin_neogit = true - vim.g.doom_one_plugin_nvim_tree = true - vim.g.doom_one_plugin_dashboard = true - vim.g.doom_one_plugin_startify = true - vim.g.doom_one_plugin_whichkey = true - vim.g.doom_one_plugin_indent_blankline = true - vim.g.doom_one_plugin_vim_illuminate = false - vim.g.doom_one_plugin_lspsaga = false - end, - config = function() - vim.cmd("colorscheme doom-one") - vim.cmd( - "highlight Pmenu ctermfg=white ctermbg=black gui=NONE guifg=white guibg=#282C34") - vim.cmd("highlight PmenuSel guifg=purple guibg=red") - end - }) + -- -- Plugins integration + -- vim.g.doom_one_plugin_neorg = true + -- vim.g.doom_one_plugin_barbar = false + -- vim.g.doom_one_plugin_telescope = true + -- vim.g.doom_one_plugin_neogit = true + -- vim.g.doom_one_plugin_nvim_tree = true + -- vim.g.doom_one_plugin_dashboard = true + -- vim.g.doom_one_plugin_startify = true + -- vim.g.doom_one_plugin_whichkey = true + -- vim.g.doom_one_plugin_indent_blankline = true + -- vim.g.doom_one_plugin_vim_illuminate = false + -- vim.g.doom_one_plugin_lspsaga = false + -- end + -- config = function() + -- vim.cmd("colorscheme doom-one") + -- vim.cmd( + -- "highlight Pmenu ctermfg=white ctermbg=black gui=NONE guifg=white guibg=#282C34") + -- vim.cmd("highlight PmenuSel guifg=purple guibg=red") + -- end + -- }) use { 'olimorris/onedarkpro.nvim' } use { 'projekt0n/github-nvim-theme' } - use { "catppuccin/nvim", as = "catppuccin" } + use { + "catppuccin/nvim", + as = "catppuccin", + config = function() + vim.cmd("colorscheme catppuccin-macchiato") + end + + } -- }}} end) diff --git a/lua/settings.lua b/lua/settings.lua index 8d4ebb5..d2d9cf4 100644 --- a/lua/settings.lua +++ b/lua/settings.lua @@ -46,8 +46,11 @@ o.updatetime = 300 o.timeoutlen = 500 o.pumwidth = 35 o.foldmethod = 'marker' +-- g.colorscheme = 'catppuccin-macchiato' g.db_ui_use_nerd_fonts = 1 +vim.cmd("colorscheme catppuccin-macchiato") + local border = { { "╭", "FloatBorder" }, { "─", "FloatBorder" }, { "╮", "FloatBorder" }, { "│", "FloatBorder" }, { "╯", "FloatBorder" }, { "─", "FloatBorder" }, diff --git a/plugin-confs/lsp-format.lua b/plugin-confs/lsp-format.lua new file mode 100644 index 0000000..fc70e5d --- /dev/null +++ b/plugin-confs/lsp-format.lua @@ -0,0 +1,2 @@ +require("lsp-format").setup {} +require("lspconfig").gopls.setup { on_attach = require("lsp-format").on_attach } diff --git a/plugin-confs/null-ls.lua b/plugin-confs/null-ls.lua index 976cbc9..cda196a 100644 --- a/plugin-confs/null-ls.lua +++ b/plugin-confs/null-ls.lua @@ -1,27 +1,46 @@ local null_ls = require("null-ls") local helpers = require("null-ls.helpers") +-- syncronous formatting +-- local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) +-- require("null-ls").setup({ +-- -- you can reuse a shared lspconfig on_attach callback here +-- on_attach = function(client, bufnr) +-- if client.supports_method("textDocument/formatting") then +-- vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) +-- vim.api.nvim_create_autocmd("BufWritePre", { +-- group = augroup, +-- buffer = bufnr, +-- callback = function() +-- -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead +-- -- on later neovim version, you should use vim.lsp.buf.format({ async = false }) instead +-- vim.lsp.buf.formatting_sync() +-- end, +-- }) +-- end +-- end, +-- }) -require("null-ls").setup({ - on_attach = function(client) - if client.supports_method "textDocument/formatting" then - vim.cmd([[ - augroup LspFormatting - autocmd! * - autocmd BufWritePre lua vim.lsp.buf.format() - augroup END - ]]) - end - end, +null_ls.setup({ + -- on_attach = function(client) + -- if client.supports_method "textDocument/formatting" then + -- vim.cmd([[ + -- augroup LspFormatting + -- autocmd! * + -- autocmd BufWritePre lua vim.lsp.buf.format() + -- augroup END + -- ]]) + -- end + -- end, sources = { -- null_ls.builtins.completion.spell, null_ls.builtins.completion.luasnip, -- null_ls.builtins.code_actions.gitsigns, - null_ls.builtins.code_actions.shellcheck, - null_ls.builtins.code_actions.eslint, null_ls.builtins.diagnostics.tsc, + -- null_ls.builtins.code_actions.eslint, + null_ls.builtins.diagnostics.tsc, null_ls.builtins.diagnostics.cppcheck, null_ls.builtins.diagnostics.gitlint, - null_ls.builtins.diagnostics.eslint - .with({ cmd = "eslint-language-server" }), + -- null_ls.builtins.diagnostics.eslint + -- .with({ cmd = "/usr/bin/eslint-language-server" }), null_ls.builtins.diagnostics.jsonlint, require("null-ls").builtins.diagnostics.luacheck, null_ls.builtins.diagnostics.markdownlint, @@ -30,20 +49,30 @@ require("null-ls").setup({ -- "--dialect", "oracle" -- } -- }), - null_ls.builtins.formatting.sql_formatter, - null_ls.builtins.diagnostics.pylint, null_ls.builtins.diagnostics.mypy, + -- null_ls.builtins.formatting.sql_formatter, + null_ls.builtins.diagnostics.pylint, + -- null_ls.builtins.diagnostics.pylint.with({ + -- diagnostics_postprocess = function(diagnostic) + -- diagnostic.code = diagnostic.message_id + -- end, + -- }), + null_ls.builtins.diagnostics.mypy, null_ls.builtins.diagnostics.pycodestyle, - null_ls.builtins.diagnostics.pydocstyle.with({ - extra_args = { "--config=$ROOT/setup.cfg" } - }), null_ls.builtins.diagnostics.vint, - null_ls.builtins.diagnostics.shellcheck.with({ - extra_args = { - "-s", "bash", "-o", - "add-default-case, check-set-e-suppressed, check-unassigned-uppercase, deprecate-which, quote-safe-variables" - } - }), null_ls.builtins.diagnostics.ansiblelint, + -- null_ls.builtins.diagnostics.pydocstyle.with({ + -- extra_args = { "--config=$ROOT/setup.cfg" } + -- }), + null_ls.builtins.diagnostics.vint, + -- null_ls.builtins.code_actions.shellcheck, + -- null_ls.builtins.diagnostics.shellcheck.with({ + -- extra_args = { + -- "-s", "bash", "-o", + -- "add-default-case, check-set-e-suppressed, check-unassigned-uppercase, deprecate-which, quote-safe-variables" + -- } + -- }), + null_ls.builtins.diagnostics.ansiblelint, null_ls.builtins.formatting.json_tool, require("null-ls").builtins.formatting.lua_format, + null_ls.builtins.formatting.stylua, null_ls.builtins.formatting.markdownlint, null_ls.builtins.formatting.prettier, -- handled by lsp server -- require("null-ls").builtins.formatting.rustfmt, @@ -51,7 +80,8 @@ require("null-ls").setup({ filetypes = { "sh", "bash" }, extra_args = { "-i", "0", "-ci", "-sr" } }), null_ls.builtins.formatting.black, - null_ls.builtins.formatting.isort, null_ls.builtins.formatting.djlint + null_ls.builtins.formatting.isort, null_ls.builtins.formatting.djlint, + null_ls.builtins.diagnostics.actionlint, -- null_ls.builtins.hover.printenv -- null_ls.builtins.formatting.tidy } diff --git a/plugin-confs/nvim-cmp.lua b/plugin-confs/nvim-cmp.lua index 8be3044..1753399 100644 --- a/plugin-confs/nvim-cmp.lua +++ b/plugin-confs/nvim-cmp.lua @@ -221,40 +221,46 @@ local servers = { for _, lsp in ipairs(servers) do if lsp == 'lua_ls' then lspconfig[lsp].setup { - -- on_attach = my_custom_on_attach, - -- on_attach = highlight_symbol_under_cursor(), - capabilities = capabilities, - callSnippet = "Replace", - settings = { - Lua = { + on_attach = require("lsp-format").on_attach, + on_init = function(client) + if client.workspace_folders then + local path = client.workspace_folders[1].name + if path ~= vim.fn.stdpath('config') and (vim.loop.fs_stat(path..'/.luarc.json') or vim.loop.fs_stat(path..'/.luarc.jsonc')) then + return + end + end + client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { runtime = { - version = 'Lua 5.4', - path = { - '?.lua', '?/init.lua', - -- vim.fn.expand '~/.luarocks/share/lua/5.4/?.lua', - -- vim.fn.expand '~/.luarocks/share/lua/5.4/?/init.lua', - '/usr/share/5.3/?.lua', - '/usr/share/lua/5.3/?/init.lua', - '/usr/share/5.4/?.lua', - '/usr/share/lua/5.4/?/init.lua' - } + -- Tell the language server which version of Lua you're using + -- (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT' }, + -- Make the server aware of Neovim runtime files workspace = { - library = { - -- vim.fn.expand '~/.luarocks/share/lua/5.3', - '/usr/share/lua/5.1', '/usr/share/lua/5.3', - '/usr/share/lua/5.4' - } + checkThirdParty = false, + library = { + vim.env.VIMRUNTIME + -- Depending on the usage, you might want to add additional paths here. + -- "${3rd}/luv/library" + -- "${3rd}/busted/library", + } + -- or pull in all of 'runtimepath'. NOTE: this is a lot slower and will cause issues when working on your own configuration (see https://github.com/neovim/nvim-lspconfig/issues/3189) + -- library = vim.api.nvim_get_runtime_file("", true) } + }) + end, + capabilities = capabilities, + callSnippet = "Replace", + settings = { + Lua = {} } - } } else - lspconfig[lsp].setup { capabilities = capabilities } + lspconfig[lsp].setup { on_attach = require("lsp-format").on_attach, capabilities = capabilities } end end -cmp.event:on("menu_opened", - function() vim.b.copilot_suggestion_hidden = true end) -cmp.event:on("menu_closed", - function() vim.b.copilot_suggestion_hidden = false end) +-- cmp.event:on("menu_opened", +-- function() vim.b.copilot_suggestion_hidden = true end) +-- cmp.event:on("menu_closed", + -- function() vim.b.copilot_suggestion_hidden = false end)