diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-10-01 12:07:35 +0200 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-10-01 12:07:35 +0200 |
commit | dad6249cae8d5d66e0a6b174ed30d78dbbb3a064 (patch) | |
tree | 28fc4a4c2501cf5bb35bfe9984ab19e256f64763 /config/essentials/nvim | |
parent | 70c673a75bf98b1db7b637c9a6d4bd1e336c33d4 (diff) | |
parent | a6d421ed5d752ad4ce945c8de07ecb1e3d16037f (diff) |
Merge branch 'main' of db:dotfiles
Diffstat (limited to 'config/essentials/nvim')
-rw-r--r-- | config/essentials/nvim/after/plugin/dap.lua | 39 | ||||
-rw-r--r-- | config/essentials/nvim/after/plugin/dapui.lua | 94 | ||||
-rw-r--r-- | config/essentials/nvim/ftplugin/telekasten.lua | 18 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/aucommands.vim | 1 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/cmp/init.lua | 7 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/cmp/php.lua | 1 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/cmp/rust.lua | 173 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/packer.lua | 4 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/zk.lua | 43 |
9 files changed, 345 insertions, 35 deletions
diff --git a/config/essentials/nvim/after/plugin/dap.lua b/config/essentials/nvim/after/plugin/dap.lua new file mode 100644 index 0000000..8c0a739 --- /dev/null +++ b/config/essentials/nvim/after/plugin/dap.lua @@ -0,0 +1,39 @@ +local dap = require('dap') + +dap.adapters.coreclr = { + type = 'executable', + command = 'netcoredbg', + args = {'--interpreter=vscode'} +} + +dap.configurations.cs = { + { + type = "coreclr", + name = "launch - netcoredbg", + request = "launch", + program = function() + return vim.fn.input('Path to dll', vim.fn.getcwd() .. '/bin/Debug/', 'file') + end, + }, +} + +local function nnoremap(rhs, lhs, bufopts, desc) + bufopts.desc = desc + vim.keymap.set("n", rhs, lhs, bufopts) +end +local bufopts = { noremap=true, silent=true } + + +nnoremap('<F5>' , dap.continue, bufopts, "Continue") +nnoremap('<F10>' , dap.step_over, bufopts, "Step over") +nnoremap('<F11>' , dap.step_into, bufopts, "Step into") +nnoremap('<F12>' , dap.step_out, bufopts, "Step out") +nnoremap('<Leader>b' , dap.toggle_breakpoint, bufopts, "Toggle breakpoint") + +nnoremap('<Leader>B' , function() dap.set_breakpoint(vim.fn.input('Breakpoint condition: ')) + end, bufopts, "Set breakpoint") +nnoremap('<Leader>lp' , function() dap.set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) + end, bufopts, "set breakpoint with log point message") + +nnoremap('<Leader>dr' , dap.repl.open, bufopts, "Reply open") +nnoremap('<Leader>dl' , dap.run_last, bufopts, "Run las") diff --git a/config/essentials/nvim/after/plugin/dapui.lua b/config/essentials/nvim/after/plugin/dapui.lua new file mode 100644 index 0000000..faec590 --- /dev/null +++ b/config/essentials/nvim/after/plugin/dapui.lua @@ -0,0 +1,94 @@ +local dap, dapui = require("dap"), require("dapui") + +dapui.setup({ + icons = { expanded = "▾", collapsed = "▸", current_frame = "▸" }, + mappings = { + -- Use a table to apply multiple mappings + expand = { "<CR>", "<2-LeftMouse>" }, + open = "o", + remove = "d", + edit = "e", + repl = "r", + toggle = "t", + }, + -- Use this to override mappings for specific elements + element_mappings = { + -- Example: + -- stacks = { + -- open = "<CR>", + -- expand = "o", + -- } + }, + -- Expand lines larger than the window + -- Requires >= 0.7 + expand_lines = vim.fn.has("nvim-0.7") == 1, + -- Layouts define sections of the screen to place windows. + -- The position can be "left", "right", "top" or "bottom". + -- The size specifies the height/width depending on position. It can be an Int + -- or a Float. Integer specifies height/width directly (i.e. 20 lines/columns) while + -- Float value specifies percentage (i.e. 0.3 - 30% of available lines/columns) + -- Elements are the elements shown in the layout (in order). + -- Layouts are opened in order so that earlier layouts take priority in window sizing. + layouts = { + { + elements = { + -- Elements can be strings or table with id and size keys. + { id = "scopes", size = 0.25 }, + "breakpoints", + "stacks", + "watches", + }, + size = 40, -- 40 columns + position = "left", + }, + { + elements = { + "repl", + "console", + }, + size = 0.25, -- 25% of total lines + position = "bottom", + }, + }, + controls = { + -- Requires Neovim nightly (or 0.8 when released) + enabled = true, + -- Display controls in this element + element = "repl", + icons = { + pause = "", + play = "", + step_into = "", + step_over = "", + step_out = "", + step_back = "", + run_last = "↻", + terminate = "□", + }, + }, + floating = { + max_height = nil, -- These can be integers or a float between 0 and 1. + max_width = nil, -- Floats will be treated as percentage of your screen. + border = "single", -- Border style. Can be "single", "double" or "rounded" + mappings = { + close = { "q", "<Esc>" }, + }, + }, + windows = { indent = 1 }, + render = { + max_type_length = nil, -- Can be integer or nil. + max_value_lines = 100, -- Can be integer or nil. + } +}) + + +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 + diff --git a/config/essentials/nvim/ftplugin/telekasten.lua b/config/essentials/nvim/ftplugin/telekasten.lua index 622972f..9454cc1 100644 --- a/config/essentials/nvim/ftplugin/telekasten.lua +++ b/config/essentials/nvim/ftplugin/telekasten.lua @@ -10,17 +10,17 @@ vim.cmd("hi link CalNavi CalRuler") vim.cmd("hi tkTagSep ctermfg=gray guifg=gray") vim.cmd("hi tkTag ctermfg=175 guifg=#d3869B") -vim.keymap.set("n", "<LocalLeader>a", "<cmd>Telekasten show_tags<cr>") -vim.keymap.set("n", "<LocalLeader>b", "<cmd>Telekasten show_backlinks<cr>") -vim.keymap.set("n", "<LocalLeader>c", "<cmd>Telekasten show_calendar<cr>") +vim.keymap.set("n", "<LocalLeader>a", require("telekasten").show_tags) +vim.keymap.set("n", "<LocalLeader>b", require("telekasten").show_backlinks) +vim.keymap.set("n", "<LocalLeader>c", require("telekasten").show_calendar) vim.keymap.set("n", "<LocalLeader>C", "<cmd>CalendarT<cr>") vim.keymap.set({"n", "i"}, "<LocalLeader>i", "<Esc><cmd>Telekasten insert_link<cr>") -vim.keymap.set({"n", "i"}, "<LocalLeader>I", "<cmd>Telekasten insert_img_link<cr>") -vim.keymap.set("n", "<LocalLeader>F", "<cmd>Telekasten find_friends<cr>") -vim.keymap.set("n", "<LocalLeader>r", "<cmd>Telekasten rename_note<cr>") -vim.keymap.set("n", "<LocalLeader>t", "<cmd>Telekasten toggle_todo<cr>") +vim.keymap.set({"n", "i"}, "<LocalLeader>I", require("telekasten").insert_img_link) +vim.keymap.set("n", "<LocalLeader>F", require("telekasten").find_friends) +vim.keymap.set("n", "<LocalLeader>r", require("telekasten").rename_note) +vim.keymap.set("n", "<LocalLeader>t", require("telekasten").toggle_todo) vim.keymap.set("i", "<LocalLeader>t", "<cmd>Telekasten toggle_todo<cr><Esc>A") -vim.keymap.set("n", "<LocalLeader>y", "<cmd>Telekasten yank_notelink<cr>") -vim.keymap.set("n", "<LocalLeader>z", "<cmd>Telekasten follow_link<cr>") +vim.keymap.set("n", "<LocalLeader>y", require("telekasten").yank_notelink) +vim.keymap.set("n", "<LocalLeader>z", require("telekasten").follow_link) vim.keymap.set("i", "<LocalLeader>l", "<esc>I[<esc>A]()<left><C-r>+<esc>A") diff --git a/config/essentials/nvim/lua/user/aucommands.vim b/config/essentials/nvim/lua/user/aucommands.vim index 873f9c9..cdd0ae7 100644 --- a/config/essentials/nvim/lua/user/aucommands.vim +++ b/config/essentials/nvim/lua/user/aucommands.vim @@ -8,7 +8,6 @@ augroup END " terminal specific layout augroup neovim_terminal autocmd! autocmd TermOpen * startinsert - autocmd TermOpen * :GitGutterBufferDisable autocmd TermOpen * :set nonumber norelativenumber signcolumn=no autocmd TermOpen * nnoremap <buffer> <C-c> i<C-c> augroup END diff --git a/config/essentials/nvim/lua/user/cmp/init.lua b/config/essentials/nvim/lua/user/cmp/init.lua index d40a67c..1ca0a10 100644 --- a/config/essentials/nvim/lua/user/cmp/init.lua +++ b/config/essentials/nvim/lua/user/cmp/init.lua @@ -4,11 +4,12 @@ require("user.cmp.arduino") require("user.cmp.bash") require("user.cmp.clangd") require("user.cmp.cs") -require("user.cmp.html") require("user.cmp.css") +require("user.cmp.emmet") +require("user.cmp.html") require("user.cmp.java") require("user.cmp.js") -require("user.cmp.emmet") require("user.cmp.lua") +require("user.cmp.php") require("user.cmp.python") -require("user.cmp.cs") +require("user.cmp.rust") diff --git a/config/essentials/nvim/lua/user/cmp/php.lua b/config/essentials/nvim/lua/user/cmp/php.lua new file mode 100644 index 0000000..9b2fa18 --- /dev/null +++ b/config/essentials/nvim/lua/user/cmp/php.lua @@ -0,0 +1 @@ +require'lspconfig'.phpactor.setup{} diff --git a/config/essentials/nvim/lua/user/cmp/rust.lua b/config/essentials/nvim/lua/user/cmp/rust.lua new file mode 100644 index 0000000..46a97eb --- /dev/null +++ b/config/essentials/nvim/lua/user/cmp/rust.lua @@ -0,0 +1,173 @@ +require'lspconfig'.rust_analyzer.setup{ + settings = { + ['rust-analyzer'] = { + diagnostics = { + enable = false; + } + } + }, + capabilities = + { + experimental = { + serverStatusNotification = true + }, + general = { + positionEncodings = { "utf-16" } + }, + textDocument = { + callHierarchy = { + dynamicRegistration = false + }, + codeAction = { + codeActionLiteralSupport = { + codeActionKind = { + valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" } + } + }, + dataSupport = true, + dynamicRegistration = true, + isPreferredSupport = true, + resolveSupport = { + properties = { "edit" } + } + }, + completion = { + completionItem = { + commitCharactersSupport = false, + deprecatedSupport = false, + documentationFormat = { "markdown", "plaintext" }, + preselectSupport = false, + snippetSupport = false + }, + completionItemKind = { + valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 } + }, + contextSupport = false, + dynamicRegistration = false + }, + declaration = { + linkSupport = true + }, + definition = { + dynamicRegistration = true, + linkSupport = true + }, + diagnostic = { + dynamicRegistration = false + }, + documentHighlight = { + dynamicRegistration = false + }, + documentSymbol = { + dynamicRegistration = false, + hierarchicalDocumentSymbolSupport = true, + symbolKind = { + valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 } + } + }, + formatting = { + dynamicRegistration = true + }, + hover = { + contentFormat = { "markdown", "plaintext" }, + dynamicRegistration = true + }, + implementation = { + linkSupport = true + }, + inlayHint = { + dynamicRegistration = true, + resolveSupport = { + properties = {} + } + }, + publishDiagnostics = { + dataSupport = true, + relatedInformation = true, + tagSupport = { + valueSet = { 1, 2 } + } + }, + rangeFormatting = { + dynamicRegistration = true + }, + references = { + dynamicRegistration = false + }, + rename = { + dynamicRegistration = true, + prepareSupport = true + }, + semanticTokens = { + augmentsSyntaxTokens = true, + dynamicRegistration = false, + formats = { "relative" }, + multilineTokenSupport = false, + overlappingTokenSupport = true, + requests = { + full = { + delta = true + }, + range = false + }, + serverCancelSupport = false, + tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" }, + tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" } + }, + signatureHelp = { + dynamicRegistration = false, + signatureInformation = { + activeParameterSupport = true, + documentationFormat = { "markdown", "plaintext" }, + parameterInformation = { + labelOffsetSupport = true + } + } + }, + synchronization = { + didSave = true, + dynamicRegistration = false, + willSave = true, + willSaveWaitUntil = true + }, + typeDefinition = { + linkSupport = true + } + }, + window = { + showDocument = { + support = true + }, + showMessage = { + messageActionItem = { + additionalPropertiesSupport = false + } + }, + workDoneProgress = true + }, + workspace = { + applyEdit = true, + configuration = true, + didChangeWatchedFiles = { + dynamicRegistration = true, + relativePatternSupport = true + }, + inlayHint = { + refreshSupport = true + }, + semanticTokens = { + refreshSupport = true + }, + symbol = { + dynamicRegistration = false, + symbolKind = { + valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 } + } + }, + workspaceEdit = { + resourceOperations = { "rename", "create", "delete" } + }, + workspaceFolders = true + } + } +} diff --git a/config/essentials/nvim/lua/user/packer.lua b/config/essentials/nvim/lua/user/packer.lua index 605c0e2..94d4dff 100644 --- a/config/essentials/nvim/lua/user/packer.lua +++ b/config/essentials/nvim/lua/user/packer.lua @@ -49,7 +49,7 @@ return require('packer').startup(function(use) use('ojroques/vim-oscyank', {branch = "main"}) use("potamides/pantran.nvim") use('alx741/vinfo') - use('github/copilot.vim') + -- use('github/copilot.vim') -- objects use('michaeljsmith/vim-indent-object') @@ -65,7 +65,9 @@ return require('packer').startup(function(use) use('hrsh7th/cmp-nvim-lsp-signature-help') use('alvan/vim-closetag') + -- debugging use('mfussenegger/nvim-dap') + use { "rcarriga/nvim-dap-ui", requires = {"mfussenegger/nvim-dap"} } -- java use('mfussenegger/nvim-jdtls') diff --git a/config/essentials/nvim/lua/user/zk.lua b/config/essentials/nvim/lua/user/zk.lua index ee055d6..db022cb 100644 --- a/config/essentials/nvim/lua/user/zk.lua +++ b/config/essentials/nvim/lua/user/zk.lua @@ -1,5 +1,6 @@ local home = vim.fn.expand("~/docs/zk") -require('telekasten').setup({ + +require("telekasten").setup({ home = home, take_over_my_home = true, auto_set_filetype = true, @@ -65,8 +66,8 @@ require('telekasten').setup({ template_new_note = home .. "/" .. "templates/new_note.md", new_note_filename = "title", }, - dotNetEssentials = { - home = home .. "/" .. "dotNetEssentials", + NETEssentials = { + home = home .. "/" .. "NETEssentials", template_new_note = home .. "/" .. "templates/new_note.md", new_note_filename = "title", }, @@ -88,21 +89,21 @@ require('telekasten').setup({ } }) -vim.keymap.set("n", "<leader>z", "<cmd>Telekasten panel<cr>") -vim.keymap.set("n", "<leader>zb", "<cmd>Telekasten show_backlinks<cr>") -vim.keymap.set("n", "<leader>zz", "<cmd>Telekasten follow_link<cr>") -vim.keymap.set("n", "<leader>zN", "<cmd>Telekasten new_templated_note<cr>") -vim.keymap.set("n", "<leader>zT", "<cmd>Telekasten goto_today<cr>") -vim.keymap.set("n", "<leader>zW", "<cmd>Telekasten goto_thisweek<cr>") -vim.keymap.set("n", "<leader>zd", "<cmd>Telekasten find_daily_notes<cr>") -vim.keymap.set("n", "<leader>zf", "<cmd>Telekasten find_notes<cr>") -vim.keymap.set("n", "<leader>zg", "<cmd>Telekasten search_notes<cr>") -vim.keymap.set("n", "<leader>zm", "<cmd>Telekasten browse_media<cr>") -vim.keymap.set("n", "<leader>zn", "<cmd>Telekasten new_note<cr>") -vim.keymap.set("n", "<leader>zp", "<cmd>Telekasten preview_img<cr>") -vim.keymap.set("n", "<leader>zr", "<cmd>Telekasten rename_note<cr>") -vim.keymap.set("n", "<leader>zs", "<cmd>Telekasten switch_vault<cr>") -vim.keymap.set("n", "<leader>zS", "<cmd>Telekasten search_notes<cr>") -vim.keymap.set("n", "<leader>zt", "<cmd>Telekasten panel<cr>") -vim.keymap.set("n", "<leader>zw", "<cmd>Telekasten find_weekly_notes<cr>") -vim.keymap.set("n", "<leader>z#", "<cmd>Telekasten show_tags<cr>") +vim.keymap.set("n", "<leader>z", require("telekasten").panel) +vim.keymap.set("n", "<leader>zb", require("telekasten").show_backlinks) +vim.keymap.set("n", "<leader>zz", require("telekasten").follow_link) +vim.keymap.set("n", "<leader>zN", require("telekasten").new_templated_note) +vim.keymap.set("n", "<leader>zT", require("telekasten").goto_today) +vim.keymap.set("n", "<leader>zW", require("telekasten").goto_thisweek) +vim.keymap.set("n", "<leader>zd", require("telekasten").find_daily_notes) +vim.keymap.set("n", "<leader>zf", require("telekasten").find_notes) +vim.keymap.set("n", "<leader>zg", require("telekasten").search_notes) +vim.keymap.set("n", "<leader>zm", require("telekasten").browse_media) +vim.keymap.set("n", "<leader>zn", require("telekasten").new_note) +vim.keymap.set("n", "<leader>zp", require("telekasten").preview_img) +vim.keymap.set("n", "<leader>zr", require("telekasten").rename_note) +vim.keymap.set("n", "<leader>zs", require("telekasten").switch_vault) +vim.keymap.set("n", "<leader>zS", require("telekasten").search_notes) +vim.keymap.set("n", "<leader>zt", require("telekasten").panel) +vim.keymap.set("n", "<leader>zw", require("telekasten").find_weekly_notes) +vim.keymap.set("n", "<leader>z#", require("telekasten").show_backlinks) |