diff --git a/cli/c/alias.zsh b/cli/c/alias.zsh index dfbaa8b..2fe6079 100644 --- a/cli/c/alias.zsh +++ b/cli/c/alias.zsh @@ -2,7 +2,7 @@ cbuild() { SOURCEDIR=$(pwd) BUILDDIR=${1:="build"} - mkdir -p $BUILDDIR && cd $BUILDDIR && cmake $SOURCEDIR && make -j $2 + mkdir -p $BUILDDIR && cd $BUILDDIR && cmake $SOURCEDIR && bear -- make -j $2 RET=$? cd $SOURCEDIR (exit $RET) diff --git a/nvim/nvim/config/nvim.ln/init.lua b/nvim/nvim/config/nvim.ln/init.lua index 57ed170..ebb6b7b 100644 --- a/nvim/nvim/config/nvim.ln/init.lua +++ b/nvim/nvim/config/nvim.ln/init.lua @@ -7,7 +7,7 @@ require "windows" require "lsp" require "treesitter" require "utils" -require "dap-config" +require "dapc" require "tests" require "documentation" require "build" diff --git a/nvim/nvim/config/nvim.ln/lua/dap-config.lua b/nvim/nvim/config/nvim.ln/lua/dapc/dap-config.lua similarity index 58% rename from nvim/nvim/config/nvim.ln/lua/dap-config.lua rename to nvim/nvim/config/nvim.ln/lua/dapc/dap-config.lua index 2b12aa1..59c45b7 100644 --- a/nvim/nvim/config/nvim.ln/lua/dap-config.lua +++ b/nvim/nvim/config/nvim.ln/lua/dapc/dap-config.lua @@ -3,8 +3,8 @@ if not ok then return end -dap.defaults.fallback.focus_terminal = true -dap.defaults.fallback.terminal_win_cmd = ":lua require('dap.ui.widgets').new_centered_float_win(vim.api.nvim_create_buf(false, true))" +dap.defaults.fallback.exception_breakpoints = { "throw" } +dap.defaults.csharp.exception_breakpoints = { "throw" } dap.adapters = { coreclr = { @@ -18,13 +18,12 @@ dap.configurations = { cs = { { type = "coreclr", - name = "launch - netcoredbg", + name = "netcoredbg", request = "launch", program = function() return "/home/anonymus-raccoon/projects/Kyoo/src/Kyoo.Host.Console/bin/Debug/net6.0/Kyoo.Host.Console.dll" -- return vim.fn.input('Path to dll', vim.fn.getcwd() .. '/bin/Debug/', 'file') end, - console = "externalTerminal", }, }, scala = { @@ -57,34 +56,6 @@ require("nvim-dap-virtual-text").setup({ show_stop_reason = true, }) -local api = vim.api -local keymap_restore = {} -dap.listeners.after['event_initialized']['me'] = function() - for _, buf in pairs(api.nvim_list_bufs()) do - local keymaps = api.nvim_buf_get_keymap(buf, 'n') - for _, keymap in pairs(keymaps) do - if keymap.lhs == "K" then - table.insert(keymap_restore, keymap) - api.nvim_buf_del_keymap(buf, 'n', 'K') - end - end - end - api.nvim_set_keymap('n', 'K', 'lua require("dap.ui.widgets").hover()', { silent = true }) -end - -dap.listeners.after['event_terminated']['me'] = function() - for _, keymap in pairs(keymap_restore) do - api.nvim_buf_set_keymap( - keymap.buffer, - keymap.mode, - keymap.lhs, - keymap.rhs, - { silent = keymap.silent == 1 } - ) - end - keymap_restore = {} -end - local wk = require("which-key") wk.register({ d = { @@ -92,11 +63,23 @@ wk.register({ t = { "lua require'dap'.toggle_breakpoint()", "Toggle Breakpoint" }, b = { "lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))", "Conditional Breakpoint" }, r = { "lua require'dap'.repl.toggle()", "REPL" }, - c = { "lua require'dap'.continue()", "Continue" }, - n = { "lua require'dap'.step_over()", "Next" }, - s = { "lua require'dap'.step_into()", "Step" }, - o = { "lua require'dap'.step_out()", "Step Out" }, + s = { "lua require'dap'.terminate()", "Stop session" }, + v = { "lua require('dap.ui.widgets').centered_float(require('dap.ui.widgets').scopes).open()", "Variables" }, + w = { "Telescope dap frames", "Where (stack frames)" }, }, }, { prefix = "" }) +wk.register({ + [""] = { "lua require'dap'.continue()", "Continue" }, + [""] = { "lua require'dap'.step_over()", "Next" }, + [""] = { "lua require'dap'.step_into({askForTargets=true})", "Step" }, + [""] = { "lua require'dap'.step_out()", "Step Out" }, + [""] = { "lua require'dap'.run_to_cursor()", "Run to line (cursor)" }, + [""] = { "lua require('dap.ui.widgets').hover()", "DAP Hover" }, +}) + +local pok, telescope = pcall(require, "telescope") +if pok then + telescope.load_extension('dap') +end diff --git a/nvim/nvim/config/nvim.ln/lua/dapc/init.lua b/nvim/nvim/config/nvim.ln/lua/dapc/init.lua new file mode 100644 index 0000000..5071f19 --- /dev/null +++ b/nvim/nvim/config/nvim.ln/lua/dapc/init.lua @@ -0,0 +1 @@ +require "dapc.dap-config" diff --git a/nvim/nvim/config/nvim.ln/lua/plugins.lua b/nvim/nvim/config/nvim.ln/lua/plugins.lua index 0edce10..3fe8893 100644 --- a/nvim/nvim/config/nvim.ln/lua/plugins.lua +++ b/nvim/nvim/config/nvim.ln/lua/plugins.lua @@ -87,6 +87,7 @@ return packer.startup(function(use) use "Hoffs/omnisharp-extended-lsp.nvim" use({'scalameta/nvim-metals', requires = { "nvim-lua/plenary.nvim" }}) use "b0o/schemastore.nvim" + use { "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-buffer", @@ -97,6 +98,7 @@ return packer.startup(function(use) "saadparwaiz1/cmp_luasnip", } use "rafamadriz/friendly-snippets" + use "ray-x/lsp_signature.nvim" use { "narutoxy/dim.lua", @@ -117,6 +119,7 @@ return packer.startup(function(use) use "mfussenegger/nvim-dap" use { "theHamsta/nvim-dap-virtual-text", requires = { "nvim-treesitter/nvim-treesitter" } } + use "nvim-telescope/telescope-dap.nvim" use { "rcarriga/vim-ultest", requires = {"vim-test/vim-test"}, run = ":UpdateRemotePlugins" } diff --git a/nvim/nvim/config/nvim.ln/lua/windows/colorcolumn.lua b/nvim/nvim/config/nvim.ln/lua/windows/colorcolumn.lua index 8099a6f..f783a59 100644 --- a/nvim/nvim/config/nvim.ln/lua/windows/colorcolumn.lua +++ b/nvim/nvim/config/nvim.ln/lua/windows/colorcolumn.lua @@ -10,7 +10,7 @@ end vim.cmd [[ augroup virtcolumn autocmd! - autocmd FileType * if index(["netrw", "NvimTree", "UltestAttach", "Trouble", "qf", "harpoon", "toggleterm", "packer"], &ft) == -1 | lua require("windows.colorcolumn").setup() + autocmd FileType * if index(["netrw", "NvimTree", "UltestAttach", "dap-float", "Trouble", "qf", "harpoon", "toggleterm", "packer"], &ft) == -1 | lua require("windows.colorcolumn").setup() augroup end ]] diff --git a/nvim/nvim/config/nvim.ln/lua/windows/lualine.lua b/nvim/nvim/config/nvim.ln/lua/windows/lualine.lua index 92c0654..a3f8855 100644 --- a/nvim/nvim/config/nvim.ln/lua/windows/lualine.lua +++ b/nvim/nvim/config/nvim.ln/lua/windows/lualine.lua @@ -53,7 +53,7 @@ lualine.setup({ }, { gps.get_location, cond = gps_on and gps.is_available }, }, - lualine_x = { 'fileformat', }, + lualine_x = { require "dap".status, 'fileformat', }, lualine_y = { 'branch', 'progress' }, lualine_z = { {