neovim update; removed unused files; dont now what else. whoops
This commit is contained in:
@@ -6,6 +6,8 @@
|
||||
nil
|
||||
ripgrep
|
||||
lldb
|
||||
lazygit
|
||||
gcc
|
||||
];
|
||||
|
||||
programs.neovim = {
|
||||
@@ -16,7 +18,6 @@ programs.neovim = {
|
||||
|
||||
programs.neovim.plugins = [
|
||||
pkgs.vimPlugins.lazy-nvim
|
||||
pkgs.vimPlugins.nvim-lspconfig
|
||||
];
|
||||
|
||||
home.file =
|
||||
@@ -24,8 +25,11 @@ programs.neovim.plugins = [
|
||||
{
|
||||
".config/nvim/init.lua".source = ./init.lua;
|
||||
".config/nvim/lua/config/lazy.lua".source = ./lua/config/lazy.lua;
|
||||
# ".config/nvim/lua/plugins/flutter.lua".source = ./lua/plugins/flutter.lua;
|
||||
".config/nvim/lua/plugins/coq.lua".source = ./lua/plugins/coq.lua;
|
||||
".config/nvim/lua/plugins/flutter.lua".source = ./lua/plugins/flutter.lua;
|
||||
# ".config/nvim/lua/plugins/coq.lua".source = ./lua/plugins/coq.lua;
|
||||
".config/nvim/lua/plugins/blink-cmp.lua".source = ./lua/plugins/blink-cmp.lua;
|
||||
".config/nvim/lua/plugins/lsp.lua".source = ./lua/plugins/lsp.lua;
|
||||
# ".config/nvim/lua/plugins/mason.lua".source = ./lua/plugins/mason.lua;
|
||||
".config/nvim/lua/plugins/treesitter.lua".source = ./lua/plugins/treesitter.lua;
|
||||
".config/nvim/lua/plugins/catppuccin.lua".source = ./lua/plugins/catppuccin.lua;
|
||||
".config/nvim/lua/plugins/telescope.lua".source = ./lua/plugins/telescope.lua;
|
||||
@@ -38,6 +42,17 @@ programs.neovim.plugins = [
|
||||
".config/nvim/lua/plugins/dap.lua".source = ./lua/plugins/dap.lua;
|
||||
".config/nvim/lua/plugins/blankline.lua".source = ./lua/plugins/blankline.lua;
|
||||
".config/nvim/lua/plugins/rustaceanvim.lua".source = ./lua/plugins/rustaceanvim.lua;
|
||||
".config/nvim/lua/plugins/lazygit.lua".source = ./lua/plugins/lazygit.lua;
|
||||
".config/nvim/lua/plugins/toggleterm.lua".source = ./lua/plugins/toggleterm.lua;
|
||||
".config/nvim/lua/plugins/love.lua".source = ./lua/plugins/love.lua;
|
||||
".config/nvim/lua/plugins/code-action.lua".source = ./lua/plugins/code-action.lua;
|
||||
".config/nvim/lua/plugins/tabby.lua".source = ./lua/plugins/tabby.lua;
|
||||
".config/nvim/lua/plugins/tabout.lua".source = ./lua/plugins/tabout.lua;
|
||||
".config/nvim/lua/plugins/autopair.lua".source = ./lua/plugins/autopair.lua;
|
||||
".config/nvim/lua/plugins/mini-animate.lua".source = ./lua/plugins/mini-animate.lua;
|
||||
".config/nvim/lua/plugins/vim-suda.lua".source = ./lua/plugins/vim-suda.lua;
|
||||
".config/nvim/lua/plugins/tiny-inline-diagnostic.lua".source = ./lua/plugins/tiny-inline-diagnostic.lua;
|
||||
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -31,11 +31,20 @@ vim.keymap.set('n', '<C-Down>', ':resize +2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Left>', ':vertical resize -2<CR>', opts)
|
||||
vim.keymap.set('n', '<C-Right>', ':vertical resize +2<CR>', opts)
|
||||
|
||||
|
||||
vim.keymap.set('i', 'jk', '<Esc>', opts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||
|
||||
-- jump to definition
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||
|
||||
-- code actions
|
||||
vim.keymap.set("n", "<leader>ca", function()
|
||||
require("tiny-code-action").code_action()
|
||||
end, { noremap = true, silent = true })
|
||||
|
||||
-- Lazy
|
||||
require("config.lazy")
|
||||
|
||||
-- require("flutter-tools").setup {} -- use defaults
|
||||
require("catppuccin").setup({
|
||||
integrations = {
|
||||
@@ -51,7 +60,6 @@ require("catppuccin").setup({
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
-- css colors
|
||||
vim.opt.termguicolors = true
|
||||
require('nvim-highlight-colors').setup({})
|
||||
@@ -59,69 +67,109 @@ require('nvim-highlight-colors').setup({})
|
||||
vim.cmd.colorscheme "catppuccin"
|
||||
|
||||
|
||||
|
||||
-- lsp
|
||||
local on_attach = function(_, bufnr)
|
||||
|
||||
local bufmap = function(keys, func)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||
end
|
||||
|
||||
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||
|
||||
bufmap('gd', vim.lsp.buf.definition)
|
||||
bufmap('gD', vim.lsp.buf.declaration)
|
||||
bufmap('gI', vim.lsp.buf.implementation)
|
||||
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||
|
||||
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||
|
||||
bufmap('K', vim.lsp.buf.hover)
|
||||
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, {})
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('coq').lsp_ensure_capabilities(capabilities)
|
||||
|
||||
require('lspconfig').lua_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
cmd = { "lua-language-server" },
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
require('lspconfig').nil_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
--[[ require('lspconfig').rust_analyzer.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
} ]]
|
||||
|
||||
|
||||
|
||||
-- Plugin setups
|
||||
require('lualine').setup()
|
||||
require("dapui").setup()
|
||||
require("ibl").setup()
|
||||
require("telescope").load_extension("flutter")
|
||||
require("toggleterm").setup{}
|
||||
require("mini.animate").setup()
|
||||
require("tiny-inline-diagnostic").setup()
|
||||
|
||||
-- -- Debugger
|
||||
require("tabby").setup({
|
||||
preset = 'tab_only'
|
||||
})
|
||||
|
||||
-- alternatively you can override the default configs
|
||||
require("flutter-tools").setup {
|
||||
ui = {
|
||||
-- the border type to use for all floating windows, the same options/formats
|
||||
-- used for ":h nvim_open_win" e.g. "single" | "shadow" | {<table-of-eight-chars>}
|
||||
border = "rounded",
|
||||
-- This determines whether notifications are show with `vim.notify` or with the plugin's custom UI
|
||||
-- please note that this option is eventually going to be deprecated and users will need to
|
||||
-- depend on plugins like `nvim-notify` instead.
|
||||
notification_style = 'plugin'
|
||||
},
|
||||
decorations = {
|
||||
statusline = {
|
||||
-- set to true to be able use the 'flutter_tools_decorations.app_version' in your statusline
|
||||
-- this will show the current version of the flutter app from the pubspec.yaml file
|
||||
app_version = false,
|
||||
-- set to true to be able use the 'flutter_tools_decorations.device' in your statusline
|
||||
-- this will show the currently running device if an application was started with a specific
|
||||
-- device
|
||||
device = true,
|
||||
-- set to true to be able use the 'flutter_tools_decorations.project_config' in your statusline
|
||||
-- this will show the currently selected project configuration
|
||||
project_config = false,
|
||||
}
|
||||
},
|
||||
debugger = { -- integrate with nvim dap + install dart code debugger
|
||||
enabled = true,
|
||||
-- if empty dap will not stop on any exceptions, otherwise it will stop on those specified
|
||||
-- see |:help dap.set_exception_breakpoints()| for more info
|
||||
exception_breakpoints = { "uncaught" },
|
||||
-- Whether to call toString() on objects in debug views like hovers and the
|
||||
-- variables list.
|
||||
-- Invoking toString() has a performance cost and may introduce side-effects,
|
||||
-- although users may expected this functionality. null is treated like false.
|
||||
evaluate_to_string_in_debug_views = true,
|
||||
},
|
||||
flutter_lookup_cmd = nil, -- example "dirname $(which flutter)" or "asdf where flutter"
|
||||
root_patterns = { ".git", "pubspec.yaml" }, -- patterns to find the root of your flutter project
|
||||
fvm = false, -- takes priority over path, uses <workspace>/.fvm/flutter_sdk if enabled
|
||||
widget_guides = {
|
||||
enabled = true,
|
||||
},
|
||||
closing_tags = {
|
||||
highlight = "ErrorMsg", -- highlight for the closing tag
|
||||
prefix = ">", -- character to use for close tag e.g. > Widget
|
||||
priority = 10, -- priority of virtual text in current line
|
||||
-- consider to configure this when there is a possibility of multiple virtual text items in one line
|
||||
-- see `priority` option in |:help nvim_buf_set_extmark| for more info
|
||||
enabled = true -- set to false to disable
|
||||
},
|
||||
dev_log = {
|
||||
enabled = true,
|
||||
filter = nil, -- optional callback to filter the log
|
||||
-- takes a log_line as string argument; returns a boolean or nil;
|
||||
-- the log_line is only added to the output if the function returns true
|
||||
notify_errors = false, -- if there is an error whilst running then notify the user
|
||||
open_cmd = "15split", -- command to use to open the log buffer
|
||||
focus_on_open = true, -- focus on the newly opened log window
|
||||
},
|
||||
dev_tools = {
|
||||
autostart = false, -- autostart devtools server if not detected
|
||||
auto_open_browser = false, -- Automatically opens devtools in the browser
|
||||
},
|
||||
outline = {
|
||||
open_cmd = "30vnew", -- command to use to open the outline buffer
|
||||
auto_open = false -- if true this will open the outline automatically when it is first populated
|
||||
},
|
||||
lsp = {
|
||||
color = { -- show the derived colours for dart variables
|
||||
enabled = true, -- whether or not to highlight color variables at all, only supported on flutter >= 2.10
|
||||
background = true, -- highlight the background
|
||||
background_color = nil, -- required, when background is transparent (i.e. background_color = { r = 19, g = 17, b = 24},)
|
||||
foreground = false, -- highlight the foreground
|
||||
virtual_text = true, -- show the highlight using virtual text
|
||||
virtual_text_str = "■", -- the virtual text character to highlight
|
||||
},
|
||||
-- see the link below for details on each option:
|
||||
-- https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/tool/lsp_spec/README.md#client-workspace-configuration
|
||||
settings = {
|
||||
showTodos = true,
|
||||
completeFunctionCalls = true,
|
||||
renameFilesWithClasses = "prompt", -- "always"
|
||||
enableSnippets = true,
|
||||
updateImportsOnRename = true, -- Whether to update imports and other directives when files are renamed. Required for `FlutterRename` command.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
------------- -- Debugger
|
||||
local dap, dapui = require("dap"), require("dapui")
|
||||
dap.listeners.before.attach.dapui_config = function()
|
||||
dapui.open()
|
||||
@@ -145,6 +193,7 @@ dap.adapters.lldb = {
|
||||
dap.configurations.c = dap.configurations.cpp
|
||||
dap.configurations.rust = dap.configurations.cpp
|
||||
|
||||
|
||||
--------------------------------------------
|
||||
local builtin = require('telescope.builtin')
|
||||
-- Telescope binds
|
||||
@@ -152,16 +201,26 @@ vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find f
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
||||
vim.keymap.set('n', '<leader>fb', ":Telescope file_browser<CR>", { desc = 'Telescope file_browser' })
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
|
||||
|
||||
vim.keymap.set('n', '<leader>fl', ": Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
|
||||
vim.keymap.set('n', '<leader>fl', ":Telescope flutter commands<CR>", { desc = "Open Telescope flutter" })
|
||||
-- Dap binds
|
||||
vim.keymap.set('n', '<leader>do', dapui.open, { desc = "Open debug overlay" })
|
||||
vim.keymap.set('n', '<leader>dc', dapui.close, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F5>', dap.toggle_breakpoint, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F6>', dap.continue, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F7>', dap.step_over, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F8>', dap.step_into, { desc = "Close debug overlay" })
|
||||
vim.keymap.set('n', '<F5>', dap.toggle_breakpoint, { desc = "Toggle breakpoint" })
|
||||
vim.keymap.set('n', '<F6>', dap.continue, { desc = "dap Continue" })
|
||||
vim.keymap.set('n', '<F7>', dap.step_over, { desc = "dap step over" })
|
||||
vim.keymap.set('n', '<F8>', dap.step_into, { desc = "dap step into" })
|
||||
|
||||
|
||||
|
||||
-- toggleterm binds
|
||||
vim.keymap.set('n', '<leader>tf', ':ToggleTerm direction=float <CR>', { desc = "Open floating terminal" })
|
||||
vim.keymap.set('n', '<leader>tt', ':ToggleTerm direction=tab size=50 <CR>', { desc = "Open terminal in new tab" })
|
||||
vim.keymap.set('n', '<leader>tv', ':ToggleTerm direction=vertical <CR>', { desc = "Open terminal vertical" })
|
||||
vim.keymap.set('n', '<leader>ts', ':ToggleTerm direction=vertical <CR>', { desc = "select open terminal" })
|
||||
-- code actions
|
||||
vim.keymap.set("n", "<leader>ca", function()
|
||||
require("tiny-code-action").code_action()
|
||||
end, { desc = "Show code actions", noremap = true, silent = true })
|
||||
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ vim.opt.rtp:prepend(lazypath)
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
|
||||
7
packages/nvim/lua/plugins/autopair.lua
Normal file
7
packages/nvim/lua/plugins/autopair.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
'windwp/nvim-autopairs',
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
-- use opts = {} for passing setup options
|
||||
-- this is equivalent to setup({}) function
|
||||
}
|
||||
48
packages/nvim/lua/plugins/blink-cmp.lua
Normal file
48
packages/nvim/lua/plugins/blink-cmp.lua
Normal file
@@ -0,0 +1,48 @@
|
||||
return {
|
||||
'saghen/blink.cmp',
|
||||
-- optional: provides snippets for the snippet source
|
||||
dependencies = { 'rafamadriz/friendly-snippets' },
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = '1.*',
|
||||
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
|
||||
-- build = 'cargo build --release',
|
||||
-- If you use nix, you can build from source using latest nightly rust with:
|
||||
-- build = 'nix run .#build-plugin',
|
||||
|
||||
---@module 'blink.cmp'
|
||||
---@type blink.cmp.Config
|
||||
opts = {
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = {
|
||||
preset = 'enter',
|
||||
-- map tap to cycle through
|
||||
['<S-Tab>'] = { 'select_prev', 'fallback' },
|
||||
['<Tab>'] = { 'select_next', 'fallback' },
|
||||
},
|
||||
|
||||
|
||||
appearance = {
|
||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = { documentation = { auto_show = false } },
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { 'lsp', 'path', 'snippets', 'buffer' },
|
||||
},
|
||||
|
||||
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
|
||||
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
|
||||
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
|
||||
--
|
||||
-- See the fuzzy documentation for more information
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" }
|
||||
},
|
||||
opts_extend = { "sources.default" }
|
||||
}
|
||||
11
packages/nvim/lua/plugins/code-action.lua
Normal file
11
packages/nvim/lua/plugins/code-action.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
"rachartier/tiny-code-action.nvim",
|
||||
dependencies = {
|
||||
{"nvim-lua/plenary.nvim"},
|
||||
{"nvim-telescope/telescope.nvim"},
|
||||
},
|
||||
event = "LspAttach",
|
||||
config = function()
|
||||
require('tiny-code-action').setup()
|
||||
end
|
||||
}
|
||||
21
packages/nvim/lua/plugins/lazygit.lua
Normal file
21
packages/nvim/lua/plugins/lazygit.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- nvim v0.8.0
|
||||
return {
|
||||
"kdheepak/lazygit.nvim",
|
||||
lazy = true,
|
||||
cmd = {
|
||||
"LazyGit",
|
||||
"LazyGitConfig",
|
||||
"LazyGitCurrentFile",
|
||||
"LazyGitFilter",
|
||||
"LazyGitFilterCurrentFile",
|
||||
},
|
||||
-- optional for floating window border decoration
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
-- setting the keybinding for LazyGit with 'keys' is recommended in
|
||||
-- order to load the plugin when the command is run for the first time
|
||||
keys = {
|
||||
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
||||
}
|
||||
}
|
||||
10
packages/nvim/lua/plugins/love.lua
Normal file
10
packages/nvim/lua/plugins/love.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
"S1M0N38/love2d.nvim",
|
||||
cmd = "LoveRun",
|
||||
opts = { },
|
||||
keys = {
|
||||
{ "<leader>v", ft = "lua", desc = "LÖVE" },
|
||||
{ "<leader>vv", "<cmd>LoveRun<cr>", ft = "lua", desc = "Run LÖVE" },
|
||||
{ "<leader>vs", "<cmd>LoveStop<cr>", ft = "lua", desc = "Stop LÖVE" },
|
||||
},
|
||||
}
|
||||
@@ -1,53 +1,30 @@
|
||||
local on_attach = function(_, bufnr)
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
dependencies = { 'saghen/blink.cmp' },
|
||||
|
||||
local bufmap = function(keys, func)
|
||||
vim.keymap.set('n', keys, func, { buffer = bufnr })
|
||||
-- example using `opts` for defining servers
|
||||
opts = {
|
||||
servers = {
|
||||
lua_ls = {},
|
||||
nil_ls = {},
|
||||
rust_analyzer = {}
|
||||
}
|
||||
},
|
||||
config = function(_, opts)
|
||||
local lspconfig = require('lspconfig')
|
||||
for server, config in pairs(opts.servers) do
|
||||
-- passing config.capabilities to blink.cmp merges with the capabilities in your
|
||||
-- `opts[server].capabilities, if you've defined it
|
||||
config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities)
|
||||
lspconfig[server].setup(config)
|
||||
end
|
||||
end
|
||||
|
||||
bufmap('<leader>r', vim.lsp.buf.rename)
|
||||
bufmap('<leader>a', vim.lsp.buf.code_action)
|
||||
|
||||
bufmap('gd', vim.lsp.buf.definition)
|
||||
bufmap('gD', vim.lsp.buf.declaration)
|
||||
bufmap('gI', vim.lsp.buf.implementation)
|
||||
bufmap('<leader>D', vim.lsp.buf.type_definition)
|
||||
|
||||
bufmap('gr', require('telescope.builtin').lsp_references)
|
||||
bufmap('<leader>s', require('telescope.builtin').lsp_document_symbols)
|
||||
bufmap('<leader>S', require('telescope.builtin').lsp_dynamic_workspace_symbols)
|
||||
|
||||
bufmap('K', vim.lsp.buf.hover)
|
||||
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, {})
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('coq').lsp_capabilities(capabilities) -- COQ spezifische Fähigkeiten
|
||||
|
||||
require('neodev').setup()
|
||||
require('lspconfig').lua_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
root_dir = function()
|
||||
return vim.loop.cwd()
|
||||
end,
|
||||
cmd = { "lua-language-server" },
|
||||
settings = {
|
||||
Lua = {
|
||||
workspace = { checkThirdParty = false },
|
||||
telemetry = { enable = false },
|
||||
},
|
||||
}
|
||||
-- -- example calling setup directly for each LSP
|
||||
-- config = function()
|
||||
-- local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||
-- local lspconfig = require('lspconfig')
|
||||
--
|
||||
-- lspconfig['lua_ls'].setup({ capabilities = capabilities })
|
||||
-- end
|
||||
}
|
||||
|
||||
require('lspconfig').nil_ls.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
require('lspconfig').rust_analyzer.setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
37
packages/nvim/lua/plugins/mason.lua
Normal file
37
packages/nvim/lua/plugins/mason.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
return {
|
||||
|
||||
"williamboman/mason.nvim",
|
||||
cmd = "Mason",
|
||||
keys = { { "<leader>cm", "<cmd>Mason<cr>", desc = "Mason" } },
|
||||
build = ":MasonUpdate",
|
||||
opts_extend = { "ensure_installed" },
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shfmt",
|
||||
},
|
||||
},
|
||||
---@param opts MasonSettings | {ensure_installed: string[]}
|
||||
config = function(_, opts)
|
||||
require("mason").setup(opts)
|
||||
local mr = require("mason-registry")
|
||||
mr:on("package:install:success", function()
|
||||
vim.defer_fn(function()
|
||||
-- trigger FileType event to possibly load this newly installed LSP server
|
||||
require("lazy.core.handler.event").trigger({
|
||||
event = "FileType",
|
||||
buf = vim.api.nvim_get_current_buf(),
|
||||
})
|
||||
end, 100)
|
||||
end)
|
||||
|
||||
mr.refresh(function()
|
||||
for _, tool in ipairs(opts.ensure_installed) do
|
||||
local p = mr.get_package(tool)
|
||||
if not p:is_installed() then
|
||||
p:install()
|
||||
end
|
||||
end
|
||||
end)
|
||||
end,
|
||||
}
|
||||
1
packages/nvim/lua/plugins/mini-animate.lua
Normal file
1
packages/nvim/lua/plugins/mini-animate.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { 'echasnovski/mini.animate', version = false }
|
||||
1
packages/nvim/lua/plugins/nio.lua
Normal file
1
packages/nvim/lua/plugins/nio.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { "nvim-neotest/nvim-nio" }
|
||||
8
packages/nvim/lua/plugins/tabby.lua
Normal file
8
packages/nvim/lua/plugins/tabby.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
'nanozuki/tabby.nvim',
|
||||
-- event = 'VimEnter', -- if you want lazy load, see below
|
||||
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||
config = function()
|
||||
-- configs...
|
||||
end,
|
||||
}
|
||||
42
packages/nvim/lua/plugins/tabout.lua
Normal file
42
packages/nvim/lua/plugins/tabout.lua
Normal file
@@ -0,0 +1,42 @@
|
||||
return {
|
||||
{
|
||||
'abecodes/tabout.nvim',
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('tabout').setup {
|
||||
tabkey = '<Tab>', -- key to trigger tabout, set to an empty string to disable
|
||||
backwards_tabkey = '<S-Tab>', -- key to trigger backwards tabout, set to an empty string to disable
|
||||
act_as_tab = true, -- shift content if tab out is not possible
|
||||
act_as_shift_tab = false, -- reverse shift content if tab out is not possible (if your keyboard/terminal supports <S-Tab>)
|
||||
default_tab = '<C-t>', -- shift default action (only at the beginning of a line, otherwise <TAB> is used)
|
||||
default_shift_tab = '<C-d>', -- reverse shift default action,
|
||||
enable_backwards = true, -- well ...
|
||||
completion = false, -- if the tabkey is used in a completion pum
|
||||
tabouts = {
|
||||
{ open = "'", close = "'" },
|
||||
{ open = '"', close = '"' },
|
||||
{ open = '`', close = '`' },
|
||||
{ open = '(', close = ')' },
|
||||
{ open = '[', close = ']' },
|
||||
{ open = '{', close = '}' }
|
||||
},
|
||||
ignore_beginning = true, --[[ if the cursor is at the beginning of a filled element it will rather tab out than shift the content ]]
|
||||
exclude = {} -- tabout will ignore these filetypes
|
||||
}
|
||||
end,
|
||||
dependencies = { -- These are optional
|
||||
"L3MON4D3/LuaSnip",
|
||||
},
|
||||
opt = true, -- Set this to true if the plugin is optional
|
||||
event = 'InsertCharPre', -- Set the event to 'InsertCharPre' for better compatibility
|
||||
priority = 1000,
|
||||
},
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
-- Disable default tab keybinding in LuaSnip
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
9
packages/nvim/lua/plugins/tiny-inline-diagnostic.lua
Normal file
9
packages/nvim/lua/plugins/tiny-inline-diagnostic.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
"rachartier/tiny-inline-diagnostic.nvim",
|
||||
event = "VeryLazy", -- Or `LspAttach`
|
||||
priority = 1000, -- needs to be loaded in first
|
||||
config = function()
|
||||
require('tiny-inline-diagnostic').setup()
|
||||
vim.diagnostic.config({ virtual_text = false }) -- Only if needed in your configuration, if you already have native LSP diagnostics
|
||||
end
|
||||
}
|
||||
4
packages/nvim/lua/plugins/toggleterm.lua
Normal file
4
packages/nvim/lua/plugins/toggleterm.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
-- amongst your other plugins
|
||||
{'akinsho/toggleterm.nvim', version = "*", config = true}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ return {
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
|
||||
configs.setup({
|
||||
ensure_installed = { "c", "lua", "html", "dart" },
|
||||
ensure_installed = { "c", "lua", "html", "dart", "nix" },
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
|
||||
3
packages/nvim/lua/plugins/vim-suda.lua
Normal file
3
packages/nvim/lua/plugins/vim-suda.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
"lambdalisue/vim-suda"
|
||||
}
|
||||
7
packages/nvim/nvim/plugins/autopair.lua
Normal file
7
packages/nvim/nvim/plugins/autopair.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
'windwp/nvim-autopairs',
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
-- use opts = {} for passing setup options
|
||||
-- this is equivalent to setup({}) function
|
||||
}
|
||||
7
packages/nvim/nvim/plugins/blankline.lua
Normal file
7
packages/nvim/nvim/plugins/blankline.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
main = "ibl",
|
||||
---@module "ibl"
|
||||
---@type ibl.config
|
||||
opts = {},
|
||||
}
|
||||
46
packages/nvim/nvim/plugins/blink-cmp.lua
Normal file
46
packages/nvim/nvim/plugins/blink-cmp.lua
Normal file
@@ -0,0 +1,46 @@
|
||||
return {
|
||||
'saghen/blink.cmp',
|
||||
-- optional: provides snippets for the snippet source
|
||||
dependencies = { 'rafamadriz/friendly-snippets' },
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = '1.*',
|
||||
opts = {
|
||||
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
|
||||
-- 'super-tab' for mappings similar to vscode (tab to accept)
|
||||
-- 'enter' for enter to accept
|
||||
-- 'none' for no mappings
|
||||
--
|
||||
-- All presets have the following mappings:
|
||||
-- C-space: Open menu or open docs if already open
|
||||
-- C-n/C-p or Up/Down: Select next/previous item
|
||||
-- C-e: Hide menu
|
||||
-- C-k: Toggle signature help (if signature.enabled = true)
|
||||
--
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = { preset = 'enter' },
|
||||
|
||||
appearance = {
|
||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = { documentation = { auto_show = false } },
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { 'lsp', 'path', 'snippets', 'buffer' },
|
||||
},
|
||||
|
||||
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
|
||||
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
|
||||
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
|
||||
--
|
||||
-- See the fuzzy documentation for more information
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" }
|
||||
},
|
||||
opts_extend = { "sources.default" }
|
||||
}
|
||||
11
packages/nvim/nvim/plugins/code-action.lua
Normal file
11
packages/nvim/nvim/plugins/code-action.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
"rachartier/tiny-code-action.nvim",
|
||||
dependencies = {
|
||||
{"nvim-lua/plenary.nvim"},
|
||||
{"nvim-telescope/telescope.nvim"},
|
||||
},
|
||||
event = "LspAttach",
|
||||
config = function()
|
||||
require('tiny-code-action').setup()
|
||||
end
|
||||
}
|
||||
8
packages/nvim/nvim/plugins/comment.lua
Normal file
8
packages/nvim/nvim/plugins/comment.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- add this to your lua/plugins.lua, lua/plugins/init.lua, or the file you keep your other plugins:
|
||||
return {
|
||||
'numToStr/Comment.nvim',
|
||||
opts = {
|
||||
-- add any options here
|
||||
}
|
||||
}
|
||||
|
||||
1
packages/nvim/nvim/plugins/dap.lua
Normal file
1
packages/nvim/nvim/plugins/dap.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { "rcarriga/nvim-dap-ui", dependencies = {"mfussenegger/nvim-dap", "nvim-neotest/nvim-nio"} }
|
||||
21
packages/nvim/nvim/plugins/lazygit.lua
Normal file
21
packages/nvim/nvim/plugins/lazygit.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- nvim v0.8.0
|
||||
return {
|
||||
"kdheepak/lazygit.nvim",
|
||||
lazy = true,
|
||||
cmd = {
|
||||
"LazyGit",
|
||||
"LazyGitConfig",
|
||||
"LazyGitCurrentFile",
|
||||
"LazyGitFilter",
|
||||
"LazyGitFilterCurrentFile",
|
||||
},
|
||||
-- optional for floating window border decoration
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
-- setting the keybinding for LazyGit with 'keys' is recommended in
|
||||
-- order to load the plugin when the command is run for the first time
|
||||
keys = {
|
||||
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
||||
}
|
||||
}
|
||||
11
packages/nvim/nvim/plugins/love.lua
Normal file
11
packages/nvim/nvim/plugins/love.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
-- using lazy.nvim
|
||||
return {
|
||||
"S1M0N38/love2d.nvim",
|
||||
cmd = "LoveRun",
|
||||
opts = { },
|
||||
keys = {
|
||||
{ "<leader>v", ft = "lua", desc = "LÖVE" },
|
||||
{ "<leader>vv", "<cmd>LoveRun<cr>", ft = "lua", desc = "Run LÖVE" },
|
||||
{ "<leader>vs", "<cmd>LoveStop<cr>", ft = "lua", desc = "Stop LÖVE" },
|
||||
},
|
||||
}
|
||||
1
packages/nvim/nvim/plugins/mini-animate.lua
Normal file
1
packages/nvim/nvim/plugins/mini-animate.lua
Normal file
@@ -0,0 +1 @@
|
||||
return { 'echasnovski/mini.animate', version = '*' }
|
||||
1
packages/nvim/nvim/plugins/nio.nvim
Normal file
1
packages/nvim/nvim/plugins/nio.nvim
Normal file
@@ -0,0 +1 @@
|
||||
return { "nvim-neotest/nvim-nio" }
|
||||
5
packages/nvim/nvim/plugins/rustaceanvim.lua
Normal file
5
packages/nvim/nvim/plugins/rustaceanvim.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
'mrcjkb/rustaceanvim',
|
||||
version = '^6', -- Recommended
|
||||
lazy = false, -- This plugin is already lazy
|
||||
}
|
||||
8
packages/nvim/nvim/plugins/tabby.lua
Normal file
8
packages/nvim/nvim/plugins/tabby.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
'nanozuki/tabby.nvim',
|
||||
-- event = 'VimEnter', -- if you want lazy load, see below
|
||||
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||
config = function()
|
||||
-- configs...
|
||||
end,
|
||||
}
|
||||
45
packages/nvim/nvim/plugins/tabout.lua
Normal file
45
packages/nvim/nvim/plugins/tabout.lua
Normal file
@@ -0,0 +1,45 @@
|
||||
-- Lua
|
||||
return {
|
||||
{
|
||||
'abecodes/tabout.nvim',
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('tabout').setup {
|
||||
tabkey = '<Tab>', -- key to trigger tabout, set to an empty string to disable
|
||||
backwards_tabkey = '<S-Tab>', -- key to trigger backwards tabout, set to an empty string to disable
|
||||
act_as_tab = true, -- shift content if tab out is not possible
|
||||
act_as_shift_tab = false, -- reverse shift content if tab out is not possible (if your keyboard/terminal supports <S-Tab>)
|
||||
default_tab = '<C-t>', -- shift default action (only at the beginning of a line, otherwise <TAB> is used)
|
||||
default_shift_tab = '<C-d>', -- reverse shift default action,
|
||||
enable_backwards = true, -- well ...
|
||||
completion = false, -- if the tabkey is used in a completion pum
|
||||
tabouts = {
|
||||
{ open = "'", close = "'" },
|
||||
{ open = '"', close = '"' },
|
||||
{ open = '`', close = '`' },
|
||||
{ open = '(', close = ')' },
|
||||
{ open = '[', close = ']' },
|
||||
{ open = '{', close = '}' }
|
||||
},
|
||||
ignore_beginning = true, --[[ if the cursor is at the beginning of a filled element it will rather tab out than shift the content ]]
|
||||
exclude = {} -- tabout will ignore these filetypes
|
||||
}
|
||||
end,
|
||||
dependencies = { -- These are optional
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"L3MON4D3/LuaSnip",
|
||||
"hrsh7th/nvim-cmp"
|
||||
},
|
||||
opt = true, -- Set this to true if the plugin is optional
|
||||
event = 'InsertCharPre', -- Set the event to 'InsertCharPre' for better compatibility
|
||||
priority = 1000,
|
||||
},
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
-- Disable default tab keybinding in LuaSnip
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
6
packages/nvim/nvim/plugins/toggleterm.lua
Normal file
6
packages/nvim/nvim/plugins/toggleterm.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
-- amongst your other plugins
|
||||
{'akinsho/toggleterm.nvim', version = "*", config = true}
|
||||
-- or
|
||||
{'akinsho/toggleterm.nvim', version = "*", opts = {--[[ things you want to change go here]]}}
|
||||
}
|
||||
37
packages/nvim/nvim/plugins/trouble.lua
Normal file
37
packages/nvim/nvim/plugins/trouble.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
return {
|
||||
"folke/trouble.nvim",
|
||||
opts = {}, -- for default options, refer to the configuration section for custom setup.
|
||||
cmd = "Trouble",
|
||||
keys = {
|
||||
{
|
||||
"<leader>xx",
|
||||
"<cmd>Trouble diagnostics toggle<cr>",
|
||||
desc = "Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xX",
|
||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
||||
desc = "Buffer Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cs",
|
||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cl",
|
||||
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
desc = "LSP Definitions / references / ... (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xL",
|
||||
"<cmd>Trouble loclist toggle<cr>",
|
||||
desc = "Location List (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xQ",
|
||||
"<cmd>Trouble qflist toggle<cr>",
|
||||
desc = "Quickfix List (Trouble)",
|
||||
},
|
||||
},
|
||||
}
|
||||
18
packages/nvim/nvim/plugins/whichkey.lua
Normal file
18
packages/nvim/nvim/plugins/whichkey.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = false })
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user