Update
This commit is contained in:
parent
f7dcdca817
commit
eba8d49b13
1 changed files with 111 additions and 96 deletions
207
init.lua
207
init.lua
|
|
@ -248,7 +248,10 @@ require("lazy").setup({
|
||||||
vim.cmd.colorscheme "kanagawa"
|
vim.cmd.colorscheme "kanagawa"
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
{ "rcarriga/nvim-dap-ui", dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" } },
|
{
|
||||||
|
"rcarriga/nvim-dap-ui",
|
||||||
|
dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" }
|
||||||
|
},
|
||||||
{
|
{
|
||||||
'mrcjkb/rustaceanvim',
|
'mrcjkb/rustaceanvim',
|
||||||
version = '^4',
|
version = '^4',
|
||||||
|
|
@ -282,7 +285,7 @@ require("lazy").setup({
|
||||||
'linrongbin16/lsp-progress.nvim',
|
'linrongbin16/lsp-progress.nvim',
|
||||||
opts = {}
|
opts = {}
|
||||||
},
|
},
|
||||||
{ "cappyzawa/trim.nvim", opts = {} },
|
{ "cappyzawa/trim.nvim", opts = {} },
|
||||||
{
|
{
|
||||||
"kdheepak/lazygit.nvim",
|
"kdheepak/lazygit.nvim",
|
||||||
cmd = {
|
cmd = {
|
||||||
|
|
@ -302,27 +305,11 @@ require("lazy").setup({
|
||||||
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"kdheepak/lazygit.nvim",
|
|
||||||
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" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Treesitter
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
require 'nvim-treesitter.configs'.setup({
|
require 'nvim-treesitter.configs'.setup({
|
||||||
ensure_installed = {},
|
ensure_installed = {},
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
|
|
@ -334,6 +321,9 @@ require 'nvim-treesitter.configs'.setup({
|
||||||
modules = {}
|
modules = {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Autocomplete
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
local cmp = require('cmp')
|
local cmp = require('cmp')
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
snippet = {
|
snippet = {
|
||||||
|
|
@ -358,55 +348,9 @@ cmp.setup({
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
require('lspconfig').ruby_lsp.setup {}
|
-------------------------------------------------------------------------------
|
||||||
require('lspconfig').ts_ls.setup {}
|
-- LSP
|
||||||
require('lspconfig').gopls.setup {}
|
-------------------------------------------------------------------------------
|
||||||
require('lspconfig').basedpyright.setup {}
|
|
||||||
require 'lspconfig'.lua_ls.setup {
|
|
||||||
on_init = function(client)
|
|
||||||
local path = client.workspace_folders[1].name
|
|
||||||
if vim.loop.fs_stat(path .. '/.luarc.json') or vim.loop.fs_stat(path .. '/.luarc.jsonc') then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
|
|
||||||
runtime = {
|
|
||||||
version = 'LuaJIT'
|
|
||||||
},
|
|
||||||
workspace = {
|
|
||||||
checkThirdParty = false,
|
|
||||||
library = {
|
|
||||||
vim.env.VIMRUNTIME
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
settings = {
|
|
||||||
Lua = {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-- require("lspconfig").pyright.setup({})
|
|
||||||
vim.api.nvim_create_autocmd('BufWritePre', {
|
|
||||||
callback = function()
|
|
||||||
vim.lsp.buf.format({
|
|
||||||
filter = function(client)
|
|
||||||
-- apply whatever logic you want (in this example, we'll only use null-ls)
|
|
||||||
return client.name ~= "ts_ls"
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
require('lspconfig').ruff.setup {
|
|
||||||
on_attach = function(client)
|
|
||||||
client.server_capabilities.hoverProvider = false
|
|
||||||
end,
|
|
||||||
init_options = {
|
|
||||||
settings = {
|
|
||||||
args = {},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
require 'lspconfig'.gdscript.setup {}
|
|
||||||
local on_attach = function(bufnr)
|
local on_attach = function(bufnr)
|
||||||
local function buf_set_option(...)
|
local function buf_set_option(...)
|
||||||
vim.api.nvim_buf_set_option(bufnr, ...)
|
vim.api.nvim_buf_set_option(bufnr, ...)
|
||||||
|
|
@ -441,6 +385,66 @@ vim.api.nvim_create_autocmd("LspAttach", {
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- LSP Sources
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
local null_ls = require("null-ls")
|
||||||
|
local sources = {
|
||||||
|
null_ls.builtins.formatting.prettier,
|
||||||
|
}
|
||||||
|
null_ls.setup({ sources = sources })
|
||||||
|
require('lspconfig').ruby_lsp.setup {}
|
||||||
|
require('lspconfig').ts_ls.setup {}
|
||||||
|
require('lspconfig').gopls.setup {}
|
||||||
|
require('lspconfig').basedpyright.setup {}
|
||||||
|
require 'lspconfig'.lua_ls.setup {
|
||||||
|
on_init = function(client)
|
||||||
|
local path = client.workspace_folders[1].name
|
||||||
|
if vim.loop.fs_stat(path .. '/.luarc.json') or vim.loop.fs_stat(path .. '/.luarc.jsonc') then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
|
||||||
|
runtime = {
|
||||||
|
version = 'LuaJIT'
|
||||||
|
},
|
||||||
|
workspace = {
|
||||||
|
checkThirdParty = false,
|
||||||
|
library = {
|
||||||
|
vim.env.VIMRUNTIME
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
settings = {
|
||||||
|
Lua = {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vim.api.nvim_create_autocmd('BufWritePre', {
|
||||||
|
callback = function()
|
||||||
|
vim.lsp.buf.format({
|
||||||
|
filter = function(client)
|
||||||
|
-- apply whatever logic you want (in this example, we'll only use null-ls)
|
||||||
|
return client.name ~= "ts_ls"
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
require('lspconfig').ruff.setup {
|
||||||
|
on_attach = function(client)
|
||||||
|
client.server_capabilities.hoverProvider = false
|
||||||
|
end,
|
||||||
|
init_options = {
|
||||||
|
settings = {
|
||||||
|
args = {},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
require 'lspconfig'.gdscript.setup {}
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Debugging
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
local dap = require('dap')
|
local dap = require('dap')
|
||||||
dap.adapters.lldb = {
|
dap.adapters.lldb = {
|
||||||
type = 'executable',
|
type = 'executable',
|
||||||
|
|
@ -470,23 +474,9 @@ vim.api.nvim_set_hl(0, 'DapBreakpoint', { ctermbg = 0, fg = '#993939', bg = '#31
|
||||||
vim.api.nvim_set_hl(0, 'DapLogPoint', { ctermbg = 0, fg = '#61afef', bg = '#31353f' })
|
vim.api.nvim_set_hl(0, 'DapLogPoint', { ctermbg = 0, fg = '#61afef', bg = '#31353f' })
|
||||||
vim.api.nvim_set_hl(0, 'DapStopped', { ctermbg = 0, fg = '#98c379', bg = '#31353f' })
|
vim.api.nvim_set_hl(0, 'DapStopped', { ctermbg = 0, fg = '#98c379', bg = '#31353f' })
|
||||||
|
|
||||||
local builtin = require('telescope.builtin')
|
-------------------------------------------------------------------------------
|
||||||
vim.keymap.set('n', '<C-p>', builtin.find_files, {})
|
-- Bindings
|
||||||
vim.keymap.set('n', '<C-A-p>', builtin.commands, {})
|
-------------------------------------------------------------------------------
|
||||||
vim.keymap.set('n', '<leader><leader>', builtin.buffers, {})
|
|
||||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>mi", ":MoltenInit<CR>",
|
|
||||||
{ silent = true, desc = "Initialize the plugin" })
|
|
||||||
vim.keymap.set("n", "<leader>e", ":MoltenEvaluateOperator<CR>",
|
|
||||||
{ silent = true, desc = "run operator selection" })
|
|
||||||
vim.keymap.set("n", "<leader>rl", ":MoltenEvaluateLine<CR>",
|
|
||||||
{ silent = true, desc = "evaluate line" })
|
|
||||||
vim.keymap.set("n", "<leader>rr", ":MoltenReevaluateCell<CR>",
|
|
||||||
{ silent = true, desc = "re-evaluate cell" })
|
|
||||||
vim.keymap.set("v", "<leader>r", ":<C-u>MoltenEvaluateVisual<CR>gv",
|
|
||||||
{ silent = true, desc = "evaluate visual selection" })
|
|
||||||
|
|
||||||
local opts = { noremap = true, silent = true }
|
local opts = { noremap = true, silent = true }
|
||||||
local map = vim.api.nvim_set_keymap
|
local map = vim.api.nvim_set_keymap
|
||||||
map('n', '<leader>bdo', "<Cmd>BufferCloseAllButCurrentOrPinned<CR>", opts);
|
map('n', '<leader>bdo', "<Cmd>BufferCloseAllButCurrentOrPinned<CR>", opts);
|
||||||
|
|
@ -499,20 +489,42 @@ map('n', '<A-c>', '<Cmd>BufferClose<CR>', opts)
|
||||||
map('n', '<A-p>', '<Cmd>BufferPick<CR>', opts)
|
map('n', '<A-p>', '<Cmd>BufferPick<CR>', opts)
|
||||||
map('t', '<Esc>', '<C-\\><C-n>', opts)
|
map('t', '<Esc>', '<C-\\><C-n>', opts)
|
||||||
|
|
||||||
local null_ls = require("null-ls")
|
-------------------------------------------------------------------------------
|
||||||
local sources = {
|
-- Eval
|
||||||
null_ls.builtins.formatting.prettier,
|
-------------------------------------------------------------------------------
|
||||||
}
|
vim.keymap.set("n", "<leader>mi", ":MoltenInit<CR>",
|
||||||
null_ls.setup({ sources = sources })
|
{ silent = true, desc = "Initialize the plugin" })
|
||||||
|
vim.keymap.set("n", "<leader>e", ":MoltenEvaluateOperator<CR>",
|
||||||
|
{ silent = true, desc = "run operator selection" })
|
||||||
|
vim.keymap.set("n", "<leader>rl", ":MoltenEvaluateLine<CR>",
|
||||||
|
{ silent = true, desc = "evaluate line" })
|
||||||
|
vim.keymap.set("n", "<leader>rr", ":MoltenReevaluateCell<CR>",
|
||||||
|
{ silent = true, desc = "re-evaluate cell" })
|
||||||
|
vim.keymap.set("v", "<leader>r", ":<C-u>MoltenEvaluateVisual<CR>gv",
|
||||||
|
{ silent = true, desc = "evaluate visual selection" })
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Telescope
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
local builtin = require('telescope.builtin')
|
||||||
|
vim.keymap.set('n', '<C-p>', builtin.find_files, {})
|
||||||
|
vim.keymap.set('n', '<C-A-p>', builtin.commands, {})
|
||||||
|
vim.keymap.set('n', '<leader><leader>', builtin.buffers, {})
|
||||||
|
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Search
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
vim.keymap.set('n', '<leader>fg', '<cmd>lua require("spectre").toggle()<CR>', {
|
vim.keymap.set('n', '<leader>fg', '<cmd>lua require("spectre").toggle()<CR>', {
|
||||||
desc = "Toggle Spectre"
|
desc = "Toggle Spectre"
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>bf', function()
|
vim.keymap.set('n', '<leader>bf', function()
|
||||||
print(vim.api.nvim_buf_get_name(0))
|
print(vim.api.nvim_buf_get_name(0))
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Godot
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
vim.api.nvim_create_autocmd('BufEnter', {
|
vim.api.nvim_create_autocmd('BufEnter', {
|
||||||
pattern = { "*.gd" },
|
pattern = { "*.gd" },
|
||||||
callback = function()
|
callback = function()
|
||||||
|
|
@ -520,6 +532,9 @@ vim.api.nvim_create_autocmd('BufEnter', {
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Markdown
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
vim.api.nvim_create_autocmd('BufEnter', {
|
vim.api.nvim_create_autocmd('BufEnter', {
|
||||||
pattern = { "*.md" },
|
pattern = { "*.md" },
|
||||||
callback = function()
|
callback = function()
|
||||||
|
|
@ -527,14 +542,15 @@ vim.api.nvim_create_autocmd('BufEnter', {
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Notes
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
vim.api.nvim_create_autocmd('BufEnter', {
|
vim.api.nvim_create_autocmd('BufEnter', {
|
||||||
pattern = { "*/notes/**" },
|
pattern = { "*/notes/**" },
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.loop.spawn("git", { args = { "pull" } })
|
vim.loop.spawn("git", { args = { "pull" } })
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd('BufWritePost', {
|
vim.api.nvim_create_autocmd('BufWritePost', {
|
||||||
pattern = { "*/notes/**" },
|
pattern = { "*/notes/**" },
|
||||||
callback = function()
|
callback = function()
|
||||||
|
|
@ -544,4 +560,3 @@ vim.api.nvim_create_autocmd('BufWritePost', {
|
||||||
vim.loop.spawn("git", { args = { "push" } })
|
vim.loop.spawn("git", { args = { "push" } })
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue