X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/323d09a696fc17d73d44ac18b773449f47dd7f97..9fa49d6bf0ea6f2fc154f1733837aac2b887a100:/wezterm/wezterm.lua diff --git a/wezterm/wezterm.lua b/wezterm/wezterm.lua index a4627b1..a3483a6 100644 --- a/wezterm/wezterm.lua +++ b/wezterm/wezterm.lua @@ -17,4 +17,41 @@ config.tab_bar_at_bottom = true config.quick_select_alphabet = "aoeuisnthd" +config.keys = { + { + key = 'F', + mods = 'CTRL', + action = wezterm.action.QuickSelectArgs { + label = 'open url', + patterns = { + 'https?://\\S+', + 'stm\\.[#!]\\d+', + }, + action = wezterm.action_callback(function (win, pane) + local url = win:get_selection_text_for_pane(pane) + wezterm.log_info('selected: ' .. url) + local found, _, proj, type, num = string.find(url, "^(stm)%.([#!])(%d+)$") + wezterm.log_info('selected: ' .. url) + if found ~= nil then + if type == "#" then type = "issues" + elseif type == "!" then type = "merge_requests" + else return + end + if proj == "stm" then proj = "springfield" + else proj = proj + end + url = string.format("https://gitlab.com/fppnt/sgnss/%s/-/%s/%d", proj, type, num) + end + wezterm.log_info('opening: ' .. url) + wezterm.open_with(url, "rifle") + end), + }, + }, + { + key = 'Enter', + mods = 'ALT', + action = wezterm.action.DisableDefaultAssignment, + }, +} + return config