diff --git a/.stylua.toml b/.stylua.toml deleted file mode 100644 index 394e884..0000000 --- a/.stylua.toml +++ /dev/null @@ -1 +0,0 @@ -indent_type = "Spaces" diff --git a/flake/checks.nix b/flake/checks.nix index 98e49bd..970e91d 100644 --- a/flake/checks.nix +++ b/flake/checks.nix @@ -22,10 +22,6 @@ shellcheck = { enable = true; }; - - stylua = { - enable = true; - }; }; }; }; diff --git a/home/vim/after/ftplugin/markdown.vim b/home/vim/after/ftplugin/pandoc.vim similarity index 100% rename from home/vim/after/ftplugin/markdown.vim rename to home/vim/after/ftplugin/pandoc.vim diff --git a/home/vim/after/plugin/mappings/commentary.lua b/home/vim/after/plugin/mappings/commentary.vim similarity index 94% rename from home/vim/after/plugin/mappings/commentary.lua rename to home/vim/after/plugin/mappings/commentary.vim index 6ed3b89..219d661 100644 --- a/home/vim/after/plugin/mappings/commentary.lua +++ b/home/vim/after/plugin/mappings/commentary.vim @@ -1,3 +1,4 @@ +lua << EOF local wk = require("which-key") local keys = { @@ -8,3 +9,4 @@ local keys = { } wk.register(keys, { prefix = "gc" }) +EOF diff --git a/home/vim/after/plugin/mappings/misc.lua b/home/vim/after/plugin/mappings/misc.vim similarity index 91% rename from home/vim/after/plugin/mappings/misc.lua rename to home/vim/after/plugin/mappings/misc.vim index 6aa25a2..c7fcc8a 100644 --- a/home/vim/after/plugin/mappings/misc.lua +++ b/home/vim/after/plugin/mappings/misc.vim @@ -1,3 +1,4 @@ +lua << EOF local wk = require("which-key") local keys = { @@ -5,3 +6,4 @@ local keys = { } wk.register(keys, { prefix = "" }) +EOF diff --git a/home/vim/after/plugin/mappings/telescope.lua b/home/vim/after/plugin/mappings/telescope.vim similarity index 96% rename from home/vim/after/plugin/mappings/telescope.lua rename to home/vim/after/plugin/mappings/telescope.vim index 0867b36..eb6363d 100644 --- a/home/vim/after/plugin/mappings/telescope.lua +++ b/home/vim/after/plugin/mappings/telescope.vim @@ -1,3 +1,4 @@ +lua << EOF local wk = require("which-key") local telescope_builtin = require("telescope.builtin") @@ -13,3 +14,5 @@ local keys = { } wk.register(keys, { prefix = "" }) +EOF + diff --git a/home/vim/after/plugin/mappings/tree-sitter-textobjects.lua b/home/vim/after/plugin/mappings/tree-sitter-textobjects.vim similarity index 98% rename from home/vim/after/plugin/mappings/tree-sitter-textobjects.lua rename to home/vim/after/plugin/mappings/tree-sitter-textobjects.vim index 631731c..9cabd91 100644 --- a/home/vim/after/plugin/mappings/tree-sitter-textobjects.lua +++ b/home/vim/after/plugin/mappings/tree-sitter-textobjects.vim @@ -1,3 +1,4 @@ +lua << EOF local wk = require("which-key") local motions = { @@ -28,3 +29,4 @@ local objects = { wk.register(motions, { mode = "n" }) wk.register(objects, { mode = "o" }) +EOF diff --git a/home/vim/after/plugin/mappings/unimpaired.lua b/home/vim/after/plugin/mappings/unimpaired.vim similarity index 96% rename from home/vim/after/plugin/mappings/unimpaired.lua rename to home/vim/after/plugin/mappings/unimpaired.vim index f39a8c0..12029cc 100644 --- a/home/vim/after/plugin/mappings/unimpaired.lua +++ b/home/vim/after/plugin/mappings/unimpaired.vim @@ -1,3 +1,4 @@ +lua << EOF local wk = require("which-key") local keys = { @@ -30,7 +31,7 @@ local keys = { x = "XML encode", y = "C string encode", -- Custom - d = { vim.diagnostic.goto_prev, "Previous diagnostic" }, + d = { vim.diagnostic.goto_prev, "Previous diagnostic" } }, ["]"] = { name = "Next", @@ -60,7 +61,7 @@ local keys = { x = "XML decode", y = "C string decode", -- Custom - d = { vim.diagnostic.goto_next, "Next diagnostic" }, + d = { vim.diagnostic.goto_next, "Next diagnostic" } }, -- Option mappings @@ -124,3 +125,4 @@ local keys = { } wk.register(keys) +EOF diff --git a/home/vim/default.nix b/home/vim/default.nix index 1aad3c1..1ac9652 100644 --- a/home/vim/default.nix +++ b/home/vim/default.nix @@ -54,6 +54,8 @@ in vim-beancount vim-jsonnet vim-nix + vim-pandoc + vim-pandoc-syntax vim-toml # General enhancements diff --git a/home/vim/lua/ambroisie/lsp.lua b/home/vim/lua/ambroisie/lsp.lua index b682d27..254d243 100644 --- a/home/vim/lua/ambroisie/lsp.lua +++ b/home/vim/lua/ambroisie/lsp.lua @@ -39,7 +39,7 @@ M.on_attach = function(client, bufnr) -- * nothing displayed -- * single diagnostic at the end of the line (`virtual_text`) -- * full diagnostics using virtual text (`virtual_lines`) - local text = vim.diagnostic.config().virtual_text + local text = vim.diagnostic.config().virtual_text local lines = vim.diagnostic.config().virtual_lines -- Text -> Lines transition @@ -63,7 +63,7 @@ M.on_attach = function(client, bufnr) end local function show_buffer_diagnostics() - vim.diagnostic.open_float(nil, { scope = "buffer" }) + vim.diagnostic.open_float(nil, { scope="buffer" }) end local keys = { @@ -94,4 +94,5 @@ M.on_attach = function(client, bufnr) wk.register(keys, { buffer = bufnr }) end + return M diff --git a/home/vim/lua/ambroisie/utils.lua b/home/vim/lua/ambroisie/utils.lua index 984c730..ca6de28 100644 --- a/home/vim/lua/ambroisie/utils.lua +++ b/home/vim/lua/ambroisie/utils.lua @@ -17,9 +17,7 @@ end ---@param cmd string? command to check ---@return fun(cmd: string): boolean executable M.is_executable_condition = function(cmd) - return function() - return M.is_executable(cmd) - end + return function() return M.is_executable(cmd) end end -- whether or not we are currently in an SSH connection diff --git a/home/vim/plugin/abbreviations.lua b/home/vim/plugin/abbreviations.lua deleted file mode 100644 index f6d6ac3..0000000 --- a/home/vim/plugin/abbreviations.lua +++ /dev/null @@ -1,9 +0,0 @@ -local abbreviations = { - -- A few things that are hard to write in ASCII - ["(R)"] = "©", - ["(TM)"] = "™", -} - -for text, result in pairs(abbreviations) do - vim.cmd.abbreviate(text, result) -end diff --git a/home/vim/plugin/abbreviations.vim b/home/vim/plugin/abbreviations.vim new file mode 100644 index 0000000..5d36434 --- /dev/null +++ b/home/vim/plugin/abbreviations.vim @@ -0,0 +1,5 @@ +" A few useful sets of abbreviations + +" A few things that are hard to write in ASCII +abbreviate (R) © +abbreviate (TM) ™ diff --git a/home/vim/plugin/numbertoggle.lua b/home/vim/plugin/numbertoggle.lua deleted file mode 100644 index 1f97fc8..0000000 --- a/home/vim/plugin/numbertoggle.lua +++ /dev/null @@ -1,23 +0,0 @@ --- Show lines numbers -vim.opt.number = true - -local numbertoggle = vim.api.nvim_create_augroup("numbertoggle", { clear = true }) - --- Toggle numbers between relative and absolute when changing buffers -vim.api.nvim_create_autocmd({ "BufEnter", "FocusGained", "InsertLeave", "WinEnter" }, { - pattern = "*", - group = numbertoggle, - command = "if &nu | setlocal rnu | endif", -}) -vim.api.nvim_create_autocmd({ "BufLeave", "FocusLost", "InsertEnter", "WinLeave" }, { - pattern = "*", - group = numbertoggle, - command = "if &nu | setlocal nornu | endif", -}) - --- Never show the sign column in a terminal buffer -vim.api.nvim_create_autocmd({ "TermOpen" }, { - pattern = "*", - group = numbertoggle, - command = "setlocal nonu nornu", -}) diff --git a/home/vim/plugin/numbertoggle.vim b/home/vim/plugin/numbertoggle.vim new file mode 100644 index 0000000..d9a969d --- /dev/null +++ b/home/vim/plugin/numbertoggle.vim @@ -0,0 +1,13 @@ +" Idea for toggling taken from jeffkreeftmeijer + +" Show line numbers +set number + +augroup numbertoggle + autocmd! + " Toggle numbers between relative and absolute when changing buffers + autocmd BufEnter,FocusGained,InsertLeave,WinEnter * if &nu | set rnu | endif + autocmd BufLeave,FocusLost,InsertEnter,WinLeave * if &nu | set nornu | endif + " Disable line numbers and relative line numbers in terminal + autocmd TermOpen * setlocal nonu nornu +augroup END diff --git a/home/vim/plugin/settings/completion.lua b/home/vim/plugin/settings/completion.vim similarity index 91% rename from home/vim/plugin/settings/completion.lua rename to home/vim/plugin/settings/completion.vim index 2d150e8..43f6795 100644 --- a/home/vim/plugin/settings/completion.lua +++ b/home/vim/plugin/settings/completion.vim @@ -1,6 +1,7 @@ --- Show completion menu in all cases, and don't select anything -vim.opt.completeopt = { "menu", "menuone", "noselect" } +" Show completion menu in all cases, and don't select anything +set completeopt=menu,menuone,noselect +lua << EOF local cmp = require("cmp") local cmp_under_comparator = require("cmp-under-comparator") local luasnip = require("luasnip") @@ -28,7 +29,7 @@ cmp.setup({ end, [""] = cmp.mapping(cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), { "i", "c" }), [""] = cmp.mapping(cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), { "i", "c" }), - [""] = cmp.mapping.scroll_docs(-5), + [""] = cmp.mapping.scroll_docs(-5), [""] = cmp.mapping.scroll_docs(5), [""] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = false }), [""] = cmp.mapping.abort(), @@ -60,3 +61,4 @@ cmp.setup({ ghost_text = true, }, }) +EOF diff --git a/home/vim/plugin/settings/dressing.lua b/home/vim/plugin/settings/dressing.vim similarity index 88% rename from home/vim/plugin/settings/dressing.lua rename to home/vim/plugin/settings/dressing.vim index 3928a59..9508126 100644 --- a/home/vim/plugin/settings/dressing.lua +++ b/home/vim/plugin/settings/dressing.vim @@ -1,6 +1,8 @@ +lua << EOF local dressing = require("dressing") dressing.setup({ -- Use a relative prompt size prefer_width = 0.4, }) +EOF diff --git a/home/vim/plugin/settings/fastfold.lua b/home/vim/plugin/settings/fastfold.lua deleted file mode 100644 index 78ee937..0000000 --- a/home/vim/plugin/settings/fastfold.lua +++ /dev/null @@ -1,5 +0,0 @@ --- Intercept all fold commands --- stylua: ignore -vim.g.fastfold_fold_command_suffixes = { - "x", "X", "a", "A", "o", "O", "c", "C", "r", "R", "m", "M", "i", "n", "N", -} diff --git a/home/vim/plugin/settings/fastfold.vim b/home/vim/plugin/settings/fastfold.vim new file mode 100644 index 0000000..a1f1787 --- /dev/null +++ b/home/vim/plugin/settings/fastfold.vim @@ -0,0 +1,5 @@ +" Intercept all fold commands +let g:fastfold_fold_command_suffixes=[ + \ 'x', 'X', 'a', 'A', 'o', 'O', 'c', 'C', + \ 'r', 'R', 'm', 'M', 'i', 'n', 'N' + \ ] diff --git a/home/vim/plugin/settings/git.lua b/home/vim/plugin/settings/git.vim similarity index 97% rename from home/vim/plugin/settings/git.lua rename to home/vim/plugin/settings/git.vim index 4dbebca..e67197f 100644 --- a/home/vim/plugin/settings/git.lua +++ b/home/vim/plugin/settings/git.vim @@ -1,4 +1,5 @@ -local gitsigns = require("gitsigns") +lua << EOF +local gitsigns = require('gitsigns') local wk = require("which-key") gitsigns.setup({ @@ -13,13 +14,13 @@ local keys = { ["[c"] = { "&diff ? '[c' : 'Gitsigns prev_hunk'", "Previous hunk/diff", expr = true }, ["]c"] = { "&diff ? ']c' : 'Gitsigns next_hunk'", "Next hunk/diff", expr = true }, + -- Commands ["g"] = { name = "Git", -- Actions b = { gitsigns.toggle_current_line_blame, "Toggle blame virtual text" }, d = { gitsigns.diffthis, "Diff buffer" }, - -- stylua: ignore D = { function() gitsigns.diffthis("~") end, "Diff buffer against last commit" }, g = { "Git", "Git status" }, h = { gitsigns.toggle_deleted, "Show deleted hunks" }, @@ -56,3 +57,4 @@ local visual = { wk.register(keys, { buffer = bufnr }) wk.register(objects, { buffer = bufnr, mode = "o" }) wk.register(visual, { buffer = bufnr, mode = "x" }) +EOF diff --git a/home/vim/plugin/settings/lspconfig.lua b/home/vim/plugin/settings/lspconfig.vim similarity index 98% rename from home/vim/plugin/settings/lspconfig.lua rename to home/vim/plugin/settings/lspconfig.vim index 45be269..04afafa 100644 --- a/home/vim/plugin/settings/lspconfig.lua +++ b/home/vim/plugin/settings/lspconfig.vim @@ -1,3 +1,4 @@ +lua << EOF local lspconfig = require("lspconfig") local lsp = require("ambroisie.lsp") local utils = require("ambroisie.utils") @@ -43,3 +44,4 @@ if utils.is_executable("rust-analyzer") then on_attach = lsp.on_attach, }) end +EOF diff --git a/home/vim/plugin/settings/lualine.lua b/home/vim/plugin/settings/lualine.vim similarity index 98% rename from home/vim/plugin/settings/lualine.lua rename to home/vim/plugin/settings/lualine.vim index fdaccda..93c38bb 100644 --- a/home/vim/plugin/settings/lualine.lua +++ b/home/vim/plugin/settings/lualine.vim @@ -1,3 +1,4 @@ +lua << EOF local lualine = require("lualine") local utils = require("ambroisie.utils") @@ -59,3 +60,4 @@ lualine.setup({ "quickfix", }, }) +EOF diff --git a/home/vim/plugin/settings/luasnip.lua b/home/vim/plugin/settings/luasnip.vim similarity index 77% rename from home/vim/plugin/settings/luasnip.lua rename to home/vim/plugin/settings/luasnip.vim index 80309d7..7d81a11 100644 --- a/home/vim/plugin/settings/luasnip.lua +++ b/home/vim/plugin/settings/luasnip.vim @@ -1 +1,3 @@ +lua << EOF require("luasnip.loaders.from_vscode").lazy_load() +EOF diff --git a/home/vim/plugin/settings/null-ls.lua b/home/vim/plugin/settings/null-ls.vim similarity index 98% rename from home/vim/plugin/settings/null-ls.lua rename to home/vim/plugin/settings/null-ls.vim index 8446683..b2102bd 100644 --- a/home/vim/plugin/settings/null-ls.lua +++ b/home/vim/plugin/settings/null-ls.vim @@ -1,3 +1,4 @@ +lua << EOF local null_ls = require("null-ls") local lsp = require("ambroisie.lsp") local utils = require("ambroisie.utils") @@ -65,6 +66,7 @@ null_ls.register({ }), }) + -- Shell (non-POSIX) null_ls.register({ null_ls.builtins.code_actions.shellcheck.with({ @@ -97,7 +99,7 @@ null_ls.register({ -- Shell (POSIX) null_ls.register({ null_ls.builtins.code_actions.shellcheck.with({ - -- Restrict to POSIX sh + -- Restrict to POSIX sh filetypes = { "sh" }, -- Only used if available condition = utils.is_executable_condition("shellcheck"), @@ -120,3 +122,4 @@ null_ls.register({ condition = utils.is_executable_condition("shfmt"), }), }) +EOF diff --git a/home/vim/plugin/settings/pandoc.vim b/home/vim/plugin/settings/pandoc.vim new file mode 100644 index 0000000..71b750c --- /dev/null +++ b/home/vim/plugin/settings/pandoc.vim @@ -0,0 +1,20 @@ +" Which code-block languages should I expect to be high-lighted. +let g:pandoc#syntax#codeblocks#embeds#langs=[ + \ "bash=sh", + \ "c", + \ "cpp", + \ "go", + \ "haskell", + \ "python", + \ "rust", + \ "sh", + \ "vim", + \ "yaml", + \ "tex", + \ "toml", + \ "perl", + \ "json", + \ "latex=tex", + \ "make", + \ "makefile=make", + \ ] diff --git a/home/vim/plugin/settings/ssh.lua b/home/vim/plugin/settings/ssh.lua index 992a707..3af7b61 100644 --- a/home/vim/plugin/settings/ssh.lua +++ b/home/vim/plugin/settings/ssh.lua @@ -3,15 +3,15 @@ if not require("ambroisie.utils").is_ssh() then end local function copy(lines, _) - require("osc52").copy(table.concat(lines, "\n")) + require('osc52').copy(table.concat(lines, '\n')) end local function paste() - return { vim.fn.split(vim.fn.getreg(""), "\n"), vim.fn.getregtype("") } + return {vim.fn.split(vim.fn.getreg(''), '\n'), vim.fn.getregtype('')} end vim.g.clipboard = { - name = "osc52", - copy = { ["+"] = copy, ["*"] = copy }, - paste = { ["+"] = paste, ["*"] = paste }, + name = 'osc52', + copy = {['+'] = copy, ['*'] = copy}, + paste = {['+'] = paste, ['*'] = paste}, } diff --git a/home/vim/plugin/settings/surround.lua b/home/vim/plugin/settings/surround.vim similarity index 83% rename from home/vim/plugin/settings/surround.lua rename to home/vim/plugin/settings/surround.vim index 3585a12..e5eb81b 100644 --- a/home/vim/plugin/settings/surround.lua +++ b/home/vim/plugin/settings/surround.vim @@ -1,3 +1,5 @@ +lua << EOF require("nvim-surround").setup({ -- No configuration at the moment }) +EOF diff --git a/home/vim/plugin/settings/telescope.lua b/home/vim/plugin/settings/telescope.vim similarity index 93% rename from home/vim/plugin/settings/telescope.lua rename to home/vim/plugin/settings/telescope.vim index 4548ec5..fc2c5fb 100644 --- a/home/vim/plugin/settings/telescope.lua +++ b/home/vim/plugin/settings/telescope.vim @@ -1,3 +1,4 @@ +lua << EOF local telescope = require("telescope") telescope.setup({ @@ -7,8 +8,8 @@ telescope.setup({ [""] = "which_key", -- I want the normal readline mappings rather than scrolling [""] = false, - }, - }, + } + } }, extensions = { fzf = { @@ -22,3 +23,4 @@ telescope.setup({ telescope.load_extension("fzf") telescope.load_extension("lsp_handlers") +EOF diff --git a/home/vim/plugin/settings/tree-sitter.lua b/home/vim/plugin/settings/tree-sitter.vim similarity index 99% rename from home/vim/plugin/settings/tree-sitter.lua rename to home/vim/plugin/settings/tree-sitter.vim index 0d84abd..1204185 100644 --- a/home/vim/plugin/settings/tree-sitter.lua +++ b/home/vim/plugin/settings/tree-sitter.vim @@ -1,3 +1,4 @@ +lua << EOF local ts_config = require("nvim-treesitter.configs") ts_config.setup({ highlight = { @@ -54,3 +55,4 @@ ts_config.setup({ }, }, }) +EOF diff --git a/home/vim/plugin/settings/which-key.lua b/home/vim/plugin/settings/which-key.vim similarity index 74% rename from home/vim/plugin/settings/which-key.lua rename to home/vim/plugin/settings/which-key.vim index 2edfd70..505bdc4 100644 --- a/home/vim/plugin/settings/which-key.lua +++ b/home/vim/plugin/settings/which-key.vim @@ -1,2 +1,4 @@ +lua << EOF local wk = require("which-key") wk.setup() +EOF diff --git a/home/vim/plugin/signtoggle.lua b/home/vim/plugin/signtoggle.lua deleted file mode 100644 index d6a26e2..0000000 --- a/home/vim/plugin/signtoggle.lua +++ /dev/null @@ -1,20 +0,0 @@ -local signtoggle = vim.api.nvim_create_augroup("signtoggle", { clear = true }) - --- Only show sign column for the currently focused buffer -vim.api.nvim_create_autocmd({ "BufEnter", "FocusGained", "WinEnter" }, { - pattern = "*", - group = signtoggle, - command = "setlocal signcolumn=yes", -}) -vim.api.nvim_create_autocmd({ "BufLeave", "FocusLost", "WinLeave" }, { - pattern = "*", - group = signtoggle, - command = "setlocal signcolumn=yes", -}) - --- Never show the sign column in a terminal buffer -vim.api.nvim_create_autocmd({ "TermOpen" }, { - pattern = "*", - group = signtoggle, - command = "setlocal signcolumn=no", -}) diff --git a/home/vim/plugin/signtoggle.vim b/home/vim/plugin/signtoggle.vim new file mode 100644 index 0000000..c2f0183 --- /dev/null +++ b/home/vim/plugin/signtoggle.vim @@ -0,0 +1,8 @@ +augroup signtoggle + autocmd! + " Only show the sign column for the current focused buffer + autocmd BufEnter,FocusGained,WinEnter * set signcolumn=yes + autocmd BufLeave,FocusLost,WinLeave * set signcolumn=no + " Disable the sign column in terminal + autocmd TermOpen * setlocal signcolumn=no +augroup END