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