File: erc-button.el.html

Heavily borrowed from gnus-art.el. Thanks to the original authors.

This buttonizes nicks and other stuff to make it all clickable. To enable, add to your init file:
(require 'erc-button)
(erc-button-mode 1)

Todo:
* Rewrite all this to do the same, but use button.el. Why?
button.el is much faster, and much more elegant, and solves the problem we get with large buffers and a large erc-button-marker-list.

Defined variables (27)

erc-button--fallback-cmem-functionFunction to determine channel member if not found in the usual places.
erc-button--has-nickname-entryWhether ‘erc-button-alist’ contains a legacy ‘nicknames’ entry.
erc-button--modify-nick-functionFunction to possibly modify aspects of nick being buttonized.
erc-button--nick-popup-alistInternally controlled items for ‘erc-nick-popup-alist’.
erc-button--phantom-users-modeNon-nil if Erc-Button--Phantom-Users mode is enabled.
erc-button--phantom-users-mode-hookHook run after entering or leaving ‘erc-button--phantom-users-mode’.
erc-button--prev-next-predicate-functionsAbnormal hook whose members can return non-nil to continue searching.
erc-button-alistAlist of regexps matching buttons in ERC buffers.
erc-button-buttonize-nicksFlag indicating whether nicks should be buttonized.
erc-button-faceFace used for highlighting buttons in ERC buffers.
erc-button-google-urlURL used to search for a term.
erc-button-highlight-nick-onceMessages for which to buttonize only the first nick occurrence.
erc-button-keymapLocal keymap for ERC buttons.
erc-button-keys-addedInternal variable used to keep track of whether we’ve added the
erc-button-modeNon-nil if Erc-Button mode is enabled.
erc-button-mode-hookHook run after entering or leaving ‘erc-button-mode’.
erc-button-mouse-faceFace used for mouse highlighting in ERC buffers.
erc-button-nickname-callback-functionEscape hatch for users needing a non-standard nick-button callback.
erc-button-nickname-faceFace used for ERC nickname buttons.
erc-button-rfc-urlURL used to browse RFC references.
erc-button-search-urlURL used to search for a term.
erc-button-syntax-tableSyntax table used when buttonizing messages.
erc-button-url-regexpRegular expression that matches URLs.
erc-button-wrap-long-urlsIf non-nil, "long" URLs matching ‘erc-button-url-regexp’ will be wrapped.
erc-emacswiki-lisp-urlURL of the EmacsWiki Elisp area.
erc-emacswiki-urlURL of the EmacsWiki website.
erc-nick-popup-alistAn alist of possible actions to take on a nickname.

Defined functions (81)

copy-erc--phantom-channel-user(ARG)
copy-erc--phantom-server-user(ARG)
copy-erc-button--nick(ARG)
erc--button-next(ARG)
erc--phantom-channel-user-last-message-time(erc--phantom-channel-user-last-message-time X)
erc--phantom-channel-user-last-message-time--inliner(INLINE--FORM X)
erc--phantom-channel-user-p(X)
erc--phantom-channel-user-p--inliner(INLINE--FORM X)
erc--phantom-channel-user-status(erc--phantom-channel-user-status X)
erc--phantom-channel-user-status--inliner(INLINE--FORM X)
erc--phantom-server-user-buffers(erc--phantom-server-user-buffers X)
erc--phantom-server-user-buffers--inliner(INLINE--FORM X)
erc--phantom-server-user-full-name(erc--phantom-server-user-full-name X)
erc--phantom-server-user-full-name--inliner(INLINE--FORM X)
erc--phantom-server-user-host(erc--phantom-server-user-host X)
erc--phantom-server-user-host--inliner(INLINE--FORM X)
erc--phantom-server-user-info(erc--phantom-server-user-info X)
erc--phantom-server-user-info--inliner(INLINE--FORM X)
erc--phantom-server-user-login(erc--phantom-server-user-login X)
erc--phantom-server-user-login--inliner(INLINE--FORM X)
erc--phantom-server-user-nickname(erc--phantom-server-user-nickname X)
erc--phantom-server-user-nickname--inliner(INLINE--FORM X)
erc--phantom-server-user-p(X)
erc--phantom-server-user-p--inliner(INLINE--FORM X)
erc-browse-emacswiki(THING)
erc-browse-emacswiki-lisp(THING)
erc-button--add-phantom-speaker(DOWNCASED NUH PARSED)
erc-button--display-error-notice-with-keys(MAYBE-BUFFER &rest STRINGS)
erc-button--display-error-notice-with-keys-and-warn(&rest ARGS)
erc-button--display-error-with-buttons(FROM TO FUN NICK-P &optional DATA REGEXP)
erc-button--end-of-button-p(POINT)
erc-button--extract-form(FORM)
erc-button--get-phantom-cmem(DOWN WORD BOUNDS COUNT)
erc-button--get-user-from-spkr-prop(_ _ _ COUNT)
erc-button--nick-bounds(erc-button--nick-bounds X)
erc-button--nick-bounds--inliner(INLINE--FORM X)
erc-button--nick-cusr(erc-button--nick-cusr X)
erc-button--nick-cusr--inliner(INLINE--FORM X)
erc-button--nick-data(erc-button--nick-data X)
erc-button--nick-data--inliner(INLINE--FORM X)
erc-button--nick-downcased(erc-button--nick-downcased X)
erc-button--nick-downcased--inliner(INLINE--FORM X)
erc-button--nick-face-cache(erc-button--nick-face-cache X)
erc-button--nick-face-cache--inliner(INLINE--FORM X)
erc-button--nick-mouse-face(erc-button--nick-mouse-face X)
erc-button--nick-mouse-face--inliner(INLINE--FORM X)
erc-button--nick-nickname-face(erc-button--nick-nickname-face X)
erc-button--nick-nickname-face--inliner(INLINE--FORM X)
erc-button--nick-p(X)
erc-button--nick-p--inliner(INLINE--FORM X)
erc-button--nick-user(erc-button--nick-user X)
erc-button--nick-user--inliner(INLINE--FORM X)
erc-button--perform-nick-popup(NICK &rest _)
erc-button--phantom-users-mode(&optional ARG)
erc-button-add-button(FROM TO FUN NICK-P &optional DATA REGEXP)
erc-button-add-buttons()
erc-button-add-buttons-1(REGEXP ENTRY)
erc-button-add-face(FROM TO FACE)
erc-button-add-nickname-buttons(ENTRY)
erc-button-beats-to-time(BEATS)
erc-button-click-button(IGNORE EVENT)
erc-button-cmd-KICK(NICK)
erc-button-cmd-MSG(NICK)
erc-button-describe-symbol(SYMBOL-NAME)
erc-button-disable()
erc-button-enable()
erc-button-mode(&optional ARG)
erc-button-next(ARG)
erc-button-next-function()
erc-button-press-button()
erc-button-previous(ARG)
erc-button-previous-of-nick(ARG)
erc-button-remove-old-buttons()
erc-button-setup()
erc-nick-popup(NICK)
make-erc--phantom-channel-user
make-erc--phantom-channel-user--cmacro
make-erc--phantom-server-user
make-erc--phantom-server-user--cmacro
make-erc-button--nick
make-erc-button--nick--cmacro

Defined faces (2)

erc-buttonERC button face.
erc-button-nick-default-faceDefault face for a buttonized nickname.