diff --git a/.config/nvim/lua/config/autocmds.lua b/.config/nvim/lua/config/autocmds.lua index 27e9e06..e0251cb 100644 --- a/.config/nvim/lua/config/autocmds.lua +++ b/.config/nvim/lua/config/autocmds.lua @@ -1,3 +1,14 @@ -- Autocmds are automatically loaded on the VeryLazy event -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua -- Add any additional autocmds here + +-- Open help window in a vertical split to the right. +vim.api.nvim_create_autocmd("BufWinEnter", { + group = vim.api.nvim_create_augroup("help_window_right", {}), + pattern = { "*.txt" }, + callback = function() + if vim.o.filetype == "help" then + vim.cmd.wincmd("L") + end + end, +}) diff --git a/.config/nvim/lua/snippets/fish.lua b/.config/nvim/lua/snippets/fish.lua index 12c875f..5dedef3 100644 --- a/.config/nvim/lua/snippets/fish.lua +++ b/.config/nvim/lua/snippets/fish.lua @@ -2,9 +2,13 @@ local ls = require("luasnip") local s = ls.snippet local t = ls.text_node local i = ls.insert_node +local f = ls.function_node local fmt = require("luasnip.extras.fmt").fmt +local fill = require("snippets.helpers").fill return { + s({ trig = "dc", desc = "divider comment" }, f(fill, {}, { user_args = { "#% -" } })), + s({ trig = "#!", desc = "shebang" }, t("#!/usr/bin/env fish")), s( diff --git a/.config/nvim/lua/snippets/helpers.lua b/.config/nvim/lua/snippets/helpers.lua new file mode 100644 index 0000000..30992fb --- /dev/null +++ b/.config/nvim/lua/snippets/helpers.lua @@ -0,0 +1,21 @@ +local M = {} + +M.fill = function(_, _, args) + local chars = {} + + for str in string.gmatch(args, "([^%%]+)") do + table.insert(chars, str) + end + + local snip = chars[1] + + local _, c = unpack(vim.api.nvim_win_get_cursor(0)) + + while #snip < (vim.bo.tw - c - 1) do + snip = snip .. chars[2] + end + + return snip +end + +return M diff --git a/.config/nvim/lua/snippets/lua.lua b/.config/nvim/lua/snippets/lua.lua new file mode 100644 index 0000000..99364e0 --- /dev/null +++ b/.config/nvim/lua/snippets/lua.lua @@ -0,0 +1,8 @@ +local ls = require("luasnip") +local s = ls.snippet +local f = ls.function_node +local fill = require("snippets.helpers").fill + +return { + s({ trig = "dc", desc = "divider comment" }, f(fill, {}, { user_args = { "--% --" } })), +}