Changeset 4161 for trunk/lisp/net/rcirc.el
- Timestamp:
- 09/09/06 16:30:10 (2 years ago)
- Files:
-
- trunk/lisp/net/rcirc.el (modified) (33 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lisp/net/rcirc.el
r4098 r4161 40 40 ;; Open a new irc connection with: 41 41 ;; M-x irc RET 42 43 ;;; Todo: 42 44 43 45 ;;; Code: … … 139 141 :type '(choice (const :tag "No truncation" nil) 140 142 (integer :tag "Number of lines")) 143 :group 'rcirc) 144 145 (defcustom rcirc-show-maximum-output t 146 "*If non-nil, scroll buffer to keep the point at the bottom of 147 the window." 148 :type 'boolean 141 149 :group 'rcirc) 142 150 … … 195 203 :group 'rcirc) 196 204 205 (defcustom rcirc-keywords nil 206 "List of keywords to highlight in message text." 207 :type '(repeat string) 208 :group 'rcirc) 209 197 210 (defcustom rcirc-ignore-list () 198 211 "List of ignored nicks. … … 207 220 parts.") 208 221 209 (defcustom rcirc-bright-nick -regexpnil210 " Regexp matchingnicks to be emphasized.222 (defcustom rcirc-bright-nicks nil 223 "List of nicks to be emphasized. 211 224 See `rcirc-bright-nick' face." 212 :type ' regexp213 :group 'rcirc) 214 215 (defcustom rcirc-dim-nick -regexpnil216 " Regexp matchingnicks to be deemphasized.225 :type '(repeat string) 226 :group 'rcirc) 227 228 (defcustom rcirc-dim-nicks nil 229 "List of nicks to be deemphasized. 217 230 See `rcirc-dim-nick' face." 218 :type ' regexp231 :type '(repeat string) 219 232 :group 'rcirc) 220 233 … … 241 254 242 255 (defcustom rcirc-coding-system-alist nil 243 "Alist to decide a coding system to use for a fileI/O operation.256 "Alist to decide a coding system to use for a channel I/O operation. 244 257 The format is ((PATTERN . VAL) ...). 245 258 PATTERN is either a string or a cons of strings. … … 298 311 (defvar rcirc-urls nil 299 312 "List of urls seen in the current buffer.") 313 (put 'rcirc-urls 'permanent-local t) 300 314 301 315 (defvar rcirc-keepalive-seconds 60 … … 522 536 (message "UNHANDLED: %s" text))) 523 537 524 (defun rcirc-handler-generic (process command sender args text) 538 (defvar rcirc-responses-no-activity '("305" "306") 539 "Responses that don't trigger activity in the mode-line indicator.") 540 541 (defun rcirc-handler-generic (process response sender args text) 525 542 "Generic server response handler." 526 (rcirc-print process sender command nil 527 (mapconcat 'identity (cdr args) " ") t)) 543 (rcirc-print process sender response nil 544 (mapconcat 'identity (cdr args) " ") 545 (not (member response rcirc-responses-no-activity)))) 528 546 529 547 (defun rcirc-send-string (process string) … … 540 558 "Return the process associated with channel BUFFER. 541 559 With no argument or nil as argument, use the current buffer." 542 (get-buffer-process (or buffer rcirc-server-buffer))) 560 (get-buffer-process (if buffer 561 (with-current-buffer buffer 562 rcirc-server-buffer) 563 rcirc-server-buffer))) 543 564 544 565 (defun rcirc-server-name (process) … … 602 623 (defvar rcirc-nick-completions nil) 603 624 (defvar rcirc-nick-completion-start-offset nil) 625 604 626 (defun rcirc-complete-nick () 605 627 "Cycle through nick completions from list of nicks in channel." 606 628 (interactive) 607 (if (eq last-command 'rcirc-complete-nick)629 (if (eq last-command this-command) 608 630 (setq rcirc-nick-completions 609 631 (append (cdr rcirc-nick-completions) … … 627 649 (let ((completion (car rcirc-nick-completions))) 628 650 (when completion 651 (rcirc-put-nick-channel (rcirc-buffer-process) completion rcirc-target) 629 652 (delete-region (+ rcirc-prompt-end-marker 630 rcirc-nick-completion-start-offset)631 (point))653 rcirc-nick-completion-start-offset) 654 (point)) 632 655 (insert (concat completion 633 656 (if (= (+ rcirc-prompt-end-marker … … 710 733 (setq rcirc-short-buffer-name nil) 711 734 (make-local-variable 'rcirc-urls) 712 (setq rcirc-urls nil)713 735 (setq use-hard-newlines t) 714 736 … … 738 760 ;; if the user changes the major mode or kills the buffer, there is 739 761 ;; cleanup work to do 740 ( make-local-variable 'change-major-mode-hook)741 (add-hook ' change-major-mode-hook 'rcirc-change-major-mode-hook)742 (make-local-variable 'kill-buffer-hook) 743 (add-hook ' kill-buffer-hook 'rcirc-kill-buffer-hook)762 (add-hook 'change-major-mode-hook 'rcirc-change-major-mode-hook nil t) 763 (add-hook 'kill-buffer-hook 'rcirc-kill-buffer-hook nil t) 764 765 (add-hook 'window-scroll-functions 'rcirc-scroll-to-bottom nil t) 744 766 745 767 ;; add to buffer list, and update buffer abbrevs … … 928 950 (funcall fun args process rcirc-target) 929 951 (rcirc-send-string process 930 (concat command " " args)))))))952 (concat command " :" args))))))) 931 953 932 954 (defvar rcirc-parent-buffer nil) … … 1060 1082 ((or (eq key ?n) (eq key ?N)) 1061 1083 ;; %n/%N -- nick 1062 (let ((nick (concat (if (string= (with-rcirc-process-buffer process 1084 (let ((nick (concat (if (string= (with-rcirc-process-buffer 1085 process 1063 1086 rcirc-server) 1064 1087 sender) … … 1071 1094 (cond ((string= sender (rcirc-nick process)) 1072 1095 'rcirc-my-nick) 1073 ((and rcirc-bright-nick-regexp 1074 (string-match rcirc-bright-nick-regexp sender)) 1096 ((and rcirc-bright-nicks 1097 (string-match 1098 (regexp-opt rcirc-bright-nicks) 1099 sender)) 1075 1100 'rcirc-bright-nick) 1076 ((and rcirc-dim-nick-regexp 1077 (string-match rcirc-dim-nick-regexp sender)) 1101 ((and rcirc-dim-nicks 1102 (string-match 1103 (regexp-opt rcirc-dim-nicks) 1104 sender)) 1078 1105 'rcirc-dim-nick) 1079 1106 (t 1080 1107 'rcirc-other-nick)))))) 1081 ((eq key ?T)1108 ((eq key ?T) 1082 1109 ;; %T -- timestamp 1083 1110 (rcirc-facify … … 1086 1113 ((eq key ?m) 1087 1114 ;; %m -- message text 1088 ;; We add the text property `rcirc-text' to identify this 1089 ;; as the body text. 1090 (propertize 1091 (rcirc-mangle-text process (rcirc-facify text face)) 1092 'rcirc-text text)) 1115 (rcirc-markup-text process sender response (rcirc-facify text face))) 1093 1116 ((eq key ?t) 1094 1117 ;; %t -- target … … 1139 1162 (rcirc-any-buffer process)))))) 1140 1163 1141 (defvar rcirc-activity-type nil)1142 (make-variable-buffer-local 'rcirc-activity-type )1164 (defvar rcirc-activity-types nil) 1165 (make-variable-buffer-local 'rcirc-activity-types) 1143 1166 (defvar rcirc-last-sender nil) 1144 1167 (make-variable-buffer-local 'rcirc-last-sender) 1145 (defvar rcirc-gray-toggle nil) 1146 (make-variable-buffer-local 'rcirc-gray-toggle) 1168 1169 (defun rcirc-scroll-to-bottom (window display-start) 1170 "Scroll window to show maximum output if `rcirc-show-maximum-output' is 1171 non-nil." 1172 (when rcirc-show-maximum-output 1173 (with-selected-window window 1174 (when (>= (window-point) rcirc-prompt-end-marker) 1175 (recenter -1))))) 1176 1147 1177 (defun rcirc-print (process sender response target text &optional activity) 1148 1178 "Print TEXT in the buffer associated with TARGET. … … 1239 1269 1240 1270 ;; record modeline activity 1241 (when activity 1242 (let ((nick-match 1243 (string-match (concat "\\b" 1244 (regexp-quote (rcirc-nick process)) 1245 "\\b") 1246 text))) 1247 (when (if rcirc-ignore-buffer-activity-flag 1248 ;; - Always notice when our nick is mentioned 1249 nick-match 1250 ;; - Never bother us if a dim-nick spoke 1251 (not (and rcirc-dim-nick-regexp sender 1252 (string-match rcirc-dim-nick-regexp sender)))) 1253 (rcirc-record-activity 1254 (current-buffer) 1255 (when (or nick-match (and (not (rcirc-channel-p rcirc-target)) 1256 (not rcirc-low-priority-flag))) 1257 'nick))))) 1271 (when (and activity 1272 (not rcirc-ignore-buffer-activity-flag) 1273 (not (and rcirc-dim-nicks sender 1274 (string-match (regexp-opt rcirc-dim-nicks) sender)))) 1275 (rcirc-record-activity (current-buffer) 1276 (when (not (rcirc-channel-p rcirc-target)) 1277 'nick))) 1258 1278 1259 1279 (sit-for 0) ; displayed text before hook … … 1476 1496 (t2 (with-current-buffer b2 rcirc-last-post-time))) 1477 1497 (time-less-p t2 t1))))) 1478 (if (not rcirc-activity-type) 1479 (setq rcirc-activity-type type)) 1498 (pushnew type rcirc-activity-types) 1480 1499 (rcirc-update-activity-string))) 1481 1500 (run-hook-with-args 'rcirc-activity-hooks buffer)) … … 1485 1504 (setq rcirc-activity (delete buffer rcirc-activity)) 1486 1505 (with-current-buffer buffer 1487 (setq rcirc-activity-type nil)))1506 (setq rcirc-activity-types nil))) 1488 1507 1489 1508 (defun rcirc-split-activity (activity) … … 1493 1512 (with-current-buffer buf 1494 1513 (if (and rcirc-low-priority-flag 1495 (not ( eq rcirc-activity-type 'nick)))1514 (not (member 'nick rcirc-activity-types))) 1496 1515 (add-to-list 'lopri buf t) 1497 1516 (add-to-list 'hipri buf t)))) … … 1505 1524 (hipri (cdr pair))) 1506 1525 (setq rcirc-activity-string 1507 (if (or hipri lopri) 1508 (concat "-" 1509 (and hipri "[") 1510 (rcirc-activity-string hipri) 1511 (and hipri lopri ",") 1512 (and lopri 1513 (concat "(" 1514 (rcirc-activity-string lopri) 1515 ")")) 1516 (and hipri "]") 1517 "-") 1518 "-[]-")))) 1526 (cond ((or hipri lopri) 1527 (concat "-" 1528 (and hipri "[") 1529 (rcirc-activity-string hipri) 1530 (and hipri lopri ",") 1531 (and lopri 1532 (concat "(" 1533 (rcirc-activity-string lopri) 1534 ")")) 1535 (and hipri "]") 1536 "-")) 1537 ((not (null (rcirc-process-list))) 1538 "-[]-") 1539 (t ""))))) 1519 1540 1520 1541 (defun rcirc-activity-string (buffers) 1521 1542 (mapconcat (lambda (b) 1522 (let ((s ( rcirc-short-buffer-name b)))1543 (let ((s (substring-no-properties (rcirc-short-buffer-name b)))) 1523 1544 (with-current-buffer b 1524 (if (not (eq rcirc-activity-type 'nick)) 1525 s 1526 (rcirc-facify s 'rcirc-mode-line-nick))))) 1545 (dolist (type rcirc-activity-types) 1546 (rcirc-add-face 0 (length s) 1547 (case type 1548 (nick 'rcirc-track-nick) 1549 (keyword 'rcirc-track-keyword)) 1550 s))) 1551 s)) 1527 1552 buffers ",")) 1528 1553 … … 1539 1564 (walk-windows (lambda (w) 1540 1565 (let ((buf (window-buffer w))) 1541 (when (eq major-mode 'rcirc-mode) 1542 (rcirc-clear-activity buf) 1566 (with-current-buffer buf 1567 (when (eq major-mode 'rcirc-mode) 1568 (rcirc-clear-activity buf))) 1543 1569 (when (eq buf rcirc-current-buffer) 1544 (setq current-now-hidden nil))))) )1570 (setq current-now-hidden nil))))) 1545 1571 ;; add overlay arrow if the buffer isn't displayed 1546 (when (and rcirc-current-buffer current-now-hidden) 1572 (when (and current-now-hidden 1573 rcirc-current-buffer 1574 (buffer-live-p rcirc-current-buffer)) 1547 1575 (with-current-buffer rcirc-current-buffer 1548 (when ( eq major-mode 'rcirc-mode)1549 (marker-position overlay-arrow-position)1576 (when (and (eq major-mode 'rcirc-mode) 1577 (marker-position overlay-arrow-position)) 1550 1578 (set-marker overlay-arrow-position nil))))) 1551 1579 … … 1765 1793 target args))) 1766 1794 1795 (defun rcirc-add-or-remove (set &optional elt) 1796 (if (and elt (not (string= "" elt))) 1797 (if (member-ignore-case elt set) 1798 (delete elt set) 1799 (cons elt set)) 1800 set)) 1801 1767 1802 (defun-rcirc-command ignore (nick) 1768 1803 "Manage the ignore list. … … 1771 1806 ones added to the list automatically are marked with an asterisk." 1772 1807 (interactive "sToggle ignoring of nick: ") 1773 (when (not (string= "" nick)) 1774 (if (member nick rcirc-ignore-list) 1775 (setq rcirc-ignore-list (delete nick rcirc-ignore-list)) 1776 (setq rcirc-ignore-list (cons nick rcirc-ignore-list)))) 1777 (rcirc-print process (rcirc-nick process) "IGNORE" target 1808 (setq rcirc-ignore-list (rcirc-add-or-remove rcirc-ignore-list nick)) 1809 (rcirc-print process nil "IGNORE" target 1778 1810 (mapconcat 1779 1811 (lambda (nick) … … 1783 1815 rcirc-ignore-list " "))) 1784 1816 1817 (defun-rcirc-command bright (nick) 1818 "Manage the bright nick list." 1819 (interactive "sToggle emphasis of nick: ") 1820 (setq rcirc-bright-nicks (rcirc-add-or-remove rcirc-bright-nicks nick)) 1821 (rcirc-print process nil "BRIGHT" target 1822 (mapconcat 'identity rcirc-bright-nicks " "))) 1823 1824 (defun-rcirc-command dim (nick) 1825 "Manage the dim nick list." 1826 (interactive "sToggle deemphasis of nick: ") 1827 (setq rcirc-dim-nicks (rcirc-add-or-remove rcirc-dim-nicks nick)) 1828 (rcirc-print process nil "DIM" target 1829 (mapconcat 'identity rcirc-dim-nicks " "))) 1830 1831 (defun-rcirc-command keyword (keyword) 1832 "Manage the keyword list. 1833 Mark KEYWORD, unmark KEYWORD if already marked, or list marked 1834 keywords when no KEYWORD is given." 1835 (interactive "sToggle highlighting of keyword: ") 1836 (setq rcirc-keywords (rcirc-add-or-remove rcirc-keywords keyword)) 1837 (rcirc-print process nil "KEYWORD" target 1838 (mapconcat 'identity rcirc-keywords " "))) 1839 1785 1840 1786 (defun rcirc-message-leader (sender face) 1787 "Return a string with SENDER propertized with FACE." 1788 (rcirc-facify (concat "<" sender "> ") face)) 1841 (defun rcirc-add-face (start end name &optional object) 1842 "Add face NAME to the face text property of the text from START to END." 1843 (when name 1844 (let ((pos start) 1845 next prop) 1846 (while (< pos end) 1847 (setq prop (get-text-property pos 'face object) 1848 next (next-single-property-change pos 'face object end)) 1849 (unless (member name (get-text-property pos 'face object)) 1850 (add-text-properties pos next (list 'face (cons name prop)) object)) 1851 (setq pos next))))) 1789 1852 1790 1853 (defun rcirc-facify (string face) 1791 1854 "Return a copy of STRING with FACE property added." 1792 (propertize (or string "") 'face face 'rear-nonsticky t)) 1855 (let ((string (or string ""))) 1856 (rcirc-add-face 0 (length string) face string) 1857 string)) 1793 1858 1794 1859 (defvar rcirc-url-regexp … … 1801 1866 "www.") 1802 1867 (1+ (char "-a-zA-Z0-9_.")) 1868 (1+ (char "-a-zA-Z0-9_")) 1803 1869 (optional ":" (1+ (char "0-9")))) 1804 1870 (and (1+ (char "-a-zA-Z0-9_.")) … … 1807 1873 (optional 1808 1874 (and "/" 1809 (1+ (char "-a-zA-Z0-9_=!?#$\@~`%&*+|\\/:;.,{}[] "))1810 (char "-a-zA-Z0-9_=#$\@~`%&*+|\\/:;{}[] ")))))1875 (1+ (char "-a-zA-Z0-9_=!?#$\@~`%&*+|\\/:;.,{}[]()")) 1876 (char "-a-zA-Z0-9_=#$\@~`%&*+|\\/:;{}[]()"))))) 1811 1877 "Regexp matching URLs. Set to nil to disable URL features in rcirc.") 1812 1878 … … 1824 1890 "Send URL at point to `browse-url'." 1825 1891 (interactive "d") 1826 (let ((beg (previous-single-property-change point'mouse-face))1892 (let ((beg (previous-single-property-change (1+ point) 'mouse-face)) 1827 1893 (end (next-single-property-change point 'mouse-face))) 1828 1894 (browse-url (buffer-substring-no-properties beg end)))) … … 1835 1901 (rcirc-browse-url-at-point (posn-point position))))) 1836 1902 1837 (defun rcirc-map-regexp (function regexp string) 1838 "Return a copy of STRING after calling FUNCTION for each REGEXP match. 1839 FUNCTION takes 3 arguments, MATCH-START, MATCH-END, and STRING." 1840 (let ((start 0)) 1841 (while (string-match regexp string start) 1842 (setq start (match-end 0)) 1843 (funcall function (match-beginning 0) (match-end 0) string))) 1844 string) 1845 1846 (defun rcirc-mangle-text (process text) 1903 1904 (defvar rcirc-markup-text-functions 1905 '(rcirc-markup-body-text 1906 rcirc-markup-attributes 1907 rcirc-markup-my-nick 1908 rcirc-markup-urls 1909 rcirc-markup-keywords 1910 rcirc-markup-bright-nicks) 1911 "List of functions used to manipulate text before it is printed. 1912 1913 Each function takes three arguments, PROCESS, SENDER, RESPONSE 1914 and CHANNEL-BUFFER. The current buffer is temporary buffer that 1915 contains the text to manipulate. Each function works on the text 1916 in this buffer.") 1917 1918 (defun rcirc-markup-text (process sender response text) 1847 1919 "Return TEXT with properties added based on various patterns." 1848 ;; ^B 1849 (setq text 1850 (rcirc-map-regexp 1851 (lambda (start end string) 1852 (let ((orig-face (get-text-property start 'face string))) 1853 (add-text-properties 1854 start end 1855 (list 'face (if (listp orig-face) 1856 (append orig-face 1857 (list 'bold)) 1858 (list orig-face 'bold)) 1859 'rear-nonsticky t) 1860 string))) 1861 ".*?" 1862 text)) 1863 ;; TODO: deal with ^_ and ^C colors sequences 1864 (while (string-match "\\(.*\\)[]\\(.*\\)" text) 1865 (setq text (concat (match-string 1 text) 1866 (match-string 2 text)))) 1867 ;; my nick 1868 (setq text 1869 (with-syntax-table rcirc-nick-syntax-table 1870 (rcirc-map-regexp (lambda (start end string) 1871 (add-text-properties 1872 start end 1873 (list 'face 'rcirc-nick-in-message 1874 'rear-nonsticky t) 1875 string)) 1876 (concat "\\b" 1877 (regexp-quote (rcirc-nick process)) 1878 "\\b") 1879 text))) 1880 ;; urls 1881 (setq text 1882 (rcirc-map-regexp 1883 (lambda (start end string) 1884 (let ((orig-face (get-text-property start 'face string))) 1885 (add-text-properties start end 1886 (list 'face (if (listp orig-face) 1887 (append orig-face 1888 (list 'bold)) 1889 (list orig-face 'bold)) 1890 'rear-nonsticky t 1891 'mouse-face 'highlight 1892 'keymap rcirc-browse-url-map) 1893 string)) 1894 (push (substring-no-properties string start end) rcirc-urls)) 1895 rcirc-url-regexp 1896 text)) 1897 text) 1898 1920 (let ((channel-buffer (current-buffer))) 1921 (with-temp-buffer 1922 (insert text) 1923 (goto-char (point-min)) 1924 (dolist (fn rcirc-markup-text-functions) 1925 (save-excursion 1926 (funcall fn process sender response channel-buffer))) 1927 (buffer-substring (point-min) (point-max))))) 1928 1929 (defun rcirc-markup-body-text (process sender response channel-buffer) 1930 ;; We add the text property `rcirc-text' to identify this as the 1931 ;; body text. 1932 (add-text-properties (point-min) (point-max) 1933 (list 'rcirc-text (buffer-substring-no-properties 1934 (point-min) (point-max))))) 1935 1936 (defun rcirc-markup-attributes (process sender response channel-buffer) 1937 (while (re-search-forward "\\([\C-b\C-_\C-v]\\).*?\\(\\1\\|\C-o\\)" nil t) 1938 (rcirc-add-face (match-beginning 0) (match-end 0) 1939 (case (char-after (match-beginning 1)) 1940 (?\C-b 'bold) 1941 (?\C-v 'italic) 1942 (?\C-_ 'underline))) 1943 ;; keep the ^O since it could terminate other attributes 1944 (when (not (eq ?\C-o (char-before (match-end 2)))) 1945 (delete-region (match-beginning 2) (match-end 2))) 1946 (delete-region (match-beginning 1) (match-end 1)) 1947 (goto-char (1+ (match-beginning 1)))) 1948 ;; remove the ^O characters now 1949 (while (re-search-forward "\C-o+" nil t) 1950 (delete-region (match-beginning 0) (match-end 0)))) 1951 1952 (defun rcirc-markup-my-nick (process sender response channel-buffer) 1953 (with-syntax-table rcirc-nick-syntax-table 1954 (while (re-search-forward (concat "\\b" 1955 (regexp-quote (rcirc-nick process)) 1956 "\\b") 1957 nil t) 1958 (rcirc-add-face (match-beginning 0) (match-end 0) 1959 'rcirc-nick-in-message) 1960 (when (string= response "PRIVMSG") 1961 (rcirc-add-face (point-min) (point-max) 'rcirc-nick-in-message-full-line) 1962 (rcirc-record-activity channel-buffer 'nick))))) 1963 1964 (defun rcirc-markup-urls (process sender response channel-buffer) 1965 (while (re-search-forward rcirc-url-regexp nil t) 1966 (let ((start (match-beginning 0)) 1967 (end (match-end 0))) 1968 (rcirc-add-face start end 'rcirc-url) 1969 (add-text-properties start end (list 'mouse-face 'highlight 1970 'keymap rcirc-browse-url-map)) 1971 ;; record the url 1972 (let ((url (buffer-substring-no-properties start end))) 1973 (with-current-buffer channel-buffer 1974 (push url rcirc-urls)))))) 1975 1976 (defun rcirc-markup-keywords (process sender response channel-buffer) 1977 (let* ((target (with-current-buffer channel-buffer (or rcirc-target ""))) 1978 (keywords (delq nil (mapcar (lambda (keyword) 1979 (when (not (string-match keyword target)) 1980 keyword)) 1981 rcirc-keywords)))) 1982 (when keywords 1983 (while (re-search-forward (regexp-opt keywords 'words) nil t) 1984 (rcirc-add-face (match-beginning 0) (match-end 0) 'rcirc-keyword) 1985 (when (and (string= response "PRIVMSG") 1986 (not (string= sender (rcirc-nick process)))) 1987 (rcirc-record-activity channel-buffer 'keyword)))))) 1988 1989 (defun rcirc-markup-bright-nicks (process sender response channel-buffer) 1990 (when (and rcirc-bright-nicks 1991 (string= response "NAMES")) 1992 (with-syntax-table rcirc-nick-syntax-table 1993 (while (re-search-forward (regexp-opt rcirc-bright-nicks 'words) nil t) 1994 (rcirc-add-face (match-beginning 0) (match-end 0) 1995 'rcirc-bright-nick))))) 1899 1996 1900 1997 ;;; handlers … … 2247 2344 (((class color) (min-colors 8)) (:foreground "magenta")) 2248 2345 (t (:weight bold :underline t))) 2249 "Face used for nicks matched by `rcirc-bright-nick -regexp'."2346 "Face used for nicks matched by `rcirc-bright-nicks'." 2250 2347 :group 'rcirc-faces) 2251 2348 2252 2349 (defface rcirc-dim-nick 2253 2350 '((t :inherit default)) 2254 "Face used for nicks matched by `rcirc-dim-nick-regexp'."2351 "Face used for nicks in `rcirc-dim-nicks'." 2255 2352 :group 'rcirc-faces) 2256 2353 … … 2301 2398 (((class color) (min-colors 8)) (:foreground "cyan" :weight bold)) 2302 2399 (t (:weight bold))) 2303 "The face used to highlight instances of nick within messages."2400 "The face used to highlight instances of your nick within messages." 2304 2401 :group 'rcirc-faces) 2402 2403 (defface rcirc-nick-in-message-full-line 2404 '((t (:bold t))) 2405 "The face used emphasize the entire message when your nick is mentioned." 2406 :group 'rcirc-faces) 2305 2407 2306 2408 (defface rcirc-prompt ; comint-highlight-prompt … … 2311 2413 :group 'rcirc-faces) 2312 2414 2313 (defface rcirc-mode-line-nick 2415 (defface rcirc-track-nick 2416 '((t (:inverse-video t))) 2417 "The face used in the mode-line when your nick is mentioned." 2418 :group 'rcirc-faces) 2419 2420 (defface rcirc-track-keyword 2421 '((t (:bold t ))) 2422 "The face used in the mode-line when keywords are mentioned." 2423 :group 'rcirc-faces) 2424 2425 (defface rcirc-url 2314 2426 '((t (:bold t))) 2315 "The face used indicate activity directed at you." 2427 "The face used to highlight urls." 2428 :group 'rcirc-faces) 2429 2430 (defface rcirc-keyword 2431 '((t (:inherit highlight))) 2432 "The face used to highlight keywords." 2316 2433 :group 'rcirc-faces) 2317 2434
