From 4073294204effdf65e1182d1769120a5fcd9d348 Mon Sep 17 00:00:00 2001 From: Raymaekers Luca Date: Thu, 15 Aug 2024 18:53:47 +0200 Subject: checkpoint --- config/essentials/vis/visrc.lua | 188 ---------------------------------------- 1 file changed, 188 deletions(-) delete mode 100644 config/essentials/vis/visrc.lua (limited to 'config/essentials/vis/visrc.lua') diff --git a/config/essentials/vis/visrc.lua b/config/essentials/vis/visrc.lua deleted file mode 100644 index 30e4946..0000000 --- a/config/essentials/vis/visrc.lua +++ /dev/null @@ -1,188 +0,0 @@ ------------------------------------- ---- REQUIRES ------------------------------------- -require("vis") - --- plugins -require("build") --- use Trash directory instead, remove set_dir function -require("backup") -require("cursors") -require("ctags") -require("title") -require("commentary") -require("complete-line") --- set height to 40% -require("fzf-open") -require("vis-ultisnips") --- TODO: doesn't work when using with 'e|b' --- require("yank-highlight") - --- save position before formatting, use vis:redraw -local format = require("format") - --- set height to 40% -local fzfmru = require("fzf-mru") -fzfmru.fzfmru_path = 'grep "^' .. io.popen("pwd"):read("*a"):gsub("\n$", "") .. '" | fzf' - --- todo: --- c-scope --- c-tags --- ... --- vis-goto, favor open-file-under-cursor --- ... --- ultisnips --- ... --- vis-yank-highlight - ------------------------------------- ---- VARIABLES ------------------------------------- -local m = vis.modes - ------------------------------------- ---- FUNCTIONS ------------------------------------- - -local function map_cmd(mode, map, command, help) - vis:map(mode, map, function() - vis:command(command) - end, help) -end - --- Store and pop position with command ran in between -local function wrap_pos_restore(f, ...) - local pos = vis.win.selection.pos - f(...) - vis.win.selection.pos = pos -end - -local function map_keys(mode, map, keys, help) - vis:map(mode, map, function() - vis:feedkeys(keys) - end, help) -end - ------------------------------------- ---- COMMANDS ------------------------------------ - -vis:command_register("make", function() - vis:command("!make; head -n 1") -end, "make") -vis:command_register("Q", function() - vis:command("qa!") -end, "Quit all") -vis:command_register("delws", function() - vis:command(",x/[ \t]+$|^[ \t]+$/d") -end, "Remove trailing whitespace") -vis:command_register("redraw", function() vis:redraw() end, "Redraw UI") - -------------------------------------- ---- MAPPINGS -------------------------------------- - -vis.events.subscribe(vis.events.WIN_OPEN, function(win) -- luacheck: no unused args - map_cmd(m.NORMAL, " pf", "fzf", "Open file with fzf") - map_cmd(m.NORMAL, " pr", "fzfmru", "Open file with fzf") - - vis:map(m.NORMAL, " r", function() - wrap_pos_restore(vis.command, vis, "e $vis_filepath") - end, "Reload active file") - vis:map(m.NORMAL, "=", format.apply, "Format active file") - map_cmd(m.NORMAL, "", "make", "Run 'make'") - map_cmd(m.NORMAL, " c", "e ~/.config/vis/visrc.lua", "Edit config file") - map_cmd(m.NORMAL, " q", "q!", "Quit (force)") - map_cmd(m.NORMAL, " s", "!doas vis $vis_filepath", "Edit as superuser") - map_cmd(m.NORMAL, " w", "w", "Write") - map_cmd(m.NORMAL, " x", "!chmod u+x $vis_filepath", "Make active file executable") - map_cmd(m.NORMAL, "!", "!bash", "Run bash") - map_keys(m.NORMAL, " y", '"+y', "Copy to system clipboard") - map_keys(m.VISUAL, " y", '"+y', "Copy to system clipboard") - map_keys(m.NORMAL, " nl", ":", "ddp", "Move line down") - map_keys(m.NORMAL, "", "ddkP", "Move line up") -- Doesn't work at end of file -end) - ------------------------------------- ---- EVENTS ------------------------------------- - -vis.events.subscribe(vis.events.INIT, function() - vis.options.ignorecase = true - vis.options.autoindent = true - vis.options.shell = "/bin/sh" - local theme = "nord" - vis:command("set theme " .. theme) -end) - -vis.events.subscribe(vis.events.WIN_OPEN, function(win) -- luacheck: no unused args - -- automatically cd in parent dir of file - vis:command_register("cdp", function() - if win and win.file and win.file.path then - local dir = win.file.path:match(".*/") - vis:info("cd " .. tostring(dir)) - end - end, "Cd to parent dir of file") - - win.options.relativenumbers = true - - if win.syntax then - vis:info(win.syntax) - end - - -- FILETYPE OPTIONS - if win.syntax == "ansi_c" then - map_keys(m.NORMAL, "\\a", "f,a hdwi", "Align table") - end - - if win.syntax == "bash" then - vis:command_register("curl", function() - vis:command("x/ -H/ c/\\\n\t-H/") - end, "Split curl command on multiple lines") - map_keys( - m.NORMAL, - "\\p", - "V:x/^(\\s*)(.+)$/ c/\\1>\\&2 printf '\\2: %s\\\\n' \"$\\2\"/", - "Print variable" - ) - map_keys(m.NORMAL, "\\v", 'V:x/^(\\s*)(.+)$/ c/\\1"$(\\2)"/', "Surround in variable") - map_keys(m.NORMAL, "\\|", "V:x/\\| / c/|\n\t/", "Wrap one-line multi pipe command") - map_keys( - m.NORMAL, - "\\e", - 'V:x/^(\\s*)(.+)$/ c/\\1[ "$\\2" ] || exit 1/', - "Condition exit if empty" - ) - map_cmd(m.NORMAL, "\\sc", "-/\\/,/\\/", "Expand to case") - map_cmd(m.NORMAL, "\\sw", "-/\\/", "Expand to while") - map_cmd(m.NORMAL, "\\sf", "-/\\/,/\\/", "Expand to for") - map_cmd(m.NORMAL, "\\si", "-/\\/,/\\/", "Expand to if") - end - - if win.syntax == "go" then - require("vis-go") - end - - if win.syntax == "lua" then - require("vis-lua") - end - - if win.syntax == "markdown" then - win.options.tabwidth = 2 - win.options.expandtab = true - vis:map(m.NORMAL, "\\h", function() - vis:command("!lowdown $vis_filepath > ${vis_filepath%.md}.html") - vis:info("exported.") - end, "Export markdown to html") - map_cmd(m.NORMAL, "\\sl", "-+x/(\\d+|[-*])\\s+.+\n/", "Expand to list item") - map_cmd(m.NORMAL, "\\sh", "-/^#+/,/^#+/-", "Expand to header") - -- select header block by name - -- ,x/^# Planning\n([^#]|\n)+ - end - - if win.syntax == "yaml" then - win.options.tabwidth = 2 - win.options.expandtab = true - end -end) -- cgit v1.2.3