diff --git a/init.lua b/init.lua index d9a5f961..e98bfaac 100644 --- a/init.lua +++ b/init.lua @@ -262,8 +262,8 @@ vim.o.scrolloff = 5 vim.o.sidescrolloff = 10 -- Set tabs to 4 spaces -vim.o.tabstop = 4 -vim.o.softtabstop = 4 +vim.o.tabstop = 2 +vim.o.softtabstop = 2 -- [[ Basic Keymaps ]] @@ -275,6 +275,15 @@ vim.keymap.set({ 'n', 'v' }, '', '', { silent = true }) vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) +-- Map window slection +vim.keymap.set('n', '', "h", { silent = true }) +vim.keymap.set('n', '', "j", { silent = true }) +vim.keymap.set('n', '', "k", { silent = true }) +vim.keymap.set('n', '', "l", { silent = true }) + +-- Map copy to clipboard +vim.keymap.set('v', 'y', "\"+y", { silent = true }) + -- [[ Highlight on yank ]] -- See `:help vim.highlight.on_yank()` local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }) @@ -410,7 +419,7 @@ local on_attach = function(_, bufnr) end nmap('rn', vim.lsp.buf.rename, '[R]e[n]ame') - nmap('ca', vim.lsp.buf.code_action, '[C]ode [A]ction') + nmap('', vim.lsp.buf.code_action, '[C]ode [A]ction') nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition') nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') @@ -420,8 +429,8 @@ local on_attach = function(_, bufnr) nmap('ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') -- See `:help K` for why this keymap - nmap('K', vim.lsp.buf.hover, 'Hover Documentation') - nmap('', vim.lsp.buf.signature_help, 'Signature Documentation') + nmap('', vim.lsp.buf.hover, 'Hover Documentation') + nmap('', vim.lsp.buf.signature_help, 'Signature Documentation') -- Lesser used LSP functionality nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') @@ -516,31 +525,31 @@ cmp.setup { end, }, mapping = cmp.mapping.preset.insert { - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete {}, + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete {}, [''] = cmp.mapping.confirm { behavior = cmp.ConfirmBehavior.Replace, select = true, }, - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end, { 'i', 's' }), - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { 'i', 's' }), + -- [''] = cmp.mapping(function(fallback) + -- if cmp.visible() then + -- cmp.select_next_item() + -- elseif luasnip.expand_or_jumpable() then + -- luasnip.expand_or_jump() + -- else + -- fallback() + -- end + -- end, { 'i', 's' }), + -- [''] = cmp.mapping(function(fallback) + -- if cmp.visible() then + -- cmp.select_prev_item() + -- elseif luasnip.jumpable(-1) then + -- luasnip.jump(-1) + -- else + -- fallback() + -- end + -- end, { 'i', 's' }), }, sources = { { name = 'nvim_lsp' }, diff --git a/lua/custom/plugins/autopair.lua b/lua/custom/plugins/autopair.lua deleted file mode 100644 index fe5311ba..00000000 --- a/lua/custom/plugins/autopair.lua +++ /dev/null @@ -1,3 +0,0 @@ -return { - 'jiangmiao/auto-pairs' -} diff --git a/lua/custom/plugins/copilot.lua b/lua/custom/plugins/copilot.lua new file mode 100644 index 00000000..1a804873 --- /dev/null +++ b/lua/custom/plugins/copilot.lua @@ -0,0 +1,3 @@ +return { + 'github/copilot.vim', +} diff --git a/lua/custom/plugins/easymotion.lua b/lua/custom/plugins/easymotion.lua index 802d4221..9b228e29 100644 --- a/lua/custom/plugins/easymotion.lua +++ b/lua/custom/plugins/easymotion.lua @@ -1,9 +1,9 @@ return { 'easymotion/vim-easymotion', config = function() - vim.keymap.set('n', 'f', '(easymotion-f)', { desc = '[f]ind next character' }) - vim.keymap.set('n', 'F', '(easymotion-F)', { desc = '[F]ind previous character' }) - vim.keymap.set('n', 't', '(easymotion-t)', { desc = '[t]ill next character' }) - vim.keymap.set('n', 'T', '(easymotion-T)', { desc = '[T]ill previous character' }) + vim.keymap.set('n', 'f', '(easymotion-f)', { desc = '[f]ind next character' }) + vim.keymap.set('n', 'F', '(easymotion-F)', { desc = '[F]ind previous character' }) + vim.keymap.set('n', 't', '(easymotion-t)', { desc = '[t]ill next character' }) + vim.keymap.set('n', 'T', '(easymotion-T)', { desc = '[T]ill previous character' }) end, } diff --git a/lua/custom/plugins/go.lua b/lua/custom/plugins/go.lua index d1311436..ebc0063c 100644 --- a/lua/custom/plugins/go.lua +++ b/lua/custom/plugins/go.lua @@ -5,6 +5,14 @@ return { }, config = function() require("go").setup() + local format_sync_grp = vim.api.nvim_create_augroup("GoImport", {}) + vim.api.nvim_create_autocmd("BufWritePre", { + pattern = "*.go", + callback = function() + require('go.format').goimport() + end, + group = format_sync_grp, + }) end, event = { 'CmdlineEnter' }, ft = { 'go', 'gomod' }, diff --git a/lua/kickstart/plugins/debug.lua b/lua/kickstart/plugins/debug.lua index c7ff70b7..80d726b1 100644 --- a/lua/kickstart/plugins/debug.lua +++ b/lua/kickstart/plugins/debug.lua @@ -32,7 +32,7 @@ return { require('mason-nvim-dap').setup { -- Makes a best effort to setup the various debuggers with -- reasonable debug configurations - automatic_setup = true, + automatic_setup = false, -- You'll need to check that you have the required things installed -- online, please don't ask me how to install them :) @@ -92,7 +92,7 @@ return { dap.listeners.before.event_terminated['dapui_config'] = dapui.close dap.listeners.before.event_exited['dapui_config'] = dapui.close - dap.defaults.fallback.exception_breakpoints = {'Notice', 'Warning', 'Error', 'Exception'} + dap.defaults.fallback.exception_breakpoints = { 'Notice', 'Warning', 'Error', 'Exception' } -- Install golang specific config require('dap-go').setup() @@ -104,7 +104,7 @@ return { adapters = { "pwa-node", "pwa-chrome", "pwa-msedge", "node-terminal", "pwa-extensionHost" }, } - for _, jsLang in ipairs({'typescript', 'javascript'}) do + for _, jsLang in ipairs({ 'typescript', 'javascript' }) do require("dap").configurations[jsLang] = { { type = "pwa-node", @@ -117,7 +117,7 @@ return { type = "pwa-node", request = "attach", name = "Attach", - processId = require'dap.utils'.pick_process, + processId = require 'dap.utils'.pick_process, cwd = "${workspaceFolder}", }, { @@ -136,52 +136,51 @@ return { internalConsoleOptions = "neverOpen", }, { - name = 'Debug Main Process (Electron)', - type = 'pwa-node', - request = 'launch', - program = '${workspaceFolder}/node_modules/.bin/electron', - args = { - '${workspaceFolder}/dist/index.js', - }, - outFiles = { - '${workspaceFolder}/dist/*.js', - }, - resolveSourceMapLocations = { - '${workspaceFolder}/dist/**/*.js', - '${workspaceFolder}/dist/*.js', - }, - rootPath = '${workspaceFolder}', - cwd = '${workspaceFolder}', - sourceMaps = true, - skipFiles = { '/**' }, - protocol = 'inspector', - console = 'integratedTerminal', + name = 'Debug Main Process (Electron)', + type = 'pwa-node', + request = 'launch', + program = '${workspaceFolder}/node_modules/.bin/electron', + args = { + '${workspaceFolder}/dist/index.js', + }, + outFiles = { + '${workspaceFolder}/dist/*.js', + }, + resolveSourceMapLocations = { + '${workspaceFolder}/dist/**/*.js', + '${workspaceFolder}/dist/*.js', + }, + rootPath = '${workspaceFolder}', + cwd = '${workspaceFolder}', + sourceMaps = true, + skipFiles = { '/**' }, + protocol = 'inspector', + console = 'integratedTerminal', }, { - name = 'Compile & Debug Main Process (Electron)', - type = custom_adapter, - request = 'launch', - preLaunchTask = 'npm run build-ts', - program = '${workspaceFolder}/node_modules/.bin/electron', - args = { - '${workspaceFolder}/dist/index.js', - }, - outFiles = { - '${workspaceFolder}/dist/*.js', - }, - resolveSourceMapLocations = { - '${workspaceFolder}/dist/**/*.js', - '${workspaceFolder}/dist/*.js', - }, - rootPath = '${workspaceFolder}', - cwd = '${workspaceFolder}', - sourceMaps = true, - skipFiles = { '/**' }, - protocol = 'inspector', - console = 'integratedTerminal', + name = 'Compile & Debug Main Process (Electron)', + type = custom_adapter, + request = 'launch', + preLaunchTask = 'npm run build-ts', + program = '${workspaceFolder}/node_modules/.bin/electron', + args = { + '${workspaceFolder}/dist/index.js', + }, + outFiles = { + '${workspaceFolder}/dist/*.js', + }, + resolveSourceMapLocations = { + '${workspaceFolder}/dist/**/*.js', + '${workspaceFolder}/dist/*.js', + }, + rootPath = '${workspaceFolder}', + cwd = '${workspaceFolder}', + sourceMaps = true, + skipFiles = { '/**' }, + protocol = 'inspector', + console = 'integratedTerminal', }, } end - end, }