diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index db53158..e9f16b9 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -42,8 +42,8 @@ vim.opt.guicursor = "" vim.opt.nu = true vim.opt.relativenumber = true -vim.api.nvim_set_keymap('n', '', 'zz', {noremap = true}) -vim.api.nvim_set_keymap('n', '', 'zz', {noremap = true}) -vim.api.nvim_set_keymap('n', 'n', 'nzzzv', {noremap = true}) -vim.api.nvim_set_keymap('n', 'N', 'Nzzzv', {noremap = true}) -vim.api.nvim_set_option("clipboard","unnamedplus") +vim.api.nvim_set_keymap("n", "", "zz", { noremap = true }) +vim.api.nvim_set_keymap("n", "", "zz", { noremap = true }) +vim.api.nvim_set_keymap("n", "n", "nzzzv", { noremap = true }) +vim.api.nvim_set_keymap("n", "N", "Nzzzv", { noremap = true }) +vim.api.nvim_set_option("clipboard", "unnamedplus") \ No newline at end of file diff --git a/.config/nvim/lua/configs/conform.lua b/.config/nvim/lua/configs/conform.lua index a000447..03b5c2f 100644 --- a/.config/nvim/lua/configs/conform.lua +++ b/.config/nvim/lua/configs/conform.lua @@ -1,15 +1,18 @@ local options = { formatters_by_ft = { lua = { "stylua" }, - -- css = { "prettier" }, - -- html = { "prettier" }, + css = { "prettier" }, + html = { "prettier" }, }, - -- format_on_save = { - -- -- These options will be passed to conform.format() - -- timeout_ms = 500, - -- lsp_fallback = true, - -- }, + format_on_save = { + timeout_ms = 500, + lsp_fallback = true, + }, } require("conform").setup(options) + +--stylua +--lua-language-server +--prettier \ No newline at end of file diff --git a/.config/nvim/lua/configs/lspconfig.lua b/.config/nvim/lua/configs/lspconfig.lua index a73657a..dcfad76 100644 --- a/.config/nvim/lua/configs/lspconfig.lua +++ b/.config/nvim/lua/configs/lspconfig.lua @@ -1,19 +1,19 @@ --- EXAMPLE local on_attach = require("nvchad.configs.lspconfig").on_attach local on_init = require("nvchad.configs.lspconfig").on_init local capabilities = require("nvchad.configs.lspconfig").capabilities -local lspconfig = require "lspconfig" -local servers = { "html", "cssls" } +local lspconfig = require("lspconfig") +local util = require "lspconfig/util" +--local servers = { "html", "cssls" } -- lsps with default config -for _, lsp in ipairs(servers) do - lspconfig[lsp].setup { - on_attach = on_attach, - on_init = on_init, - capabilities = capabilities, - } -end +--for _, lsp in ipairs(servers) do +-- lspconfig[lsp].setup { +-- on_attach = on_attach, +-- on_init = on_init, +-- capabilities = capabilities, +-- } +--end -- typescript lspconfig.tsserver.setup { @@ -21,3 +21,41 @@ lspconfig.tsserver.setup { on_init = on_init, capabilities = capabilities, } + +lspconfig.gopls.setup { + on_attach = on_attach, + capabilities = capabilities, + cmd = {"gopls"}, + filetypes = { "go", "gomod", "gowork", "gotmpl" }, + root_dir = util.root_pattern("go.work", "go.mod", ".git"), + settings = { + gopls = { + completeUnimported = true, + usePlaceholders = true, + analyses = { + unusedparams = true, + }, + }, + }, +} + +lspconfig.pyright.setup({ + on_attach = on_attach, + capabilities = capabilities, + filetypes = {"python"}, +}) + +lspconfig.powershell_es.setup({ + bundle_path = vim.fn.stdpath("data") .. "/mason/packages/powershell-editor-services", +}) + +lspconfig.bashls.setup({}) + +omnisharp_bin = vim.fn.stdpath("data") .. "/mason/packages/omnisharp/omnisharp" + +lspconfig.omnisharp.setup({ + on_attach = on_attach, + capabilities = capabilities, + filetypes = { "cs"}, + cmd = { omnisharp_bin, "--languageserver" , "--hostPID", tostring(pid) } +}) diff --git a/.config/nvim/lua/configs/treesitter.lua b/.config/nvim/lua/configs/treesitter.lua index 634da2c..eee9d58 100644 --- a/.config/nvim/lua/configs/treesitter.lua +++ b/.config/nvim/lua/configs/treesitter.lua @@ -1,11 +1,11 @@ -local parser_config = require 'nvim-treesitter.parsers'.get_parser_configs() ---parser_config.powershell_es = { --- install_info = { --- url = "/home/user/.local/share/tree-sitter-PowerShell", --- files = { "src/parser.c" }, --- generate_requires_npm = false, --- requires_generate_from_grammar = false, --- }, --- filetype = "ps1", ---} +local parser_config = require("nvim-treesitter.parsers").get_parser_configs() +parser_config.powershell_es = { + install_info = { + url = "/home/user/.local/share/tree-sitter-PowerShell", + files = { "src/parser.c" }, + generate_requires_npm = false, + requires_generate_from_grammar = false, + }, + filetype = "ps1", +} return parser_config diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua index 576ea5a..8d032cc 100644 --- a/.config/nvim/lua/mappings.lua +++ b/.config/nvim/lua/mappings.lua @@ -4,8 +4,27 @@ local map = vim.keymap.set map("n", ";", ":", { desc = "CMD enter command mode" }) map("i", "jk", "") + +-- Tmux map("", "", " TmuxNavigateLeft", { desc = "window left" }) map("", "", " TmuxNavigateRight", { desc = "window right" }) map("", "", " TmuxNavigateDown", { desc = "window down" }) map("", "", " TmuxNavigateUp", { desc = "window up" }) +-- Go +map("", "gsj", " GoTagAdd json ", { desc = "Add json struct tags" }) +map("", "gsy", " GoTagAdd yaml ", { desc = "Add yaml struct tags" }) +map("", "gse", " GoTagAdd env ", { desc = "Add env struct tags" }) + +-- Dap +map("", "db", " DapToggleBreakpoint ", { desc = "Add breakpoint at line" }) +map("", "dc", " DapContinue ", { desc = "Start Debugging" }) +map("", "dt", " DapTerminate ", { desc = "Stop Debugging" }) +map("", "dso", " DapStepOver ", { desc = "Step Over" }) +map("", "dsi", " DapStepInto ", { desc = "Step Into" }) +map("", "dst", " DapStepOut ", { desc = "Step Out" }) +map("", "dus", function() + local widgets = require "dap.ui.widgets" + local sidebar = widgets.sidebar(widgets.scopes) + sidebar.open() +end, { desc = "Open debugging Window" }) diff --git a/.config/nvim/lua/plugins/init.lua b/.config/nvim/lua/plugins/init.lua index bb18b39..daf8d52 100644 --- a/.config/nvim/lua/plugins/init.lua +++ b/.config/nvim/lua/plugins/init.lua @@ -1,7 +1,7 @@ return { { "stevearc/conform.nvim", - -- event = 'BufWritePre', -- uncomment for format on save + event = "BufWritePre", config = function() require "configs.conform" end, @@ -26,14 +26,14 @@ return { "eslint-lsp", "js-debug-adapter", "prettier", - "typescript-language-server" + "typescript-language-server", }, }, }, { - "nvim-treesitter/nvim-treesitter", - opts = { - ensure_installed = { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { "lua", "javascript", "typescript", @@ -42,14 +42,71 @@ return { "terraform", "c_sharp", "bash", - }, - }, + }, + }, }, { "neovim/nvim-lspconfig", config = function() - require("nvchad.configs.lspconfig").defaults() - require "configs.lspconfig" + require("nvchad.configs.lspconfig").defaults() + require "configs.lspconfig" + end, + }, + { + "lewis6991/gitsigns.nvim", + config = function() + require("gitsigns").setup() + end, + }, + { + "tpope/vim-fugitive", + }, + -- Golang + { + "olexsmir/gopher.nvim", + ft = "go", + config = function(_, opts) + require("gopher").setup(opts) + end, + build = function() + vim.cmd [[silent! GoInstallDeps]] + end, + }, + -- Dap + { + "mfussenegger/nvim-dap", + }, + { + "nvim-neotest/nvim-nio", + }, + { + "rcarriga/nvim-dap-ui", + dependencies = "mfussenegger/nvim-dap", + config = function() + local dap = require "dap" + local dapui = require "dapui" + dapui.setup() + 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 + end, + }, + { + "dreamsofcode-io/nvim-dap-go", + ft = "go", + dependencies = { + "mfussenegger/nvim-dap", + "rcarriga/nvim-dap-ui", + }, + config = function(_, opts) + require("dap-go").setup(opts) + -- require("core.utils").load_mappings "dap_go" end, }, }