Correct LSP setup + DAP + ...
This commit is contained in:
@@ -40,6 +40,8 @@ M.capabilities.textDocument.completion.completionItem = {
|
||||
},
|
||||
}
|
||||
|
||||
M.capabilities.textDocument.publishDiagnostics.tagSupport.valueSet = { 2 }
|
||||
|
||||
require("lspconfig").lua_ls.setup {
|
||||
on_init = M.on_init,
|
||||
on_attach = M.on_attach,
|
||||
@@ -64,4 +66,80 @@ require("lspconfig").lua_ls.setup {
|
||||
},
|
||||
}
|
||||
|
||||
-- local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
-- capabilities.textDocument.publishDiagnostics.tagSupport.valueSet = { 2 }
|
||||
|
||||
require("lspconfig").pyright.setup {
|
||||
on_init = M.on_init,
|
||||
on_attach = M.on_attach,
|
||||
capabilities = M.capabilities,
|
||||
|
||||
settings = {
|
||||
pyright = {
|
||||
-- Options available here: https://github.com/microsoft/pyright/blob/main/docs/settings.md
|
||||
disableOrganizeImports = true, -- Using Ruff
|
||||
-- disableLanguageServices = true, -- Using Ruff
|
||||
},
|
||||
python = {
|
||||
analysis = {
|
||||
-- ignore = { "*" }, -- Using Ruff
|
||||
-- typeCheckingMode = "off", -- Using mypy
|
||||
diagnosticSeverityOverrides = {
|
||||
reportMissingImports = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- -- This can be used for removing message based on regex etc. For now, all those message are disabled by the tagSupport.valueSet
|
||||
-- local function filter(arr, func)
|
||||
-- -- Filter in place
|
||||
-- -- https://stackoverflow.com/questions/49709998/how-to-filter-a-lua-array-inplace
|
||||
-- local new_index = 1
|
||||
-- local size_orig = #arr
|
||||
-- for old_index, v in ipairs(arr) do
|
||||
-- if func(v, old_index) then
|
||||
-- arr[new_index] = v
|
||||
-- new_index = new_index + 1
|
||||
-- end
|
||||
-- end
|
||||
-- for i = new_index, size_orig do
|
||||
-- arr[i] = nil
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
-- local function filter_diagnostics(diagnostic)
|
||||
-- -- Only filter out Pyright stuff for now
|
||||
-- if diagnostic.source ~= "Pyright" then
|
||||
-- return true
|
||||
-- end
|
||||
--
|
||||
-- -- Allow kwargs to be unused, sometimes you want many functions to take the
|
||||
-- -- same arguments but you don't use all the arguments in all the functions,
|
||||
-- -- so kwargs is used to suck up all the extras
|
||||
-- if diagnostic.message == '"kwargs" is not accessed' then
|
||||
-- return false
|
||||
-- end
|
||||
--
|
||||
-- -- Allow variables starting with an underscore
|
||||
-- if string.match(diagnostic.message, '"_.+" is not accessed') then
|
||||
-- return false
|
||||
-- end
|
||||
--
|
||||
-- -- For now, remove all not accessed message. I will still have assigned but not accessed message!
|
||||
-- if string.match(diagnostic.message, '".+" is not accessed') then
|
||||
-- return false
|
||||
-- end
|
||||
--
|
||||
-- return true
|
||||
-- end
|
||||
--
|
||||
-- local function custom_on_publish_diagnostics(a, params, client_id, c)
|
||||
-- filter(params.diagnostics, filter_diagnostics)
|
||||
-- vim.lsp.diagnostic.on_publish_diagnostics(a, params, client_id, c)
|
||||
-- end
|
||||
--
|
||||
-- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(custom_on_publish_diagnostics, {})
|
||||
|
||||
return M
|
||||
|
||||
@@ -1,47 +1,48 @@
|
||||
-- See: https://github.com/neovim/nvim-lspconfig/tree/54eb2a070a4f389b1be0f98070f81d23e2b1a715#suggested-configuration
|
||||
local opts = { noremap=true, silent=true }
|
||||
vim.keymap.set('n', '<space>k', vim.diagnostic.open_float, opts)
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
||||
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
|
||||
local opts = { noremap = true, silent = true }
|
||||
vim.keymap.set("n", "<space>k", vim.diagnostic.open_float, opts)
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
|
||||
-- vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
|
||||
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_attach = function(client, bufnr)
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
|
||||
-- Mappings.
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
local bufopts = { noremap=true, silent=true, buffer=bufnr }
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
|
||||
local bufopts = { noremap = true, silent = true, buffer = bufnr }
|
||||
-- vim.keymap.set("n", "gD", vim.lsp.buf.declaration, bufopts)
|
||||
-- vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
|
||||
-- vim.keymap.set("n", "K", vim.lsp.buf.hover, bufopts)
|
||||
-- vim.keymap.set("n", "gi", vim.lsp.buf.implementation, bufopts)
|
||||
-- vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wl', function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end, bufopts)
|
||||
-- vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, bufopts)
|
||||
-- vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||
-- vim.keymap.set("n", "<space>wl", function()
|
||||
-- print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
-- end, bufopts)
|
||||
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
||||
vim.keymap.set('n', '<space>f', function() vim.lsp.buf.format { async = true } end, bufopts)
|
||||
-- vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, bufopts)
|
||||
-- vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, bufopts)
|
||||
vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, bufopts)
|
||||
-- vim.keymap.set("n", "gr", vim.lsp.buf.references, bufopts)
|
||||
-- vim.keymap.set("n", "<space>f", function()
|
||||
-- vim.lsp.buf.format { async = true }
|
||||
-- end, bufopts)
|
||||
end
|
||||
|
||||
-- Configure `ruff-lsp`.
|
||||
-- See: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#ruff_lsp
|
||||
-- For the default config, along with instructions on how to customize the settings
|
||||
require('lspconfig').ruff_lsp.setup {
|
||||
require("lspconfig").ruff_lsp.setup {
|
||||
on_attach = on_attach,
|
||||
init_options = {
|
||||
settings = {
|
||||
-- Any extra CLI arguments for `ruff` go here.
|
||||
args = {"--ignore", "E741"},
|
||||
}
|
||||
|
||||
}
|
||||
args = { "--ignore", "E741" },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,7 +1,20 @@
|
||||
local custom_actions = {}
|
||||
local actions = require("telescope.actions")
|
||||
local lga_actions = require("telescope-live-grep-args.actions")
|
||||
local action_state = require("telescope.actions.state")
|
||||
local from_entry = require("telescope.from_entry")
|
||||
local scan = require("plenary.scandir")
|
||||
local pickers = require("telescope.pickers")
|
||||
local finders = require("telescope.finders")
|
||||
local make_entry = require("telescope.make_entry")
|
||||
local action_set = require 'telescope.actions.set'
|
||||
local conf = require('telescope.config').values
|
||||
local builtin = require("telescope.builtin")
|
||||
|
||||
-- Usefull:
|
||||
-- [[
|
||||
-- https://github.com/JoosepAlviste/dotfiles/blob/master/config/nvim/lua/j/telescope_custom_pickers.lua
|
||||
-- ]]
|
||||
|
||||
|
||||
local entry_to_qf = function(entry)
|
||||
@@ -91,6 +104,122 @@ function custom_actions.multi_selection_vtab(prompt_bufnr)
|
||||
return custom_actions._multiopen(prompt_bufnr, "tabe", "tabe", "a", "loclist")
|
||||
end
|
||||
|
||||
function custom_actions.set_extension(prompt_bufnr)
|
||||
local current_input = action_state.get_current_line()
|
||||
|
||||
vim.ui.input({ prompt = 'Search in extension: *.' }, function(input)
|
||||
if input == nil then
|
||||
return
|
||||
end
|
||||
|
||||
-- Close and reopen a prompt with the same input
|
||||
actions.close(prompt_bufnr)
|
||||
builtin.live_grep({ default_text = current_input, type_filter = input })
|
||||
end)
|
||||
end
|
||||
|
||||
function custom_actions.to_live_grep_args(prompt_bufnr)
|
||||
local current_input = action_state.get_current_line()
|
||||
|
||||
-- Close and reopen a prompt with live_grep_args
|
||||
actions.close(prompt_bufnr)
|
||||
require("telescope").extensions.live_grep_args.live_grep_args({ default_text = current_input })
|
||||
end
|
||||
|
||||
function custom_actions.set_folders(prompt_bufnr)
|
||||
local current_input = action_state.get_current_line()
|
||||
|
||||
local data = {}
|
||||
scan.scan_dir(vim.loop.cwd(), {
|
||||
hidden = true,
|
||||
only_dirs = true,
|
||||
respect_gitignore = true,
|
||||
on_insert = function(entry)
|
||||
table.insert(data, entry .. "/")
|
||||
end,
|
||||
})
|
||||
table.insert(data, 1, "./")
|
||||
|
||||
actions.close(prompt_bufnr)
|
||||
-- Create a new picker with Telescope to select folders we want to filter in
|
||||
pickers.new({
|
||||
prompt_title = 'Select folders for current ("' .. current_input .. '") search',
|
||||
finder = finders.new_table { results = data, entry_maker = make_entry.gen_from_file {} },
|
||||
previewer = conf.file_previewer {},
|
||||
sorter = conf.file_sorter {},
|
||||
attach_mappings = function(prompt_bufnr2)
|
||||
action_set.select:replace(function()
|
||||
local current_picker = action_state.get_current_picker(prompt_bufnr2)
|
||||
|
||||
local dirs = {}
|
||||
local selections = current_picker:get_multi_selection()
|
||||
if vim.tbl_isempty(selections) then
|
||||
table.insert(dirs, action_state.get_selected_entry().value)
|
||||
else
|
||||
for _, selection in ipairs(selections) do
|
||||
table.insert(dirs, selection.value)
|
||||
end
|
||||
end
|
||||
|
||||
actions.close(prompt_bufnr2)
|
||||
builtin.live_grep({ default_text = current_input, search_dirs = dirs })
|
||||
end)
|
||||
return true
|
||||
|
||||
end,
|
||||
}):find()
|
||||
|
||||
end
|
||||
|
||||
function custom_actions.set_files(prompt_bufnr)
|
||||
local current_input = action_state.get_current_line()
|
||||
local find_command = {"rg", "--files", "--color=never", "--no-heading"}
|
||||
actions.close(prompt_bufnr)
|
||||
if current_input ~= "" then
|
||||
find_command = {"rg", "--color=never", "--no-heading", "-l", current_input}
|
||||
end
|
||||
|
||||
local opts = {
|
||||
entry_maker = make_entry.gen_from_file(),
|
||||
find_command = find_command,
|
||||
}
|
||||
|
||||
print(vim.inspect(find_command))
|
||||
-- Create a new picker with Telescope to select files we want to filter in
|
||||
pickers
|
||||
.new(opts, {
|
||||
prompt_title = 'Select files for current ("' .. current_input .. '") search',
|
||||
__locations_input = true,
|
||||
finder = finders.new_oneshot_job(find_command, opts),
|
||||
previewer = conf.grep_previewer(opts),
|
||||
sorter = conf.file_sorter(opts),
|
||||
attach_mappings = function(prompt_bufnr2)
|
||||
actions.select_default:replace(function()
|
||||
local current_picker = action_state.get_current_picker(prompt_bufnr2)
|
||||
|
||||
local files = {}
|
||||
local selections = current_picker:get_multi_selection()
|
||||
if vim.tbl_isempty(selections) then
|
||||
local entry = action_state.get_selected_entry()
|
||||
table.insert(files, entry.value)
|
||||
else
|
||||
for _, selection in ipairs(selections) do
|
||||
table.insert(files, selection.value)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-- Close the preview picker and select a new one, restricted to the files selected
|
||||
actions.close(prompt_bufnr2)
|
||||
builtin.live_grep({ default_text = current_input, search_dirs = files })
|
||||
end)
|
||||
return true
|
||||
end,
|
||||
})
|
||||
:find()
|
||||
|
||||
end
|
||||
|
||||
local options = {
|
||||
defaults = {
|
||||
vimgrep_arguments = {
|
||||
@@ -157,12 +286,18 @@ local options = {
|
||||
find_files = {
|
||||
mappings = {
|
||||
i = {
|
||||
-- Fuzzy refine ("Freeze the current list and start a fuzzy search in the frozen list")
|
||||
["<C-i>"] = actions.to_fuzzy_refine,
|
||||
|
||||
-- Send to qflist or loclist
|
||||
["<C-l>"] = actions.smart_send_to_loclist,
|
||||
["<C-Space>"] = actions.smart_send_to_qflist,
|
||||
|
||||
-- Multi selection open
|
||||
["<CR>"] = custom_actions.multi_selection_open,
|
||||
["<C-v>"] = custom_actions.multi_selection_vsplit,
|
||||
["<C-X>"] = custom_actions.multi_selection_split,
|
||||
["<C-T>"] = custom_actions.multi_selection_tab,
|
||||
["<C-Space>"] = actions.smart_send_to_qflist,
|
||||
["<C-L>"] = actions.smart_send_to_loclist,
|
||||
},
|
||||
n = i,
|
||||
}
|
||||
@@ -170,21 +305,49 @@ local options = {
|
||||
live_grep = {
|
||||
mappings = {
|
||||
i = {
|
||||
-- Fuzzy refine ("Freeze the current list and start a fuzzy search in the frozen list")
|
||||
["<C-i>"] = actions.to_fuzzy_refine,
|
||||
|
||||
-- Send to qflist or loclist
|
||||
["<C-l>"] = actions.smart_send_to_loclist,
|
||||
["<C-Space>"] = actions.smart_send_to_qflist,
|
||||
["<C-L>"] = actions.smart_send_to_loclist,
|
||||
|
||||
-- To quote prompt -> Pass to live_grep_args
|
||||
["<C-k>"] = custom_actions.to_live_grep_args,
|
||||
|
||||
-- Search for files/folder/extensions
|
||||
["<C-f>"] = custom_actions.set_files,
|
||||
["<C-g>"] = custom_actions.set_folders,
|
||||
["<C-e>"] = custom_actions.set_extension,
|
||||
},
|
||||
n = i,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
extensions_list = { "themes", "terms", "fzf", "macrothis" },
|
||||
extensions_list = { "themes", "terms", "fzf", "macrothis", "live_grep_args" },
|
||||
extensions = {
|
||||
fzf = {
|
||||
fuzzy = true,
|
||||
override_generic_sorter = true,
|
||||
override_file_sorter = true,
|
||||
case_mode = "smart_case",
|
||||
},
|
||||
live_grep_args = {
|
||||
auto_quoting = true,
|
||||
mappings = {
|
||||
i = {
|
||||
-- Fuzzy refine ("Freeze the current list and start a fuzzy search in the frozen list")
|
||||
["<C-i>"] = actions.to_fuzzy_refine,
|
||||
|
||||
-- Send to qflist or loclist
|
||||
["<C-l>"] = actions.smart_send_to_loclist,
|
||||
["<C-Space>"] = actions.smart_send_to_qflist,
|
||||
|
||||
-- Quote prompt, for passing parameters to vimgrep
|
||||
["<C-k>"] = lga_actions.quote_prompt(),
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+195
-72
@@ -13,60 +13,62 @@ local default_plugins = {
|
||||
end,
|
||||
ft = { "markdown" },
|
||||
},
|
||||
{"tpope/vim-fugitive", lazy=false},
|
||||
{"rbong/vim-flog", lazy=false},
|
||||
{"tpope/vim-surround", lazy=false},
|
||||
{"tpope/vim-obsession", lazy=false},
|
||||
{"preservim/tagbar", lazy=false},
|
||||
{"ludovicchabant/vim-gutentags", lazy=false},
|
||||
{"emaniacs/vim-rest-console", lazy=false},
|
||||
{"git@github.com:mfussenegger/nvim-dap.git", lazy=false},
|
||||
{ "tpope/vim-fugitive", lazy = false },
|
||||
{ "rbong/vim-flog", lazy = false },
|
||||
{ "tpope/vim-surround", lazy = false },
|
||||
{ "tpope/vim-obsession", lazy = false },
|
||||
{ "preservim/tagbar", lazy = false },
|
||||
{ "ludovicchabant/vim-gutentags", lazy = false },
|
||||
{ "emaniacs/vim-rest-console", lazy = false },
|
||||
{ "mfussenegger/nvim-dap", lazy = false },
|
||||
{
|
||||
"git@github.com:rcarriga/nvim-dap-ui",
|
||||
"rcarriga/nvim-dap-ui",
|
||||
dependencies = {
|
||||
"mfussenegger/nvim-dap",
|
||||
"nvim-neotest/nvim-nio"
|
||||
"nvim-neotest/nvim-nio",
|
||||
},
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
},
|
||||
{
|
||||
"git@github.com:mfussenegger/nvim-dap-python.git",
|
||||
"mfussenegger/nvim-dap-python",
|
||||
dependencies = {
|
||||
"mfussenegger/nvim-dap",
|
||||
"rcarriga/nvim-dap-ui",
|
||||
},
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
init = function()
|
||||
require("dap-python").setup("python")
|
||||
require("dap-python").setup "python"
|
||||
-- Setup nvim-dap-ui also
|
||||
require("dapui").setup()
|
||||
end,
|
||||
config = function(_, opts)
|
||||
local dap = require('dap')
|
||||
vim.api.nvim_set_hl(0, "dark-orange", { bg="#402c16"})
|
||||
vim.fn.sign_define('DapBreakpoint', {text='🛑', texthl='', linehl='', numhl=''})
|
||||
vim.fn.sign_define('DapStopped', {text='', texthl='', linehl='dark-orange', numhl=''})
|
||||
dap.defaults.fallback.terminal_win_cmd = 'tabnew'
|
||||
config = function(_, _)
|
||||
local dap = require "dap"
|
||||
vim.api.nvim_set_hl(0, "dark-orange", { bg = "#402c16" })
|
||||
vim.fn.sign_define("DapBreakpoint", { text = "🛑", texthl = "", linehl = "", numhl = "" })
|
||||
vim.fn.sign_define("DapStopped", { text = "", texthl = "", linehl = "dark-orange", numhl = "" })
|
||||
dap.defaults.fallback.terminal_win_cmd = "tabnew"
|
||||
dap.defaults.fallback.focus_terminal = true
|
||||
end,
|
||||
},
|
||||
{
|
||||
"Weissle/persistent-breakpoints.nvim",
|
||||
lazy=false,
|
||||
config = function(_, opts)
|
||||
require('persistent-breakpoints').setup{
|
||||
load_breakpoints_event = { "BufReadPost" }
|
||||
lazy = false,
|
||||
config = function(_, _)
|
||||
require("persistent-breakpoints").setup {
|
||||
load_breakpoints_event = { "BufReadPost" },
|
||||
}
|
||||
end,
|
||||
},
|
||||
{"nvim-telescope/telescope-dap.nvim", lazy=false},
|
||||
{"harrisoncramer/gitlab.nvim",
|
||||
{ "nvim-telescope/telescope-live-grep-args.nvim", lazy = false },
|
||||
{ "nvim-telescope/telescope-dap.nvim", lazy = false },
|
||||
{
|
||||
"harrisoncramer/gitlab.nvim",
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"sindrets/diffview.nvim",
|
||||
"stevearc/dressing.nvim", -- Recommended but not required. Better UI for pickers.
|
||||
"nvim-tree/nvim-web-devicons" -- Recommended but not required. Icons in discussion tree.
|
||||
"nvim-tree/nvim-web-devicons", -- Recommended but not required. Icons in discussion tree.
|
||||
},
|
||||
enabled = true,
|
||||
lazy = false,
|
||||
@@ -82,13 +84,64 @@ local default_plugins = {
|
||||
},
|
||||
{
|
||||
"sindrets/diffview.nvim",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
opts = function()
|
||||
return require "plugins.configs.diffview"
|
||||
end,
|
||||
},
|
||||
|
||||
{"nvim-telescope/telescope-fzf-native.nvim", build="make"},
|
||||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||
|
||||
{
|
||||
"stevearc/quicker.nvim",
|
||||
opts = {},
|
||||
init = function()
|
||||
require("quicker").setup()
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"chentoast/marks.nvim",
|
||||
lazy = false,
|
||||
init = function()
|
||||
require("marks").setup {
|
||||
default_mappings = true,
|
||||
signs = true,
|
||||
mappings = {},
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
opts = {},
|
||||
init = function()
|
||||
require("conform").setup {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
-- You can use a function here to determine the formatters dynamically
|
||||
python = function(bufnr)
|
||||
if require("conform").get_formatter_info("ruff_format", bufnr).available then
|
||||
return { "isort", "black" }
|
||||
-- return { "ruff_format" }
|
||||
else
|
||||
return { "isort", "black" }
|
||||
end
|
||||
end,
|
||||
-- javascript = { "prettierd", "prettier", stop_after_first = true },
|
||||
},
|
||||
options = {
|
||||
lang_to_formatters = {
|
||||
json = { "jq" },
|
||||
},
|
||||
},
|
||||
format_on_save = {
|
||||
timeout_ms = 500,
|
||||
lsp_format = "fallback",
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"NvChad/base46",
|
||||
@@ -174,9 +227,7 @@ local default_plugins = {
|
||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup(
|
||||
require("plugins.configs.treesitter_textobjects")
|
||||
)
|
||||
require("nvim-treesitter.configs").setup(require "plugins.configs.treesitter_textobjects")
|
||||
end,
|
||||
},
|
||||
|
||||
@@ -294,56 +345,115 @@ local default_plugins = {
|
||||
"desdic/macrothis.nvim",
|
||||
opts = {},
|
||||
keys = {
|
||||
{ "<Leader>kkd", function() require('macrothis').delete() end, desc = "Delete" },
|
||||
{ "<Leader>kke", function() require('macrothis').edit() end, desc = "Edit" },
|
||||
{ "<Leader>kkl", function() require('macrothis').load() end, desc = "Load" },
|
||||
{ "<Leader>kkn", function() require('macrothis').rename() end, desc = "Rename" },
|
||||
{ "<Leader>kkq", function() require('macrothis').quickfix() end, desc = "Run macro on all files in quickfix" },
|
||||
{ "<Leader>kkr", function() require('macrothis').run() end, desc = "Run macro" },
|
||||
{ "<Leader>kks", function() require('macrothis').save() end, desc = "Save" },
|
||||
{ "<Leader>kkx", function() require('macrothis').register() end, desc = "Edit register" },
|
||||
{ "<Leader>kkp", function() require('macrothis').copy_register_printable() end, desc = "Copy register as printable" },
|
||||
{ "<Leader>kkm", function() require('macrothis').copy_macro_printable() end, desc = "Copy macro as printable" },
|
||||
}
|
||||
{
|
||||
"<Leader>kkd",
|
||||
function()
|
||||
require("macrothis").delete()
|
||||
end,
|
||||
desc = "[D]elete",
|
||||
},
|
||||
{
|
||||
"<Leader>kke",
|
||||
function()
|
||||
require("macrothis").edit()
|
||||
end,
|
||||
desc = "[E]dit",
|
||||
},
|
||||
{
|
||||
"<Leader>kkl",
|
||||
function()
|
||||
require("macrothis").load()
|
||||
end,
|
||||
desc = "[L]oad",
|
||||
},
|
||||
{
|
||||
"<Leader>kkn",
|
||||
function()
|
||||
require("macrothis").rename()
|
||||
end,
|
||||
desc = "Re[n]ame",
|
||||
},
|
||||
{
|
||||
"<Leader>kkq",
|
||||
function()
|
||||
require("macrothis").quickfix()
|
||||
end,
|
||||
desc = "Run macro on all files in [q]uickfix",
|
||||
},
|
||||
{
|
||||
"<Leader>kkr",
|
||||
function()
|
||||
require("macrothis").run()
|
||||
end,
|
||||
desc = "[R]un macro",
|
||||
},
|
||||
{
|
||||
"<Leader>kks",
|
||||
function()
|
||||
require("macrothis").save()
|
||||
end,
|
||||
desc = "[S]ave",
|
||||
},
|
||||
{
|
||||
"<Leader>kkx",
|
||||
function()
|
||||
require("macrothis").register()
|
||||
end,
|
||||
desc = "Edit register",
|
||||
},
|
||||
{
|
||||
"<Leader>kkp",
|
||||
function()
|
||||
require("macrothis").copy_register_printable()
|
||||
end,
|
||||
desc = "Co[p]y register as printable",
|
||||
},
|
||||
{
|
||||
"<Leader>kkm",
|
||||
function()
|
||||
require("macrothis").copy_macro_printable()
|
||||
end,
|
||||
desc = "Copy [m]acro as printable",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"onsails/diaglist.nvim",
|
||||
lazy=false,
|
||||
debug=false,
|
||||
lazy = false,
|
||||
debug = false,
|
||||
},
|
||||
|
||||
{
|
||||
"anuvyklack/hydra.nvim",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
},
|
||||
|
||||
{
|
||||
"gioele/vim-autoswap",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
},
|
||||
|
||||
{
|
||||
"natecraddock/workspaces.nvim",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
|
||||
config = function()
|
||||
require("workspaces").setup({
|
||||
require("workspaces").setup {
|
||||
hooks = {
|
||||
open = {"Telescope find_files"},
|
||||
}
|
||||
})
|
||||
open = { "Telescope find_files" },
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"mangelozzi/rgflow.nvim",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
|
||||
config = function()
|
||||
require("rgflow").setup({
|
||||
require("rgflow").setup {
|
||||
-- Set the default rip grep flags and options for when running a search via
|
||||
-- RgFlow. Once changed via the UI, the previous search flags are used for
|
||||
-- RgFlow. Once changed via the UI, the previous search flags are used for
|
||||
-- each subsequent search (until Neovim restarts).
|
||||
cmd_flags = "--smart-case --fixed-strings --ignore --max-columns 200",
|
||||
|
||||
@@ -353,32 +463,32 @@ local default_plugins = {
|
||||
default_ui_mappings = true,
|
||||
-- QuickFix window only mapping
|
||||
default_quickfix_mappings = true,
|
||||
})
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"yorickpeterse/nvim-window",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('nvim-window').setup({
|
||||
normal_hl = 'Normal',
|
||||
hint_hl = 'Bold',
|
||||
border = 'single'
|
||||
})
|
||||
require("nvim-window").setup {
|
||||
normal_hl = "Normal",
|
||||
hint_hl = "Bold",
|
||||
border = "single",
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"sindrets/winshift.nvim",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
},
|
||||
|
||||
{
|
||||
"kdheepak/lazygit.nvim",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("lazy").setup({
|
||||
require("lazy").setup {
|
||||
{
|
||||
"kdheepak/lazygit.nvim",
|
||||
-- optional for floating window border decoration
|
||||
@@ -386,7 +496,7 @@ local default_plugins = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
@@ -431,7 +541,7 @@ local default_plugins = {
|
||||
-- Only load whichkey after all the gui
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
keys = { "<leader>", "<c-r>", "<c-w>", '"', "'", "`", "c", "v", "g" },
|
||||
init = function()
|
||||
require("core.utils").load_mappings "whichkey"
|
||||
@@ -445,7 +555,7 @@ local default_plugins = {
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
dependencies = { "nvim-lua/plenary.nvim" }
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
},
|
||||
{
|
||||
"folke/noice.nvim",
|
||||
@@ -453,6 +563,19 @@ local default_plugins = {
|
||||
opts = function()
|
||||
return require "plugins.configs.noice"
|
||||
end,
|
||||
init = function()
|
||||
require("noice").setup {
|
||||
routes = {
|
||||
{
|
||||
view = "notify",
|
||||
filter = { event = "msg_showmode" },
|
||||
},
|
||||
},
|
||||
}
|
||||
-- require("notify").setup({
|
||||
-- background_colour = "#000000"
|
||||
-- })
|
||||
end,
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
-- "rcarriga/nvim-notify",
|
||||
@@ -460,14 +583,14 @@ local default_plugins = {
|
||||
},
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
lazy=false,
|
||||
lazy = false,
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local config = require("core.utils").load_config()
|
||||
|
||||
Reference in New Issue
Block a user