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),