urxvt-matcher man page

matcher — match strings in terminal output and change their rendition

Description

Uses per-line display filtering (on_line_update) to underline text matching a certain pattern and make it clickable. When clicked with the mouse button specified in the matcher.button resource (default 2, or middle), the program specified in the matcher.launcher resource (default, the url-launcher resource, sensible-browser) will be started with the matched text as first argument.  The default configuration is suitable for matching URLs and launching a web browser, like the former “mark-urls” extension.

The default pattern to match URLs can be overridden with the matcher.pattern.0 resource, and additional patterns can be specified with numbered patterns, in a manner similar to the “selection” extension. The launcher can also be overridden on a per-pattern basis.

It is possible to activate the most recently seen match or a list of matches from the keyboard.  Simply bind a keysym to “matcher:last” or “matcher:list” as seen in the example below.

The matcher:select action enables a mode in which it is possible to iterate over the matches using the keyboard and either activate them or copy them to the clipboard. While the mode is active, normal terminal input/output is suspended and the following bindings are recognized:

Up

Search for a match upwards.

Down

Search for a match downwards.

Home

Jump to the topmost match.

End

Jump to the bottommost match.

Escape

Leave the mode and return to the point where search was started.

Enter

Activate the current match.

y

Copy the current match to the clipboard.

It is also possible to cycle through the matches using a key combination bound to the matcher:select action.

Example: load and use the matcher extension with defaults.

    URxvt.perl-ext:           default,matcher

Example: use a custom configuration.

    URxvt.url-launcher:       sensible-browser
    URxvt.keysym.C-Delete:    matcher:last
    URxvt.keysym.M-Delete:    matcher:list
    URxvt.matcher.button:     1
    URxvt.matcher.pattern.1:  \\bwww\\.[\\w-]+\\.[\\w./?&@#-]*[\\w/-]
    URxvt.matcher.pattern.2:  \\B(/\\S+?):(\\d+)(?=:|$)
    URxvt.matcher.launcher.2: gvim +$2 $1

Info

2020-01-30 9.22 RXVT-UNICODE