# Hints
#
# Terminal hints can be used to find text or hyperlink in the visible part of
# the terminal and pipe it to other applications.
hints:
  # Keys used for the hint labels.
  alphabet: "jfkdls;ahgurieowpq"

  # List with all available hints
  #
  # Each hint must have any of `regex` or `hyperlinks` field and either an
  # `action` or a `command` field. The fields `mouse`, `binding` and
  # `post_processing` are optional.
  #
  # The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
  # highlighted.
  #
  # The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
  # `mouse.mods` accept the same values as they do in the `key_bindings` section.
  #
  # The `mouse.enabled` field controls if the hint should be underlined while
  # the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
  #
  # If the `post_processing` field is set to `true`, heuristics will be used to
  # shorten the match if there are characters likely not to be part of the hint
  # (e.g. a trailing `.`). This is most useful for URIs and applies only to
  # `regex` matches.
  #
  # Values for `action`:
  #   - Copy
  #       Copy the hint's text to the clipboard.
  #   - Paste
  #       Paste the hint's text to the terminal or search.
  #   - Select
  #       Select the hint's text.
  #   - MoveViModeCursor
  #       Move the vi mode cursor to the beginning of the hint.
  enabled:
    - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
             [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
      hyperlinks: true
      command: xdg-open
      post_processing: true
      mouse:
        enabled: true
        mods: None
      binding:
        key: U
        mods: Control|Shift

    - regex: "([^ '\"`=:\\[\\(]*/)([^/: '\"`\\)\\]]*)"
      action: Paste
      post_procesing: false
      binding:
        key: T
        mods: Control|Shift

    - regex: "([a-z0-9]{7})\\s"
      action: Paste
      post_procesing: false
      binding:
        key: H
        mods: Control|Shift

    # multi regex for different purposes:
    # 2. UUIDs
    # 3. hex (for example signatures)
    # 4. IP addresses
#    - regex: "([[:alnum:]_$%&+=/@-]+)\
#|([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\
#|([0-9a-f]{12,128})\
#|([[:digit:]]{1,3}.[[:digit:]]{1,3}.[[:digit:]]{1,3}.[[:digit:]]{1,3})"
#      action: Copy
#      post_processing: false
#      binding:
#        key: U
#        mods: Control|Shift