diff --git a/.config/Thunar/uca.xml b/.config/Thunar/uca.xml index e5b5149..0bee3f1 100644 --- a/.config/Thunar/uca.xml +++ b/.config/Thunar/uca.xml @@ -1,19 +1,5 @@ - - user-trash - Move to Trash - 1663752025909170-1 - trash %F - Moves item to trash with trash-cli - * - - - - - - - lxterminal Open Terminal Here diff --git a/.config/nvim/lua/user/lsp/mason.lua b/.config/nvim/lua/user/lsp/mason.lua index a7613cb..2b3321c 100644 --- a/.config/nvim/lua/user/lsp/mason.lua +++ b/.config/nvim/lua/user/lsp/mason.lua @@ -22,6 +22,7 @@ local servers = { "tsserver", "pyright", "yamlls", + "texlab", "bashls", "clangd", "rust_analyzer", diff --git a/.config/nvim/lua/user/plugins.lua b/.config/nvim/lua/user/plugins.lua index 00c2148..b0219a4 100644 --- a/.config/nvim/lua/user/plugins.lua +++ b/.config/nvim/lua/user/plugins.lua @@ -79,8 +79,8 @@ return packer.startup(function(use) -- LaTeX -- use "SirVer/ultisnips" - use("lervag/vimtex") - use("ludovicchabant/vim-gutentags") + -- use("lervag/vimtex") + -- use("ludovicchabant/vim-gutentags") -- Snippet use("L3MON4D3/LuaSnip") -- snippet engine diff --git a/.config/nvim/lua/user/whichkey.lua b/.config/nvim/lua/user/whichkey.lua index a980e2f..313c44c 100644 --- a/.config/nvim/lua/user/whichkey.lua +++ b/.config/nvim/lua/user/whichkey.lua @@ -1,269 +1,270 @@ local status_ok, which_key = pcall(require, "which-key") if not status_ok then - return + return end local setup = { - plugins = { - marks = true, -- shows a list of your marks on ' and ` - registers = true, -- shows your registers on " in NORMAL or in INSERT mode - spelling = { - enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions - suggestions = 20, -- how many suggestions should be shown in the list? - }, - -- the presets plugin, adds help for a bunch of default keybindings in Neovim - -- No actual key bindings are created - presets = { - operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion - motions = false, -- adds help for motions - text_objects = false, -- help for text objects triggered after entering an operator - windows = true, -- default bindings on - nav = true, -- misc bindings to work with windows - z = true, -- bindings for folds, spelling and others prefixed with z - g = true, -- bindings for prefixed with g - }, - }, - key_labels = { - -- override the label used to display some keys. It doesn't effect WK in any other way. - [""] = "SPC", - }, - icons = { - breadcrumb = "»", -- symbol used in the command line area that shows your active key combo - separator = "➜", -- symbol used between a key and it's label - group = "+", -- symbol prepended to a group - }, - popup_mappings = { - scroll_down = "", -- binding to scroll down inside the popup - scroll_up = "", -- binding to scroll up inside the popup - }, - window = { - border = "rounded", -- none, single, double, shadow - position = "bottom", -- bottom, top - margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] - padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left] - winblend = 0, - }, - layout = { - height = { min = 4, max = 25 }, -- min and max height of the columns - width = { min = 20, max = 50 }, -- min and max width of the columns - spacing = 3, -- spacing between columns - align = "center", -- align columns left, center or right - }, - ignore_missing = true, -- enable this to hide mappings for which you didn't specify a label - hidden = { "", "", "", "", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate - show_help = false, -- show help message on the command line when the popup is visible - triggers_blacklist = { - -- list of mode / prefixes that should never be hooked by WhichKey - -- this is mostly relevant for key maps that start with a native binding - -- most people should not need to change this - i = { "j", "k" }, - v = { "j", "k" }, - }, + plugins = { + marks = true, -- shows a list of your marks on ' and ` + registers = true, -- shows your registers on " in NORMAL or in INSERT mode + spelling = { + enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions + suggestions = 20, -- how many suggestions should be shown in the list? + }, + -- the presets plugin, adds help for a bunch of default keybindings in Neovim + -- No actual key bindings are created + presets = { + operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion + motions = false, -- adds help for motions + text_objects = false, -- help for text objects triggered after entering an operator + windows = true, -- default bindings on + nav = true, -- misc bindings to work with windows + z = true, -- bindings for folds, spelling and others prefixed with z + g = true, -- bindings for prefixed with g + }, + }, + key_labels = { + -- override the label used to display some keys. It doesn't effect WK in any other way. + [""] = "SPC", + }, + icons = { + breadcrumb = "»", -- symbol used in the command line area that shows your active key combo + separator = "➜", -- symbol used between a key and it's label + group = "+", -- symbol prepended to a group + }, + popup_mappings = { + scroll_down = "", -- binding to scroll down inside the popup + scroll_up = "", -- binding to scroll up inside the popup + }, + window = { + border = "rounded", -- none, single, double, shadow + position = "bottom", -- bottom, top + margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] + padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left] + winblend = 0, + }, + layout = { + height = { min = 4, max = 25 }, -- min and max height of the columns + width = { min = 20, max = 50 }, -- min and max width of the columns + spacing = 3, -- spacing between columns + align = "center", -- align columns left, center or right + }, + ignore_missing = true, -- enable this to hide mappings for which you didn't specify a label + hidden = { "", "", "", "", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate + show_help = false, -- show help message on the command line when the popup is visible + triggers_blacklist = { + -- list of mode / prefixes that should never be hooked by WhichKey + -- this is mostly relevant for key maps that start with a native binding + -- most people should not need to change this + i = { "j", "k" }, + v = { "j", "k" }, + }, } local opts = { - mode = "n", -- NORMAL mode - prefix = "", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps + mode = "n", -- NORMAL mode + prefix = "", + buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings + silent = true, -- use `silent` when creating keymaps + noremap = true, -- use `noremap` when creating keymaps + nowait = true, -- use `nowait` when creating keymaps } local m_opts = { - mode = "n", -- NORMAL mode - prefix = "m", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps + mode = "n", -- NORMAL mode + prefix = "m", + buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings + silent = true, -- use `silent` when creating keymaps + noremap = true, -- use `noremap` when creating keymaps + nowait = true, -- use `nowait` when creating keymaps } local m_mappings = { - m = { 'lua require("harpoon.mark").add_file()', "Harpoon" }, - l = { 'lua require("harpoon.ui").nav_next()', "Harpoon Next" }, - h = { 'lua require("harpoon.ui").nav_prev()', "Harpoon Prev" }, - s = { "Telescope harpoon marks", "Search Files" }, - u = { 'lua require("harpoon.ui").toggle_quick_menu()', "Harpoon UI" }, + m = { 'lua require("harpoon.mark").add_file()', "Harpoon" }, + l = { 'lua require("harpoon.ui").nav_next()', "Harpoon Next" }, + h = { 'lua require("harpoon.ui").nav_prev()', "Harpoon Prev" }, + s = { "Telescope harpoon marks", "Search Files" }, + u = { 'lua require("harpoon.ui").toggle_quick_menu()', "Harpoon UI" }, } local mappings = { - a = { "CodeActionMenu", "Action" }, - c = { "Bdelete", "Close Buffer" }, - C = { "w! | !compiler %", "Compile File" }, - h = { "split", "split" }, - n = { "NvimTreeToggle", "Explorer" }, - O = { "setlocal spell! spelllang=en_us", "Toggle Spelling" }, - P = { "!opout %", "Preview Document" }, - q = { 'lua require("user.functions").smart_quit()', "Quit" }, - v = { "vsplit", "vsplit" }, - w = { "w", "Write" }, - z = { "ZenMode", "Zen" }, - ["/"] = { 'lua require("Comment.api").toggle.linewise.current()', "Comment" }, - ["'"] = { 'close', "Close split" }, + a = { "CodeActionMenu", "Action" }, + c = { "Bdelete", "Close Buffer" }, + C = { "w! | !compiler %", "Compile File" }, + h = { "split", "split" }, + n = { "NvimTreeToggle", "Explorer" }, + O = { "setlocal spell! spelllang=en_us", "Toggle Spelling" }, + P = { "!opout %", "Preview Document" }, + q = { 'lua require("user.functions").smart_quit()', "Quit" }, + v = { "vsplit", "vsplit" }, + w = { "w", "Write" }, + z = { "ZenMode", "Zen" }, + ["/"] = { 'lua require("Comment.api").toggle.linewise.current()', "Comment" }, + ["'"] = { "close", "Close split" }, - b = { - name = "Buffer", - b = { "Telescope buffers", "Telescope" }, - c = { "Bdelete!", "Close Buffer" }, - h = { "BufferLineCyclePrev", "Cycle Previous" }, - l = { "BufferLineCycleNext", "Cycle Next" }, - p = { "BufferLinePickClose", "Pick Close" }, - }, + b = { + name = "Buffer", + b = { "Telescope buffers", "Telescope" }, + c = { "Bdelete!", "Close Buffer" }, + h = { "BufferLineCyclePrev", "Cycle Previous" }, + l = { "BufferLineCycleNext", "Cycle Next" }, + p = { "BufferLinePickClose", "Pick Close" }, + }, - p = { - name = "Packer", - c = { "PackerCompile", "Compile" }, - i = { "PackerInstall", "Install" }, - s = { "PackerSync", "Sync" }, - S = { "PackerStatus", "Status" }, - u = { "PackerUpdate", "Update" }, - }, + p = { + name = "Packer", + c = { "PackerCompile", "Compile" }, + i = { "PackerInstall", "Install" }, + s = { "PackerSync", "Sync" }, + S = { "PackerStatus", "Status" }, + u = { "PackerUpdate", "Update" }, + }, - o = { - name = "Options", - c = { 'lua vim.g.cmp_active=false', "Completion off" }, - C = { 'lua vim.g.cmp_active=true', "Completion on" }, - w = { 'lua require("user.functions").toggle_option("wrap")', "Wrap" }, - r = { 'lua require("user.functions").toggle_option("relativenumber")', "Relative" }, - l = { 'lua require("user.functions").toggle_option("cursorline")', "Cursorline" }, - s = { 'lua require("user.functions").toggle_option("spell")', "Spell" }, - t = { 'lua require("user.functions").toggle_tabline()', "Tabline" }, - }, + o = { + name = "Options", + c = { "lua vim.g.cmp_active=false", "Completion off" }, + C = { "lua vim.g.cmp_active=true", "Completion on" }, + w = { 'lua require("user.functions").toggle_option("wrap")', "Wrap" }, + r = { 'lua require("user.functions").toggle_option("relativenumber")', "Relative" }, + l = { 'lua require("user.functions").toggle_option("cursorline")', "Cursorline" }, + s = { 'lua require("user.functions").toggle_option("spell")', "Spell" }, + t = { 'lua require("user.functions").toggle_tabline()', "Tabline" }, + }, - r = { - name = "Replace", - r = { "lua require('spectre').open()", "Replace" }, - w = { "lua require('spectre').open_visual({select_word=true})", "Replace Word" }, - f = { "lua require('spectre').open_file_search()", "Replace Buffer" }, - }, + r = { + name = "Replace", + r = { "lua require('spectre').open()", "Replace" }, + w = { "lua require('spectre').open_visual({select_word=true})", "Replace Word" }, + f = { "lua require('spectre').open_file_search()", "Replace Buffer" }, + }, - d = { - name = "Debug", - b = { "lua require'dap'.toggle_breakpoint()", "Breakpoint" }, - c = { "lua require'dap'.continue()", "Continue" }, - i = { "lua require'dap'.step_into()", "Into" }, - o = { "lua require'dap'.step_over()", "Over" }, - O = { "lua require'dap'.step_out()", "Out" }, - r = { "lua require'dap'.repl.toggle()", "Repl" }, - l = { "lua require'dap'.run_last()", "Last" }, - u = { "lua require'dapui'.toggle()", "UI" }, - x = { "lua require'dap'.terminate()", "Exit" }, - }, + d = { + name = "Debug", + b = { "lua require'dap'.toggle_breakpoint()", "Breakpoint" }, + c = { "lua require'dap'.continue()", "Continue" }, + i = { "lua require'dap'.step_into()", "Into" }, + o = { "lua require'dap'.step_over()", "Over" }, + O = { "lua require'dap'.step_out()", "Out" }, + r = { "lua require'dap'.repl.toggle()", "Repl" }, + l = { "lua require'dap'.run_last()", "Last" }, + u = { "lua require'dapui'.toggle()", "UI" }, + x = { "lua require'dap'.terminate()", "Exit" }, + }, - f = { - name = "Find", - b = { "Telescope git_branches", "Checkout branch" }, - c = { "Telescope colorscheme", "Colorscheme" }, - f = { "Telescope find_files", "Find files" }, - t = { "Telescope live_grep", "Find Text" }, - s = { "Telescope grep_string", "Find String" }, - h = { "Telescope help_tags", "Help" }, - H = { "Telescope highlights", "Highlights" }, - l = { "Telescope resume", "Last Search" }, - M = { "Telescope man_pages", "Man Pages" }, - r = { "Telescope oldfiles", "Recent File" }, - R = { "Telescope registers", "Registers" }, - k = { "Telescope keymaps", "Keymaps" }, - C = { "Telescope commands", "Commands" }, - }, + f = { + name = "Find", + b = { "Telescope git_branches", "Checkout branch" }, + c = { "Telescope colorscheme", "Colorscheme" }, + f = { "Telescope find_files", "Find files" }, + t = { "Telescope live_grep", "Find Text" }, + s = { "Telescope grep_string", "Find String" }, + h = { "Telescope help_tags", "Help" }, + H = { "Telescope highlights", "Highlights" }, + l = { "Telescope resume", "Last Search" }, + M = { "Telescope man_pages", "Man Pages" }, + r = { "Telescope oldfiles", "Recent File" }, + R = { "Telescope registers", "Registers" }, + k = { "Telescope keymaps", "Keymaps" }, + C = { "Telescope commands", "Commands" }, + }, - g = { - name = "Git", - g = { "lua _LAZYGIT_TOGGLE()", "Lazygit" }, - j = { "lua require 'gitsigns'.next_hunk()", "Next Hunk" }, - k = { "lua require 'gitsigns'.prev_hunk()", "Prev Hunk" }, - l = { "GitBlameToggle", "Blame" }, - p = { "lua require 'gitsigns'.preview_hunk()", "Preview Hunk" }, - r = { "lua require 'gitsigns'.reset_hunk()", "Reset Hunk" }, - R = { "lua require 'gitsigns'.reset_buffer()", "Reset Buffer" }, - s = { "lua require 'gitsigns'.stage_hunk()", "Stage Hunk" }, - u = { - "lua require 'gitsigns'.undo_stage_hunk()", - "Undo Stage Hunk", - }, - o = { "Telescope git_status", "Open changed file" }, - b = { "Telescope git_branches", "Checkout branch" }, - c = { "Telescope git_commits", "Checkout commit" }, - d = { - "Gitsigns diffthis HEAD", - "Diff", - }, - }, + g = { + name = "Git", + g = { "lua _LAZYGIT_TOGGLE()", "Lazygit" }, + j = { "lua require 'gitsigns'.next_hunk()", "Next Hunk" }, + k = { "lua require 'gitsigns'.prev_hunk()", "Prev Hunk" }, + l = { "GitBlameToggle", "Blame" }, + p = { "lua require 'gitsigns'.preview_hunk()", "Preview Hunk" }, + r = { "lua require 'gitsigns'.reset_hunk()", "Reset Hunk" }, + R = { "lua require 'gitsigns'.reset_buffer()", "Reset Buffer" }, + s = { "lua require 'gitsigns'.stage_hunk()", "Stage Hunk" }, + u = { + "lua require 'gitsigns'.undo_stage_hunk()", + "Undo Stage Hunk", + }, + o = { "Telescope git_status", "Open changed file" }, + b = { "Telescope git_branches", "Checkout branch" }, + c = { "Telescope git_commits", "Checkout commit" }, + d = { + "Gitsigns diffthis HEAD", + "Diff", + }, + }, - l = { - name = "LSP", - a = { "CodeActionMenu", "Code Action" }, - d = { "TroubleToggle document_diagnostics", "Diagnostics" }, - D = { "lua vim.lsp.buf.definition()", "Definition" }, - w = { - "TroubleToggle workspace_diagnostics", - "Workspace Diagnostics", - }, - f = { "lua vim.lsp.buf.format({ async = true })", "Format" }, - F = { "LspToggleAutoFormat", "Toggle Autoformat" }, - h = { "lua vim.lsp.buf.hover()", "Hover" }, - i = { "lua vim.lsp.buf.implementation()", "Implementation" }, - I = { "LspInfo", "Info" }, - j = { - "lua vim.diagnostic.goto_next({buffer=0})", - "Next Diagnostic", - }, - k = { - "lua vim.diagnostic.goto_prev({buffer=0})", - "Prev Diagnostic", - }, - v = { "lua require('lsp_lines').toggle()", "Virtual Text" }, - l = { "lua vim.lsp.codelens.run()", "CodeLens Action" }, - o = { "SymbolsOutline", "Outline" }, - r = { "lua vim.lsp.buf.rename()", "Rename" }, - R = { "TroubleToggle lsp_references", "References" }, - s = { "Telescope lsp_document_symbols", "Document Symbols" }, - S = { - "Telescope lsp_dynamic_workspace_symbols", - "Workspace Symbols", - }, - t = { 'lua require("user.functions").toggle_diagnostics()', "Toggle Diagnostics" }, - u = { "LuaSnipUnlinkCurrent", "Unlink Snippet" }, - }, + l = { + name = "LSP", + a = { "CodeActionMenu", "Code Action" }, + d = { "TroubleToggle document_diagnostics", "Diagnostics" }, + D = { "lua vim.lsp.buf.definition()", "Definition" }, + w = { + "TroubleToggle workspace_diagnostics", + "Workspace Diagnostics", + }, + f = { "lua vim.lsp.buf.format({ async = true })", "Format" }, + F = { "LspToggleAutoFormat", "Toggle Autoformat" }, + h = { "lua vim.lsp.buf.hover()", "Hover" }, + i = { "lua vim.lsp.buf.implementation()", "Implementation" }, + I = { "LspInfo", "Info" }, + j = { + "lua vim.diagnostic.goto_next({buffer=0})", + "Next Diagnostic", + }, + k = { + "lua vim.diagnostic.goto_prev({buffer=0})", + "Prev Diagnostic", + }, + v = { "lua require('lsp_lines').toggle()", "Virtual Text" }, + l = { "lua vim.lsp.codelens.run()", "CodeLens Action" }, + o = { "SymbolsOutline", "Outline" }, + r = { "lua vim.lsp.buf.rename()", "Rename" }, + R = { "TroubleToggle lsp_references", "References" }, + s = { "Telescope lsp_document_symbols", "Document Symbols" }, + S = { + "Telescope lsp_dynamic_workspace_symbols", + "Workspace Symbols", + }, + t = { 'lua require("user.functions").toggle_diagnostics()', "Toggle Diagnostics" }, + u = { "LuaSnipUnlinkCurrent", "Unlink Snippet" }, + M = { "Mason", "Open Mason UI" }, + }, - t = { - name = "Terminal", - ["1"] = { ":1ToggleTerm", "1" }, - ["2"] = { ":2ToggleTerm", "2" }, - ["3"] = { ":3ToggleTerm", "3" }, - ["4"] = { ":4ToggleTerm", "4" }, - t = { "lua _HTOP_TOGGLE()", "htop" }, - d = { "lua _DOTNET_RUN_TOGGLE()", "dotnet run" }, - f = { "ToggleTerm direction=float", "Float" }, - h = { "ToggleTerm direction=horizontal", "Horizontal" }, - }, + t = { + name = "Terminal", + ["1"] = { ":1ToggleTerm", "1" }, + ["2"] = { ":2ToggleTerm", "2" }, + ["3"] = { ":3ToggleTerm", "3" }, + ["4"] = { ":4ToggleTerm", "4" }, + t = { "lua _HTOP_TOGGLE()", "htop" }, + d = { "lua _DOTNET_RUN_TOGGLE()", "dotnet run" }, + f = { "ToggleTerm direction=float", "Float" }, + h = { "ToggleTerm direction=horizontal", "Horizontal" }, + }, - T = { - name = "Treesitter", - h = { "TSHighlightCapturesUnderCursor", "Highlight" }, - p = { "TSPlaygroundToggle", "Playground" }, - r = { "TSToggle rainbow", "Rainbow" }, - }, + T = { + name = "Treesitter", + h = { "TSHighlightCapturesUnderCursor", "Highlight" }, + p = { "TSPlaygroundToggle", "Playground" }, + r = { "TSToggle rainbow", "Rainbow" }, + }, - N = { - name = "Notes (zk)", - n = { "ZkNew", "New Note" }, - e = { "ZkNotes", "Edit Notes" }, - } + N = { + name = "Notes (zk)", + n = { "ZkNew", "New Note" }, + e = { "ZkNotes", "Edit Notes" }, + }, } local vopts = { - mode = "v", -- VISUAL mode - prefix = "", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps + mode = "v", -- VISUAL mode + prefix = "", + buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings + silent = true, -- use `silent` when creating keymaps + noremap = true, -- use `noremap` when creating keymaps + nowait = true, -- use `nowait` when creating keymaps } local vmappings = { - ["/"] = { 'lua require("Comment.api").toggle.linewise(vim.fn.visualmode())', "Comment" }, + ["/"] = { 'lua require("Comment.api").toggle.linewise(vim.fn.visualmode())', "Comment" }, } which_key.setup(setup) diff --git a/.xmonad/xmonad.hs b/.xmonad/xmonad.hs index 18936b1..7a68ddf 100644 --- a/.xmonad/xmonad.hs +++ b/.xmonad/xmonad.hs @@ -385,6 +385,7 @@ myStandardEZKeys = --NOTE extras , ("M-S-/", spawn "xmonad-keys-help") -- show keybinds , ("M-", spawn "maimpick") -- take full screenshot + , ("M-", spawn "kbswitcher") -- set keyboard to dvorak ] -- The following lines are needed for named scratchpads. where nonNSP = WSIs (return (\ws -> W.tag ws /= "NSP"))