diff --git a/lua/custom/plugins/overseer.lua b/lua/custom/plugins/overseer.lua index 6a51813..34131ce 100644 --- a/lua/custom/plugins/overseer.lua +++ b/lua/custom/plugins/overseer.lua @@ -2,11 +2,20 @@ return { -- Simple task runner plugin 'stevearc/overseer.nvim', opts = {}, - config = function(_, opts) - require('overseer').setup(opts or {}) + config = function() + local overseer = require 'overseer' + overseer.setup { + templates = { + 'builtin', + 'golang.run_project', + 'golang.run_file', + }, + } -- Display status info about tasks - vim.keymap.set('n', 'ol', 'OverseerToggle', { desc = '[O]verseer [L]og' }) + vim.keymap.set('n', 'ol', function() + overseer.toggle { winid = 0 } + end, { desc = '[O]verseer [L]og' }) -- Run task by listing all in floating vim.keymap.set('n', 'or', 'OverseerRun', { desc = '[O]verseer [R]un' }) end, diff --git a/lua/kickstart/plugins/debug.lua b/lua/kickstart/plugins/debug.lua deleted file mode 100644 index 241120f..0000000 --- a/lua/kickstart/plugins/debug.lua +++ /dev/null @@ -1,77 +0,0 @@ -return { - { - 'mfussenegger/nvim-dap', - dependencies = { - -- Async IO library - 'nvim-neotest/nvim-nio', - - -- Creates a beautiful debugger UI - 'rcarriga/nvim-dap-ui', - - -- Required dependency for nvim-dap-ui - 'nvim-neotest/nvim-nio', - - -- Installs the debug adapters for you - 'williamboman/mason.nvim', - 'jay-babu/mason-nvim-dap.nvim', - - -- Language specific debuggers - -- 'leoluz/nvim-dap-go', - }, - config = function() - local dap = require 'dap' - local dapui = require 'dapui' - - require('mason-nvim-dap').setup { - -- Makes a best effort to setup the various debuggers with - -- reasonable debug configurations - automatic_installation = true, - } - - -- Basic debugging keymaps, feel free to change to your liking! - vim.keymap.set('n', '', dap.continue, { desc = 'Debug: Start/Continue' }) - vim.keymap.set('n', '', dap.step_into, { desc = 'Debug: Step Into' }) - vim.keymap.set('n', '', dap.step_over, { desc = 'Debug: Step Over' }) - vim.keymap.set('n', '', dap.step_out, { desc = 'Debug: Step Out' }) - vim.keymap.set('n', 'B', dap.toggle_breakpoint, { desc = 'Debug: Toggle Breakpoint' }) - vim.keymap.set('n', 'bs', function() - dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ') - end, { desc = 'Debug: [B]reakpoint [S]et' }) - - -- Dap UI setup - dapui.setup { - -- Set icons to characters that are more likely to work in every terminal. - icons = { expanded = '▾', collapsed = '▸', current_frame = '*' }, - controls = { - icons = { - pause = '⏸', - play = '▶', - step_into = '⏎', - step_over = '⏭', - step_out = '⏮', - step_back = 'b', - run_last = '▶▶', - terminate = '⏹', - disconnect = '⏏', - }, - }, - } - - -- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception. - vim.keymap.set('n', '', dapui.toggle, { desc = 'Debug: See last session result.' }) - - dap.listeners.after.event_initialized['dapui_config'] = dapui.open - dap.listeners.before.event_terminated['dapui_config'] = dapui.close - dap.listeners.before.event_exited['dapui_config'] = dapui.close - - -- Install golang specific config - -- require('dap-go').setup { - -- delve = { - -- -- On Windows delve must be run attached or it crashes. - -- -- See https://github.com/leoluz/nvim-dap-go/blob/main/README.md#configuring - -- detached = vim.fn.has 'win32' == 0, - -- }, - -- } - end, - }, -} diff --git a/lua/kickstart/plugins/lspconfig.lua b/lua/kickstart/plugins/lspconfig.lua index ce0f587..96cb10c 100644 --- a/lua/kickstart/plugins/lspconfig.lua +++ b/lua/kickstart/plugins/lspconfig.lua @@ -165,6 +165,7 @@ return { tsserver = {}, pyright = {}, svelte = {}, + gopls = {}, -- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs -- -- Some languages (like typescript) have entire language plugins that can be useful: @@ -199,7 +200,9 @@ return { local ensure_installed = vim.tbl_keys(servers or {}) vim.list_extend(ensure_installed, { 'stylua', -- Used to format lua code - 'node-debug2-adapter', + 'eslint_d', + 'prettier', + 'prettierd', }) require('mason-tool-installer').setup { ensure_installed = ensure_installed } diff --git a/lua/kickstart/plugins/which-key.lua b/lua/kickstart/plugins/which-key.lua index 317a1a2..fd16c2c 100644 --- a/lua/kickstart/plugins/which-key.lua +++ b/lua/kickstart/plugins/which-key.lua @@ -35,6 +35,7 @@ return { ['dn'] = { name = '[N]o', _ = 'which_key_ignore' }, ['l'] = { name = '[L]ist', _ = 'which_key_ignore' }, ['f'] = { name = '[F]ormat/[F]ile', _ = 'which_key_ignore' }, + ['o'] = { name = '[O]verseer', _ = 'which_key_ignore' }, } -- register which-key VISUAL mode diff --git a/lua/lazy-plugins.lua b/lua/lazy-plugins.lua index cffe03e..cbf7f13 100644 --- a/lua/lazy-plugins.lua +++ b/lua/lazy-plugins.lua @@ -64,7 +64,6 @@ require('lazy').setup({ -- Here are some example plugins that I've included in the Kickstart repository. -- Uncomment any of the lines below to enable them (you will need to restart nvim). - require 'kickstart.plugins.debug', require 'kickstart.plugins.indent_line', require 'kickstart.plugins.lint', -- require 'kickstart.plugins.neo-tree', diff --git a/lua/overseer/template/golang/run_file.lua b/lua/overseer/template/golang/run_file.lua new file mode 100644 index 0000000..777c7c2 --- /dev/null +++ b/lua/overseer/template/golang/run_file.lua @@ -0,0 +1,10 @@ +-- Run currently open go file using Overseer +return { + name = 'go run file', + builder = function(_) + return { + cmd = 'go run ${file}', + } + end, + condition = { filetype = 'go' }, +} diff --git a/lua/overseer/template/golang/run_project.lua b/lua/overseer/template/golang/run_project.lua new file mode 100644 index 0000000..8a2d0fc --- /dev/null +++ b/lua/overseer/template/golang/run_project.lua @@ -0,0 +1,10 @@ +-- Run project in working directory using Overseer +return { + name = 'go run', + builder = function(_) + return { + cmd = 'go run .', + } + end, + condition = { filetype = 'go' }, +}