1
0
Fork 0
neovim-config/init.lua

193 lines
5.1 KiB
Lua

---- General Config ----
vim.opt.mouse = "a"
vim.opt.tabstop = 2
vim.opt.shiftwidth = 2
vim.opt.number = true
vim.opt.breakindent = true
vim.opt.showmatch = true
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.joinspaces = false
vim.opt.showmode = false
vim.opt.hidden = true
vim.opt.backup = false
vim.opt.writebackup = false
vim.opt.swapfile = false
vim.opt.shortmess:append({ I = true })
-- whichwrap -- left/right keys can traverse up/down
vim.opt.whichwrap:append("<,>,[,]")
vim.opt.cmdheight = 2
vim.opt.showcmd = true
vim.opt.splitright = true
vim.opt.splitbelow = true
vim.g.mapleader = " "
---- Terminal ----
vim.api.nvim_create_autocmd({ "TermOpen" }, {
callback = function()
vim.opt_local.number = false
end,
})
---- lazy.nvim ----
require("lazy-nvim")
---- Theming ----
vim.opt.termguicolors = true
vim.opt.background = "dark"
vim.g.gruvbox_italic = true
vim.cmd.colorscheme("gruvbox")
vim.opt.listchars = {
eol = "",
tab = "▶▹",
nbsp = "",
extends = "",
trail = "",
}
---- Maps ----
vim.keymap.set("!", "<C-BS>", "<C-w>")
vim.keymap.set("v", ">", ">gv")
vim.keymap.set("v", "<", "<gv")
vim.keymap.set("n", "<C-L>", ":nohlsearch<CR>")
---- Filetypes ---
-- KDL --
vim.filetype.add({ extension = { kdl = "kdl" } })
-- Markdown --
vim.api.nvim_create_autocmd({ "FileType" }, {
pattern = "markdown",
callback = function()
vim.opt_local.textwidth = 85
vim.opt_local.spell = true
end,
})
-- YAML --
vim.api.nvim_create_autocmd({ "FileType" }, {
pattern = { "yaml", "helm", },
callback = function()
vim.opt_local.softtabstop = 2
vim.opt_local.expandtab = true
vim.opt_local.foldmethod = "indent"
end,
})
---- nvim-dap
-- vim.g.dap_loaded = false
-- vim.api.nvim_create_autocmd({ "FileType" }, {
-- pattern = { "go", "rust" },
-- callback = function()
-- vim.g.dap_loaded = true
-- vim.cmd("packadd nvim-dap")
-- vim.cmd("packadd nvim-dap-ui")
-- vim.cmd("packadd nvim-dap-go")
--
-- local dap = require("dap")
-- vim.fn.sign_define("DapBreakpoint", { text = "🟥", texthl = "", linehl = "", numhl = "" })
-- vim.fn.sign_define("DapStopped", { text = "▶️", texthl = "", linehl = "", numhl = "" })
-- -- Set keymaps to control the debugger
-- vim.keymap.set("n", "<leader>dc", dap.continue)
-- vim.keymap.set("n", "<leader>do", dap.step_over)
-- vim.keymap.set("n", "<leader>di", dap.step_into)
-- vim.keymap.set("n", "<leader>dO", dap.step_out)
-- vim.keymap.set("n", "<leader>db", dap.toggle_breakpoint)
-- vim.keymap.set("n", "<leader>dB", function()
-- dap.set_breakpoint(vim.fn.input("Breakpoint condition: "))
-- end)
-- local dapui = require("dapui")
-- dap.listeners.after.event_initialized["dapui_config"] = function()
-- dapui.open()
-- end
-- dap.listeners.before.event_terminated["dapui_config"] = function()
-- dapui.close()
-- end
-- dap.listeners.before.event_exited["dapui_config"] = function()
-- dapui.close()
-- end
-- dapui.setup()
--
-- -- rust
-- dap.adapters.lldb = {
-- type = 'executable',
-- command = '/usr/bin/lldb-vscode',
-- name = 'lldb'
-- }
-- dap.configurations.rust = {
-- {
-- name = 'Launch',
-- type = 'lldb',
-- request = 'launch',
-- program = function()
-- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
-- end,
-- cwd = '${workspaceFolder}',
-- stopOnEntry = false,
-- args = {},
-- initCommands = function()
-- -- Find out where to look for the pretty printer Python module
-- local rustc_sysroot = vim.fn.trim(vim.fn.system('rustc --print sysroot'))
--
-- local script_import = 'command script import "' .. rustc_sysroot .. '/lib/rustlib/etc/lldb_lookup.py"'
-- local commands_file = rustc_sysroot .. '/lib/rustlib/etc/lldb_commands'
--
-- local commands = {}
-- local file = io.open(commands_file, 'r')
-- if file then
-- for line in file:lines() do
-- table.insert(commands, line)
-- end
-- file:close()
-- end
-- table.insert(commands, 1, script_import)
--
-- return commands
-- end,
-- },
-- }
--
-- -- nvim-dap-go
-- require("dap-go").setup()
-- end,
-- })
--
--
-- ---- neotest
-- vim.g.neotest_loaded = false
-- vim.api.nvim_create_autocmd({ "FileType" }, {
-- pattern = { "rust" },
-- callback = function()
-- if vim.g.neotest_loaded then
-- return
-- end
-- vim.g.neotest_loaded = true
-- vim.cmd("packadd nvim-nio")
-- vim.cmd("packadd neotest")
-- vim.cmd("packadd neotest-rust")
--
-- local neotest = require("neotest")
-- neotest.setup({
-- adapters = {
-- require("neotest-rust") {
-- args = { "--no-capture" },
-- dap_adapter = "lldb",
-- },
-- },
-- })
-- vim.keymap.set("n", "<leader>tr", function()
-- neotest.run.run()
-- end)
-- vim.keymap.set("n", "<leader>td", function()
-- neotest.run.run({ strategy = "dap" })
-- end)
-- vim.keymap.set("n", "<leader>tf", function()
-- neotest.run.run(vim.fn.expand("%"))
-- end)
-- vim.keymap.set("n", "<leader>ts", function()
-- neotest.run.stop()
-- end)
-- vim.keymap.set("n", "<leader>tt", function()
-- neotest.summary.toggle()
-- end)
-- end,
-- })