1;;; wl-highlight.el --- Hilight modules for Wanderlust. -*- lexical-binding: t -*- 2 3;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 4;; Yuuichi Teranishi <teranisi@gohome.org> 5 6;; Author: Yuuichi Teranishi <teranisi@gohome.org> 7;; Keywords: mail, net news 8 9;; This file is part of Wanderlust (Yet Another Message Interface on Emacsen). 10 11;; This program is free software; you can redistribute it and/or modify 12;; it under the terms of the GNU General Public License as published by 13;; the Free Software Foundation; either version 2, or (at your option) 14;; any later version. 15;; 16;; This program is distributed in the hope that it will be useful, 17;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19;; GNU General Public License for more details. 20;; 21;; You should have received a copy of the GNU General Public License 22;; along with GNU Emacs; see the file COPYING. If not, write to the 23;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 24;; Boston, MA 02111-1307, USA. 25;; 26 27;;; Commentary: 28;; 29 30;;; Code: 31;; 32 33(require 'invisible) 34(require 'wl-vars) 35 36(provide 'wl-highlight) 37 38(defgroup wl-faces nil 39 "Wanderlust, Faces." 40 :prefix "wl-highlight-" 41 :group 'wl-highlight 42 :group 'wl) 43 44(defgroup wl-summary-faces nil 45 "Wanderlust, Faces of summary buffer." 46 :prefix "wl-highlight-" 47 :group 'wl-highlight 48 :group 'wl-summary) 49 50(defgroup wl-folder-faces nil 51 "Wanderlust, Faces of folder buffer." 52 :prefix "wl-highlight-" 53 :group 'wl-highlight 54 :group 'wl-folder) 55 56(defgroup wl-message-faces nil 57 "Wanderlust, Faces of message buffer." 58 :prefix "wl-highlight-" 59 :group 'wl-highlight) 60 61;; for message header and signature 62 63(defface wl-highlight-message-headers 64 '((((type graphic) 65 (background dark)) 66 (:foreground "gray" :bold t)) 67 (((type tty) 68 (min-colors 16777216) 69 (background dark)) 70 (:foreground "gray" :bold t)) 71 (((type tty) 72 (min-colors 256) 73 (background dark)) 74 (:foreground "color-250" :bold t)) 75 (((type tty) 76 (min-colors 88) 77 (background dark)) 78 (:foreground "color-85" :bold t)) 79 (((type tty) 80 (background dark)) 81 (:foreground "white" :bold t)) 82 (((type graphic) 83 (background light)) 84 (:foreground "gray50" :bold t)) 85 (((type tty) 86 (min-colors 16777216) 87 (background light)) 88 (:foreground "gray50" :bold t)) 89 (((type tty) 90 (min-colors 16) 91 (background light)) 92 (:foreground "brightblack" :bold t)) 93 (((type tty) 94 (background light)) 95 (:bold t))) 96 "Face used for displaying header names." 97 :group 'wl-message-faces 98 :group 'wl-faces) 99 100(defface wl-highlight-message-header-contents 101 '((((type graphic) 102 (background dark)) 103 (:foreground "LightSkyBlue" :bold t)) 104 (((type tty) 105 (min-colors 16777216) 106 (background dark)) 107 (:foreground "LightSkyBlue" :bold t)) 108 (((type tty) 109 (min-colors 256) 110 (background dark)) 111 (:foreground "color-117" :bold t)) 112 (((type tty) 113 (min-colors 88) 114 (background dark)) 115 (:foreground "color-43" :bold t)) 116 (((type tty) 117 (background dark)) 118 (:foreground "cyan" :bold t)) 119 (((type graphic) 120 (background light)) 121 (:foreground "purple" :bold t)) 122 (((type tty) 123 (min-colors 16777216) 124 (background light)) 125 (:foreground "purple" :bold t)) 126 (((type tty) 127 (min-colors 256) 128 (background light)) 129 (:foreground "color-129" :bold t)) 130 (((type tty) 131 (min-colors 88) 132 (background light)) 133 (:foreground "color-35" :bold t)) 134 (((type tty) 135 (background light)) 136 (:foreground "magenta" :bold t))) 137 "Face used for displaying header content." 138 :group 'wl-message-faces 139 :group 'wl-faces) 140 141(defface wl-highlight-message-important-header-contents 142 '((((type graphic) 143 (background dark)) 144 (:foreground "yellow" :bold t)) 145 (((type tty) 146 (min-colors 16) 147 (background dark)) 148 (:foreground "brightyellow" :bold t)) 149 (((type tty) 150 (background dark)) 151 (:foreground "yellow" :bold t)) 152 (((type graphic) 153 (background light)) 154 (:foreground "brown" :bold t)) 155 (((type tty) 156 (min-colors 16777216) 157 (background light)) 158 (:foreground "brown" :bold t)) 159 (((type tty) 160 (min-colors 256) 161 (background light)) 162 (:foreground "color-124" :bold t)) 163 (((type tty) 164 (min-colors 88) 165 (background light)) 166 (:foreground "color-32" :bold t)) 167 (((type tty) 168 (background light)) 169 (:foreground "red" :bold t))) 170 "Face used for displaying contents of special headers." 171 :group 'wl-message-faces 172 :group 'wl-faces) 173 174(defface wl-highlight-message-important-header-contents2 175 '((((type graphic) 176 (background dark)) 177 (:foreground "orange" :bold t)) 178 (((type tty) 179 (min-colors 16777216) 180 (background dark)) 181 (:foreground "orange" :bold t)) 182 (((type tty) 183 (min-colors 256) 184 (background dark)) 185 (:foreground "color-214" :bold t)) 186 (((type tty) 187 (min-colors 88) 188 (background dark)) 189 (:foreground "color-68" :bold t)) 190 (((type tty) 191 (background dark)) 192 (:foreground "yellow" :bold t)) 193 (((type graphic) 194 (background light)) 195 (:foreground "DarkSlateBlue" :bold t)) 196 (((type tty) 197 (min-colors 16777216) 198 (background light)) 199 (:foreground "DarkSlateBlue" :bold t)) 200 (((type tty) 201 (min-colors 256) 202 (background light)) 203 (:foreground "color-60" :bold t)) 204 (((type tty) 205 (min-colors 88) 206 (background light)) 207 (:foreground "color-81" :bold t)) 208 (((type tty) 209 (background light)) 210 (:foreground "blue" :bold t))) 211 "Face used for displaying contents of special headers." 212 :group 'wl-message-faces 213 :group 'wl-faces) 214 215(defface wl-highlight-message-citation-header 216 '((((type graphic) 217 (background dark)) 218 (:foreground "SkyBlue")) 219 (((type tty) 220 (min-colors 16777216) 221 (background dark)) 222 (:foreground "SkyBlue")) 223 (((type tty) 224 (min-colors 256) 225 (background dark)) 226 (:foreground "color-117")) 227 (((type tty) 228 (min-colors 88) 229 (background dark)) 230 (:foreground "color-43")) 231 (((type tty) 232 (background dark)) 233 (:foreground "cyan")) 234 (((type graphic) 235 (background light)) 236 (:foreground "DarkGreen")) 237 (((type tty) 238 (min-colors 16777216) 239 (background light)) 240 (:foreground "DarkGreen")) 241 (((type tty) 242 (min-colors 256) 243 (background light)) 244 (:foreground "color-22")) 245 (((type tty) 246 (min-colors 88) 247 (background light)) 248 (:foreground "color-20")) 249 (((type tty) 250 (background light)) 251 (:foreground "black"))) 252 "Face used for displaying header of quoted texts." 253 :group 'wl-message-faces 254 :group 'wl-faces) 255 256(defface wl-highlight-message-unimportant-header-contents 257 '((((type graphic) 258 (background dark)) 259 (:foreground "GreenYellow" :bold t)) 260 (((type tty) 261 (min-colors 16777216) 262 (background dark)) 263 (:foreground "GreenYellow" :bold t)) 264 (((type tty) 265 (min-colors 256) 266 (background dark)) 267 (:foreground "color-154" :bold t)) 268 (((type tty) 269 (min-colors 88) 270 (background dark)) 271 (:foreground "color-154" :bold t)) 272 (((type tty) 273 (background dark)) 274 (:foreground "green" :bold t)) 275 (((type graphic) 276 (background light)) 277 (:foreground "DarkGreen" :bold t)) 278 (((type tty) 279 (min-colors 16777216) 280 (background light)) 281 (:foreground "DarkGreen" :bold t)) 282 (((type tty) 283 (min-colors 256) 284 (background light)) 285 (:foreground "color-22" :bold t)) 286 (((type tty) 287 (min-colors 88) 288 (background light)) 289 (:foreground "color-20" :bold t)) 290 (((type tty) 291 (background light)) 292 (:foreground "black" :bold t))) 293 "Face used for displaying contents of unimportant headers." 294 :group 'wl-message-faces 295 :group 'wl-faces) 296 297(defface wl-highlight-message-signature 298 '((((type graphic) 299 (background dark)) 300 (:foreground "khaki")) 301 (((type tty) 302 (min-colors 16777216) 303 (background dark)) 304 (:foreground "khaki")) 305 (((type tty) 306 (min-colors 256) 307 (background dark)) 308 (:foreground "color-222")) 309 (((type tty) 310 (min-colors 88) 311 (background dark)) 312 (:foreground "color-77")) 313 (((type tty) 314 (background dark)) 315 (:foreground "white")) 316 (((type graphic) 317 (background light)) 318 (:foreground "DarkSlateBlue")) 319 (((type tty) 320 (min-colors 16777216) 321 (background light)) 322 (:foreground "DarkSlateBlue")) 323 (((type tty) 324 (min-colors 256) 325 (background light)) 326 (:foreground "color-60")) 327 (((type tty) 328 (min-colors 88) 329 (background light)) 330 (:foreground "color-81")) 331 (((type tty) 332 (background light)) 333 (:foreground "blue"))) 334 "Face used for displaying signature." 335 :group 'wl-message-faces 336 :group 'wl-faces) 337 338;; for draft 339 340(defface wl-highlight-header-separator-face 341 '((((type graphic)) 342 (:foreground "Black" :background "DarkKhaki")) 343 (((type tty) 344 (min-colors 16777216)) 345 (:foreground "Black" :background "DarkKhaki")) 346 (((type tty) 347 (min-colors 256)) 348 (:foreground "black" :background "color-143")) 349 (((type tty) 350 (min-colors 88)) 351 (:foreground "black" :background "color-57")) 352 (((type tty) 353 (background dark)) 354 (:foreground "black" :background "yellow"))) 355 "Face used for displaying header separator." 356 :group 'wl-draft 357 :group 'wl-faces) 358 359;; important messages 360 361(defface wl-highlight-summary-flagged-face 362 '((((type graphic) 363 (background dark)) 364 (:foreground "orange")) 365 (((type tty) 366 (min-colors 16777216) 367 (background dark)) 368 (:foreground "orange")) 369 (((type tty) 370 (min-colors 256) 371 (background dark)) 372 (:foreground "color-214")) 373 (((type tty) 374 (min-colors 88) 375 (background dark)) 376 (:foreground "color-68")) 377 (((type tty) 378 (background dark)) 379 (:foreground "yellow")) 380 (((type graphic) 381 (background light)) 382 (:foreground "purple")) 383 (((type tty) 384 (min-colors 16777216) 385 (background light)) 386 (:foreground "purple")) 387 (((type tty) 388 (min-colors 256) 389 (background light)) 390 (:foreground "color-129")) 391 (((type tty) 392 (min-colors 88) 393 (background light)) 394 (:foreground "color-35")) 395 (((type tty) 396 (background light)) 397 (:foreground "magenta"))) 398 "Face used for displaying flagged messages." 399 :group 'wl-summary-faces 400 :group 'wl-faces) 401 402(defface wl-highlight-summary-new-face 403 '((((type graphic)) 404 (:foreground "tomato")) 405 (((type tty) 406 (min-colors 16777216)) 407 (:foreground "tomato")) 408 (((type tty) 409 (min-colors 256)) 410 (:foreground "color-203")) 411 (((type tty) 412 (min-colors 88)) 413 (:foreground "color-69")) 414 (((type tty) 415 (min-colors 16)) 416 (:foreground "brightred")) 417 (((type tty)) 418 (:foreground "red"))) 419 "Face used for displaying new messages." 420 :group 'wl-summary-faces 421 :group 'wl-faces) 422 423(defface wl-highlight-summary-killed-face 424 '((((type graphic) 425 (background dark)) 426 (:foreground "gray")) 427 (((type tty) 428 (min-colors 16777216) 429 (background dark)) 430 (:foreground "gray")) 431 (((type tty) 432 (min-colors 256) 433 (background dark)) 434 (:foreground "color-250")) 435 (((type tty) 436 (min-colors 88) 437 (background dark)) 438 (:foreground "color-285")) 439 (((type tty) 440 (background dark)) 441 (:foreground "white")) 442 (((type graphic) 443 (background light)) 444 (:foreground "LightSlateGray")) 445 (((type tty) 446 (min-colors 16777216) 447 (background light)) 448 (:foreground "LightSlateGray")) 449 (((type tty) 450 (min-colors 256) 451 (background light)) 452 (:foreground "color-102")) 453 (((type tty) 454 (min-colors 88) 455 (background light)) 456 (:foreground "color-83")) 457 (((type tty) 458 (min-colors 16) 459 (background light)) 460 (:foreground "brightblack")) 461 (((type tty) 462 (background light)) 463 (:foreground "cyan"))) 464 "Face used for displaying killed messages." 465 :group 'wl-summary-faces 466 :group 'wl-faces) 467 468(defface wl-highlight-summary-displaying-face 469 '((t 470 (:underline t :bold t))) 471 "Face used for displaying message." 472 :group 'wl-summary-faces 473 :group 'wl-faces) 474 475(defface wl-highlight-thread-indent-face 476 '((((type graphic)) 477 (:foreground "gray40")) 478 (((type tty) 479 (min-colors 16777216)) 480 (:foreground "gray40")) 481 (((type tty) 482 (min-colors 256)) 483 (:foreground "color-241")) 484 (((type tty) 485 (min-colors 88)) 486 (:foreground "color-81")) 487 (((type tty) 488 (min-colors 16)) 489 (:foreground "brightblack")) 490 ;; (((type tty)) 491 ;; (:foreground "black")) 492 ) 493 "Face used for displaying indented thread." 494 :group 'wl-summary-faces 495 :group 'wl-faces) 496 497;; unimportant messages 498 499(defface wl-highlight-summary-unread-face 500 '((((type graphic) 501 (background dark)) 502 (:foreground "LightSkyBlue")) 503 (((type tty) 504 (min-colors 16777216) 505 (background dark)) 506 (:foreground "LightSkyBlue")) 507 (((type tty) 508 (min-colors 256) 509 (background dark)) 510 (:foreground "color-117")) 511 (((type tty) 512 (min-colors 88) 513 (background dark)) 514 (:foreground "color-43")) 515 (((type tty) 516 (background dark)) 517 (:foreground "cyan")) 518 (((type graphic) 519 (background light)) 520 (:foreground "RoyalBlue")) 521 (((type tty) 522 (min-colors 16777216) 523 (background light)) 524 (:foreground "RoyalBlue")) 525 (((type tty) 526 (min-colors 256) 527 (background light)) 528 (:foreground "color-62")) 529 (((type tty) 530 (min-colors 16) 531 (background light)) 532 (:foreground "brightblue")) 533 (((type tty) 534 (background light)) 535 (:foreground "cyan"))) 536 "Face used for displaying unread messages." 537 :group 'wl-summary-faces 538 :group 'wl-faces) 539 540(defface wl-highlight-summary-disposed-face 541 '((((type graphic) 542 (background dark)) 543 (:foreground "gray")) 544 (((type tty) 545 (min-colors 16777216) 546 (background dark)) 547 (:foreground "gray")) 548 (((type tty) 549 (min-colors 256) 550 (background dark)) 551 (:foreground "color-250")) 552 (((type tty) 553 (min-colors 88) 554 (background dark)) 555 (:foreground "color-285")) 556 (((type tty) 557 (background dark)) 558 (:foreground "white")) 559 (((type graphic) 560 (background light)) 561 (:foreground "DarkKhaki")) 562 (((type tty) 563 (min-colors 16777216) 564 (background light)) 565 (:foreground "DarkKhaki")) 566 (((type tty) 567 (min-colors 256) 568 (background light)) 569 (:foreground "color-143")) 570 (((type tty) 571 (min-colors 88) 572 (background light)) 573 (:foreground "color-57")) 574 (((type tty) 575 (background light)) 576 (:foreground "yellow"))) 577 "Face used for displaying messages mark as disposed." 578 :group 'wl-summary-faces 579 :group 'wl-faces) 580 581(defface wl-highlight-summary-deleted-face 582 '((((type graphic) 583 (background dark)) 584 (:foreground "SteelBlue")) 585 (((type tty) 586 (min-colors 16777216) 587 (background dark)) 588 (:foreground "SteelBlue")) 589 (((type tty) 590 (min-colors 256) 591 (background dark)) 592 (:foreground "color-67")) 593 (((type tty) 594 (min-colors 88) 595 (background dark)) 596 (:foreground "color-38")) 597 (((type tty) 598 (min-colors 16) 599 (background dark)) 600 (:foreground "brightblack")) 601 (((type tty) 602 (background dark)) 603 (:foreground "cyan")) 604 (((type graphic) 605 (background light)) 606 (:foreground "RoyalBlue4")) 607 (((type tty) 608 (min-colors 16777216) 609 (background light)) 610 (:foreground "RoyalBlue4")) 611 (((type tty) 612 (min-colors 256) 613 (background light)) 614 (:foreground "color-24")) 615 (((type tty) 616 (min-colors 88) 617 (background light)) 618 (:foreground "color-17")) 619 (((type tty) 620 (min-colors 16) 621 (background light)) 622 (:foreground "brightblack")) 623 (((type tty) 624 (background dark)) 625 (:foreground "blue"))) 626 "Face used for displaying messages mark as deleted." 627 :group 'wl-summary-faces 628 :group 'wl-faces) 629 630(defface wl-highlight-summary-prefetch-face 631 '((((type graphic) 632 (background dark)) 633 (:foreground "DeepSkyBlue")) 634 (((type tty) 635 (min-colors 16777216) 636 (background dark)) 637 (:foreground "DeepSkyBlue")) 638 (((type tty) 639 (min-colors 256) 640 (background dark)) 641 (:foreground "color-39")) 642 (((type tty) 643 (min-colors 88) 644 (background dark)) 645 (:foreground "color-27")) 646 (((type tty) 647 (background dark)) 648 (:foreground "cyan")) 649 (((type graphic) 650 (background light)) 651 (:foreground "brown")) 652 (((type tty) 653 (min-colors 16777216) 654 (background light)) 655 (:foreground "brown")) 656 (((type tty) 657 (min-colors 256) 658 (background light)) 659 (:foreground "color-124")) 660 (((type tty) 661 (min-colors 88) 662 (background light)) 663 (:foreground "color-32")) 664 (((type tty) 665 (background light)) 666 (:foreground "red"))) 667 "Face used for displaying messages mark as deleted." 668 :group 'wl-summary-faces 669 :group 'wl-faces) 670 671(defface wl-highlight-summary-resend-face 672 '((((type graphic)) 673 (:foreground "orange3")) 674 (((type tty) 675 (min-colors 16777216)) 676 (:foreground "orange3")) 677 (((type tty) 678 (min-colors 256)) 679 (:foreground "color-172")) 680 (((type tty) 681 (min-colors 88)) 682 (:foreground "color-52")) 683 (((type tty)) 684 (:foreground "yellow"))) 685 "Face used for displaying messages mark as resend." 686 :group 'wl-summary-faces 687 :group 'wl-faces) 688 689(defface wl-highlight-summary-refiled-face 690 '((((type graphic) 691 (background dark)) 692 (:foreground "blue")) 693 (((type tty) 694 (min-colors 16777216) 695 (background dark)) 696 (:foreground "blue")) 697 (((type tty) 698 (min-colors 256) 699 (background dark)) 700 (:foreground "color-21")) 701 (((type tty) 702 (min-colors 88) 703 (background dark)) 704 (:foreground "color-19")) 705 (((type tty) 706 (min-colors 16) 707 (background dark)) 708 (:foreground "brightblue")) 709 (((type tty) 710 (background dark)) 711 ;; "blue" is too dark. 712 (:foreground "magenta")) 713 (((type graphic) 714 (background light)) 715 (:foreground "firebrick")) 716 (((type tty) 717 (min-colors 16777216) 718 (background light)) 719 (:foreground "firebrick")) 720 (((type tty) 721 (min-colors 256) 722 (background light)) 723 (:foreground "color-124")) 724 (((type tty) 725 (min-colors 88) 726 (background light)) 727 (:foreground "color-48")) 728 (((type tty) 729 (background light)) 730 (:foreground "red"))) 731 "Face used for displaying messages mark as refiled." 732 :group 'wl-summary-faces 733 :group 'wl-faces) 734 735(defface wl-highlight-summary-copied-face 736 '((((type graphic) 737 (background dark)) 738 (:foreground "cyan")) 739 (((type tty) 740 (min-colors 16) 741 (background dark)) 742 (:foreground "brightcyan")) 743 (((type tty) 744 (background dark)) 745 (:foreground "cyan")) 746 (((type graphic) 747 (background light)) 748 (:foreground "blue")) 749 (((type tty) 750 (min-colors 16777216) 751 (background light)) 752 (:foreground "blue")) 753 (((type tty) 754 (min-colors 256) 755 (background light)) 756 (:foreground "color-21")) 757 (((type tty) 758 (min-colors 88) 759 (background light)) 760 (:foreground "color-19")) 761 (((type tty) 762 (background light)) 763 (:foreground "blue"))) 764 "Face used for displaying messages mark as copied." 765 :group 'wl-summary-faces 766 :group 'wl-faces) 767 768;; answered 769(defface wl-highlight-summary-answered-face 770 '((((type graphic) 771 (background dark)) 772 (:foreground "khaki")) 773 (((type tty) 774 (min-colors 16777216) 775 (background dark)) 776 (:foreground "khaki")) 777 (((type tty) 778 (min-colors 256) 779 (background dark)) 780 (:foreground "color-222")) 781 (((type tty) 782 (min-colors 88) 783 (background dark)) 784 (:foreground "color-73")) 785 (((type tty) 786 (background dark)) 787 (:foreground "white")) 788 (((type graphic) 789 (background light)) 790 (:foreground "khaki4")) 791 (((type tty) 792 (min-colors 16777216) 793 (background light)) 794 (:foreground "khaki4")) 795 (((type tty) 796 (min-colors 256) 797 (background light)) 798 (:foreground "color-101")) 799 (((type tty) 800 (min-colors 88) 801 (background light)) 802 (:foreground "color-82")) 803 (((type tty) 804 (background light)) 805 (:foreground "yellow"))) 806 "Face used for displaying answered messages." 807 :group 'wl-summary-faces 808 :group 'wl-faces) 809 810;; forwarded 811(defface wl-highlight-summary-forwarded-face 812 '((((type graphic) 813 (background dark)) 814 (:foreground "DarkOliveGreen2")) 815 (((type tty) 816 (min-colors 16777216) 817 (background dark)) 818 (:foreground "DarkOliveGreen2")) 819 (((type tty) 820 (min-colors 256) 821 (background dark)) 822 (:foreground "color-155")) 823 (((type tty) 824 (min-colors 88) 825 (background dark)) 826 (:foreground "color-61")) 827 (((type tty) 828 (background dark)) 829 (:foreground "green")) 830 (((type graphic) 831 (background light)) 832 (:foreground "DarkOliveGreen4")) 833 (((type tty) 834 (min-colors 16777216) 835 (background light)) 836 (:foreground "DarkOliveGreen4")) 837 (((type tty) 838 (min-colors 256) 839 (background light)) 840 (:foreground "color-65")) 841 (((type tty) 842 (min-colors 88) 843 (background light)) 844 (:foreground "color-81")) 845 (((type tty) 846 (background light)) 847 (:foreground "yellow"))) 848 "Face used for displaying forwarded messages." 849 :group 'wl-summary-faces 850 :group 'wl-faces) 851 852(defface wl-summary-persistent-mark-face 853 '((((type graphic) 854 (background dark)) 855 (:foreground "SeaGreen4")) 856 (((type tty) 857 (min-colors 16777216) 858 (background dark)) 859 (:foreground "SeaGreen4")) 860 (((type tty) 861 (min-colors 256) 862 (background dark)) 863 (:foreground "color-29")) 864 (((type tty) 865 (min-colors 88) 866 (background dark)) 867 (:foreground "color-81")) 868 (((type tty) 869 (min-colors 16) 870 (background dark)) 871 (:foreground "brightblack")) 872 (((type tty) 873 (background dark)) 874 (:foreground "green")) 875 (((type graphic) 876 (background light)) 877 (:foreground "SeaGreen1")) 878 (((type tty) 879 (min-colors 16777216) 880 (background light)) 881 (:foreground "SeaGreen1")) 882 (((type tty) 883 (min-colors 256) 884 (background light)) 885 (:foreground "color-85")) 886 (((type tty) 887 (min-colors 88) 888 (background light)) 889 (:foreground "color-45")) 890 (((type tty) 891 (background light)) 892 (:foreground "cyan"))) 893 "Dafault face used for displaying messages with persistent mark." 894 :group 'wl-summary-faces 895 :group 'wl-faces) 896 897;; obsolete. 898(defface wl-highlight-summary-temp-face 899 '((((type graphic)) 900 (:foreground "HotPink1")) 901 (((type tty) 902 (min-colors 16777216)) 903 (:foreground "HotPink1")) 904 (((type tty) 905 (min-colors 256)) 906 (:foreground "color-205")) 907 (((type tty) 908 (min-colors 88)) 909 (:foreground "color-70")) 910 (((type tty)) 911 (:foreground "magenta"))) 912 "Face used for displaying messages mark as temp." 913 :group 'wl-summary-faces 914 :group 'wl-faces) 915 916(defface wl-highlight-summary-target-face 917 '((((type graphic)) 918 (:foreground "HotPink1")) 919 (((type tty) 920 (min-colors 16777216)) 921 (:foreground "HotPink1")) 922 (((type tty) 923 (min-colors 256)) 924 (:foreground "color-205")) 925 (((type tty) 926 (min-colors 88)) 927 (:foreground "color-70")) 928 (((type tty)) 929 (:foreground "magenta"))) 930 "Face used for displaying messages mark as target." 931 :group 'wl-summary-faces 932 :group 'wl-faces) 933 934(defface wl-highlight-summary-low-read-face 935 '((((type graphic) 936 (background dark)) 937 (:foreground "PaleGreen" :italic t)) 938 (((type tty) 939 (min-colors 16777216) 940 (background dark)) 941 (:foreground "PaleGreen" :italic t)) 942 (((type tty) 943 (min-colors 256) 944 (background dark)) 945 (:foreground "color-120" :italic t)) 946 (((type tty) 947 (min-colors 88) 948 (background dark)) 949 (:foreground "color-45" :italic t)) 950 (((type tty) 951 (background dark)) 952 (:foreground "green" :italic t)) 953 (((type graphic) 954 (background light)) 955 (:foreground "Green3" :italic t)) 956 (((type tty) 957 (min-colors 16777216) 958 (background light)) 959 (:foreground "Green3" :italic t)) 960 (((type tty) 961 (background light)) 962 (:foreground "green" :italic t))) 963 "Face used for displaying low interest read messages." 964 :group 'wl-summary-faces 965 :group 'wl-faces) 966 967(defface wl-highlight-summary-high-read-face 968 '((((type graphic) 969 (background dark)) 970 (:foreground "PaleGreen" :bold t)) 971 (((type tty) 972 (min-colors 16777216) 973 (background dark)) 974 (:foreground "PaleGreen" :bold t)) 975 (((type tty) 976 (min-colors 256) 977 (background dark)) 978 (:foreground "color-120" :bold t)) 979 (((type tty) 980 (min-colors 88) 981 (background dark)) 982 (:foreground "color-45" :bold t)) 983 (((type tty) 984 (background dark)) 985 (:foreground "green" :bold t)) 986 (((type graphic) 987 (background light)) 988 (:foreground "SeaGreen" :bold t)) 989 (((type tty) 990 (min-colors 16777216) 991 (background light)) 992 (:foreground "SeaGreen" :bold t)) 993 (((type tty) 994 (min-colors 256) 995 (background light)) 996 (:foreground "color-29" :bold t)) 997 (((type tty) 998 (min-colors 88) 999 (background light)) 1000 (:foreground "color-81" :bold t)) 1001 (((type tty) 1002 (background light)) 1003 (:foreground "green" :bold t))) 1004 "Face used for displaying high interest read messages." 1005 :group 'wl-summary-faces 1006 :group 'wl-faces) 1007 1008(defface wl-highlight-summary-low-unread-face 1009 '((((type graphic) 1010 (background dark)) 1011 (:foreground "LightSkyBlue" :italic t)) 1012 (((type tty) 1013 (min-colors 16777216) 1014 (background dark)) 1015 (:foreground "LightSkyBlue" :italic t)) 1016 (((type tty) 1017 (min-colors 256) 1018 (background dark)) 1019 (:foreground "color-117" :italic t)) 1020 (((type tty) 1021 (min-colors 88) 1022 (background dark)) 1023 (:foreground "color-43" :italic t)) 1024 (((type tty) 1025 (background dark)) 1026 (:foreground "cyan" :italic t)) 1027 (((type graphic) 1028 (background light)) 1029 (:foreground "RoyalBlue" :italic t)) 1030 (((type tty) 1031 (min-colors 16777216) 1032 (background light)) 1033 (:foreground "RoyalBlue" :italic t)) 1034 (((type tty) 1035 (min-colors 256) 1036 (background light)) 1037 (:foreground "color-62" :italic t)) 1038 (((type tty) 1039 (min-colors 16) 1040 (background light)) 1041 (:foreground "brightblue" :italic t)) 1042 (((type tty) 1043 (background light)) 1044 (:foreground "cyan" :italic t))) 1045 "Face used for displaying low interest unread messages." 1046 :group 'wl-summary-faces 1047 :group 'wl-faces) 1048 1049(defface wl-highlight-summary-high-unread-face 1050 '((((type graphic)) 1051 (:foreground "tomato" :bold t)) 1052 (((type tty) 1053 (min-colors 16777216)) 1054 (:foreground "tomato" :bold t)) 1055 (((type tty) 1056 (min-colors 256)) 1057 (:foreground "color-203" :bold t)) 1058 (((type tty) 1059 (min-colors 88)) 1060 (:foreground "color-69" :bold t)) 1061 (((type tty) 1062 (min-colors 16)) 1063 (:foreground "brightred" :bold t)) 1064 (((type tty)) 1065 (:foreground "red" :bold t))) 1066 "Face used for displaying high interest unread messages." 1067 :group 'wl-summary-faces 1068 :group 'wl-faces) 1069 1070;; ordinary messages 1071 1072(defface wl-highlight-summary-thread-top-face 1073 '((((type graphic) 1074 (background dark)) 1075 (:foreground "GreenYellow")) 1076 (((type tty) 1077 (min-colors 16777216) 1078 (background dark)) 1079 (:foreground "GreenYellow")) 1080 (((type tty) 1081 (min-colors 256) 1082 (background dark)) 1083 (:foreground "color-154")) 1084 (((type tty) 1085 (min-colors 88) 1086 (background dark)) 1087 (:foreground "color-60")) 1088 (((type tty) 1089 (background dark)) 1090 (:foreground "green")) 1091 (((type graphic) 1092 (background light)) 1093 (:foreground "green4")) 1094 (((type tty) 1095 (min-colors 16777216) 1096 (background light)) 1097 (:foreground "green4")) 1098 (((type tty) 1099 (min-colors 256) 1100 (background light)) 1101 (:foreground "color-28")) 1102 (((type tty) 1103 (min-colors 88) 1104 (background light)) 1105 (:foreground "color-20")) 1106 (((type tty) 1107 (background light)) 1108 (:foreground "green"))) 1109 "Face used for displaying top thread message." 1110 :group 'wl-summary-faces 1111 :group 'wl-faces) 1112 1113(defface wl-highlight-summary-normal-face 1114 '((((type graphic) 1115 (background dark)) 1116 (:foreground "PaleGreen")) 1117 (((type tty) 1118 (min-colors 16777216) 1119 (background dark)) 1120 (:foreground "PaleGreen")) 1121 (((type tty) 1122 (min-colors 256) 1123 (background dark)) 1124 (:foreground "color-120")) 1125 (((type tty) 1126 (min-colors 88) 1127 (background dark)) 1128 (:foreground "color-45")) 1129 (((type tty) 1130 (background dark)) 1131 (:foreground "white")) 1132 (((type graphic) 1133 (background light)) 1134 (:foreground "SeaGreen")) 1135 (((type tty) 1136 (min-colors 16777216) 1137 (background light)) 1138 (:foreground "SeaGreen")) 1139 (((type tty) 1140 (min-colors 256) 1141 (background light)) 1142 (:foreground "color-29")) 1143 (((type tty) 1144 (min-colors 88) 1145 (background light)) 1146 (:foreground "color-81")) 1147 (((type tty) 1148 (background light)) 1149 (:foreground "green"))) 1150 "Face used for displaying normal message." 1151 :group 'wl-summary-faces 1152 :group 'wl-faces) 1153 1154;; folder 1155 1156(defface wl-highlight-folder-unknown-face 1157 '((((type graphic) 1158 (background dark)) 1159 (:foreground "pink")) 1160 (((type tty) 1161 (min-colors 16777216) 1162 (background dark)) 1163 (:foreground "pink")) 1164 (((type tty) 1165 (min-colors 256) 1166 (background dark)) 1167 (:foreground "color-218")) 1168 (((type tty) 1169 (min-colors 88) 1170 (background dark)) 1171 (:foreground "color-74")) 1172 (((type tty) 1173 (background dark)) 1174 (:foreground "white")) 1175 (((type graphic) 1176 (background light)) 1177 (:foreground "RoyalBlue")) 1178 (((type tty) 1179 (min-colors 16777216) 1180 (background light)) 1181 (:foreground "RoyalBlue")) 1182 (((type tty) 1183 (min-colors 256) 1184 (background light)) 1185 (:foreground "color-62")) 1186 (((type tty) 1187 (min-colors 16) 1188 (background light)) 1189 (:foreground "brightblue")) 1190 (((type tty) 1191 (background light)) 1192 (:foreground "cyan"))) 1193 "Face used for displaying unread folder." 1194 :group 'wl-folder-faces 1195 :group 'wl-faces) 1196 1197(defface wl-highlight-folder-killed-face 1198 '((((type graphic)) 1199 (:foreground "gray50")) 1200 (((type tty) 1201 (min-colors 16777216)) 1202 (:foreground "gray50")) 1203 (((type tty) 1204 (min-colors 16) 1205 (background dark)) 1206 (:foreground "brightblack"))) 1207 "Face used for displaying killed folder." 1208 :group 'wl-folder-faces 1209 :group 'wl-faces) 1210 1211(defface wl-highlight-folder-zero-face 1212 '((((type graphic) 1213 (background dark)) 1214 (:foreground "SkyBlue")) 1215 (((type tty) 1216 (min-colors 16777216) 1217 (background dark)) 1218 (:foreground "SkyBlue")) 1219 (((type tty) 1220 (min-colors 256) 1221 (background dark)) 1222 (:foreground "color-116")) 1223 (((type tty) 1224 (min-colors 88) 1225 (background dark)) 1226 (:foreground "color-43")) 1227 (((type tty) 1228 (background dark)) 1229 (:foreground "white")) 1230 (((type graphic) 1231 (background light)) 1232 (:foreground "BlueViolet")) 1233 (((type tty) 1234 (min-colors 16777216) 1235 (background light)) 1236 (:foreground "BlueViolet")) 1237 (((type tty) 1238 (min-colors 256) 1239 (background light)) 1240 (:foreground "color-92")) 1241 (((type tty) 1242 (min-colors 88) 1243 (background light)) 1244 (:foreground "color-34")) 1245 (((type tty) 1246 (min-colors 16) 1247 (background light)) 1248 (:foreground "brightblue")) 1249 (((type tty) 1250 (background light)) 1251 (:foreground "magenta"))) 1252 "Face used for displaying folder needs no sync." 1253 :group 'wl-folder-faces 1254 :group 'wl-faces) 1255 1256(defface wl-highlight-folder-few-face 1257 '((((type graphic) 1258 (background dark)) 1259 (:foreground "orange")) 1260 (((type tty) 1261 (min-colors 16777216) 1262 (background dark)) 1263 (:foreground "orange")) 1264 (((type tty) 1265 (min-colors 256) 1266 (background dark)) 1267 (:foreground "color-214")) 1268 (((type tty) 1269 (min-colors 88) 1270 (background dark)) 1271 (:foreground "color-68")) 1272 (((type tty) 1273 (background dark)) 1274 (:foreground "yellow")) 1275 (((type graphic) 1276 (background light)) 1277 (:foreground "OrangeRed3")) 1278 (((type tty) 1279 (min-colors 16777216) 1280 (background light)) 1281 (:foreground "OrangeRed3")) 1282 (((type tty) 1283 (min-colors 256) 1284 (background light)) 1285 (:foreground "color-166")) 1286 (((type tty) 1287 (background light)) 1288 (:foreground "red"))) 1289 "Face used for displaying folder contains few unsync messages." 1290 :group 'wl-folder-faces 1291 :group 'wl-faces) 1292 1293(defface wl-highlight-folder-many-face 1294 '((((type graphic) 1295 (background dark)) 1296 (:foreground "HotPink1")) 1297 (((type tty) 1298 (min-colors 16777216) 1299 (background dark)) 1300 (:foreground "HotPink1")) 1301 (((type tty) 1302 (min-colors 256) 1303 (background dark)) 1304 (:foreground "color-205")) 1305 (((type tty) 1306 (min-colors 88) 1307 (background dark)) 1308 (:foreground "color-70")) 1309 (((type tty) 1310 (background dark)) 1311 (:foreground "magenta")) 1312 (((type graphic) 1313 (background light)) 1314 (:foreground "tomato")) 1315 (((type tty) 1316 (min-colors 16777216) 1317 (background light)) 1318 (:foreground "tomato")) 1319 (((type tty) 1320 (min-colors 256) 1321 (background light)) 1322 (:foreground "color-203")) 1323 (((type tty) 1324 (min-colors 88) 1325 (background light)) 1326 (:foreground "color-69")) 1327 (((type tty) 1328 (min-colors 16) 1329 (background light)) 1330 (:foreground "brightred")) 1331 (((type tty) 1332 (background light)) 1333 (:foreground "red"))) 1334 "Face used for displaying folder contains many unsync messages." 1335 :group 'wl-folder-faces 1336 :group 'wl-faces) 1337 1338(defface wl-highlight-folder-unread-face 1339 '((((type graphic) 1340 (background dark)) 1341 (:foreground "gold")) 1342 (((type tty) 1343 (min-colors 16777216) 1344 (background dark)) 1345 (:foreground "gold")) 1346 (((type tty) 1347 (min-colors 256) 1348 (background dark)) 1349 (:foreground "color-220")) 1350 (((type tty) 1351 (min-colors 88) 1352 (background dark)) 1353 (:foreground "color-72")) 1354 (((type tty) 1355 (min-colors 16) 1356 (background dark)) 1357 (:foreground "brightyellow")) 1358 (((type tty) 1359 (background dark)) 1360 (:foreground "yellow")) 1361 (((type graphic) 1362 (background light)) 1363 (:foreground "MediumVioletRed")) 1364 (((type tty) 1365 (min-colors 16777216) 1366 (background light)) 1367 (:foreground "MediumVioletRed")) 1368 (((type tty) 1369 (min-colors 256) 1370 (background light)) 1371 (:foreground "color-162")) 1372 (((type tty) 1373 (min-colors 88) 1374 (background light)) 1375 (:foreground "color-49")) 1376 (((type tty) 1377 (background light)) 1378 (:foreground "magenta"))) 1379 "Face used for displaying unread folder." 1380 :group 'wl-folder-faces 1381 :group 'wl-faces) 1382 1383(defface wl-highlight-folder-opened-face 1384 '((((type graphic) 1385 (background dark)) 1386 (:foreground "PaleGreen")) 1387 (((type tty) 1388 (min-colors 16777216) 1389 (background dark)) 1390 (:foreground "PaleGreen")) 1391 (((type tty) 1392 (min-colors 256) 1393 (background dark)) 1394 (:foreground "color-120")) 1395 (((type tty) 1396 (min-colors 88) 1397 (background dark)) 1398 (:foreground "color-45")) 1399 (((type tty) 1400 (background dark)) 1401 (:foreground "green")) 1402 (((type graphic) 1403 (background light)) 1404 (:foreground "ForestGreen")) 1405 (((type tty) 1406 (min-colors 16777216) 1407 (background light)) 1408 (:foreground "ForestGreen")) 1409 (((type tty) 1410 (min-colors 256) 1411 (background light)) 1412 (:foreground "color-28")) 1413 (((type tty) 1414 (min-colors 88) 1415 (background light)) 1416 (:foreground "color-20")) 1417 (((type tty) 1418 (background light)) 1419 (:foreground "green"))) 1420 "Face used for displaying opened group folder." 1421 :group 'wl-folder-faces 1422 :group 'wl-faces) 1423 1424(defface wl-highlight-folder-closed-face 1425 '((((type graphic) 1426 (background dark)) 1427 (:foreground "GreenYellow")) 1428 (((type tty) 1429 (min-colors 16777216) 1430 (background dark)) 1431 (:foreground "GreenYellow")) 1432 (((type tty) 1433 (min-colors 256) 1434 (background dark)) 1435 (:foreground "color-154")) 1436 (((type tty) 1437 (min-colors 88) 1438 (background dark)) 1439 (:foreground "color-60")) 1440 (((type tty) 1441 (background dark)) 1442 (:foreground "green")) 1443 (((type graphic) 1444 (background light)) 1445 (:foreground "DarkOliveGreen4")) 1446 (((type tty) 1447 (min-colors 16777216) 1448 (background light)) 1449 (:foreground "DarkOliveGreen4")) 1450 (((type tty) 1451 (min-colors 256) 1452 (background light)) 1453 (:foreground "color-65")) 1454 (((type tty) 1455 (min-colors 88) 1456 (background light)) 1457 (:foreground "color-81")) 1458 (((type tty) 1459 (background light)) 1460 (:foreground "yellow"))) 1461 "Face used for displaying closed group folder." 1462 :group 'wl-folder-faces 1463 :group 'wl-faces) 1464 1465(defface wl-highlight-folder-path-face 1466 '((t 1467 (:bold t :underline t))) 1468 "Face used for displaying path." 1469 :group 'wl-folder-faces 1470 :group 'wl-faces) 1471 1472(defface wl-highlight-demo-face 1473 '((((type graphic) 1474 (background dark)) 1475 (:foreground "#d9ffd9" :background "#004400")) 1476 (((type tty) 1477 (min-colors 16777216) 1478 (background dark)) 1479 (:foreground "#d9ffd9" :background "#004400")) 1480 (((type tty) 1481 (min-colors 256) 1482 (background dark)) 1483 (:foreground "color-194" :background "color-22")) 1484 (((type tty) 1485 (min-colors 88) 1486 (background dark)) 1487 (:foreground "color-62" :background "color-16")) 1488 (((type tty) 1489 (background dark)) 1490 (:foreground "white" :background "green")) 1491 (((type graphic) 1492 (background light)) 1493 (:foreground "#006600" :background "#d9ffd9")) 1494 (((type tty) 1495 (min-colors 16777216) 1496 (background light)) 1497 (:foreground "#006600" :background "#d9ffd9")) 1498 (((type tty) 1499 (min-colors 256) 1500 (background light)) 1501 (:foreground "color-22" :background "color-194")) 1502 (((type tty) 1503 (min-colors 88) 1504 (background light)) 1505 (:foreground "color-20" :background "color-62")) 1506 (((type tty) 1507 (background light)) 1508 (:foreground "black" :background "white"))) 1509 "Face used for displaying demo." 1510 :group 'wl-faces) 1511 1512(defface wl-highlight-logo-face 1513 '((((type graphic) 1514 (background dark)) 1515 (:foreground "SkyBlue" :background "#004400")) 1516 (((type tty) 1517 (min-colors 16777216) 1518 (background dark)) 1519 (:foreground "SkyBlue" :background "#004400")) 1520 (((type tty) 1521 (min-colors 256) 1522 (background dark)) 1523 (:foreground "color-116" :background "color-22")) 1524 (((type tty) 1525 (min-colors 88) 1526 (background dark)) 1527 (:foreground "color-43" :background "color-16")) 1528 (((type tty) 1529 (background dark)) 1530 (:foreground "cyan" :background "black")) 1531 (((type graphic) 1532 (background light)) 1533 (:foreground "SteelBlue" :background "#d9ffd9")) 1534 (((type tty) 1535 (min-colors 16777216) 1536 (background light)) 1537 (:foreground "SteelBlue" :background "#d9ffd9")) 1538 (((type tty) 1539 (min-colors 256) 1540 (background light)) 1541 (:foreground "color-67" :background "color-194")) 1542 (((type tty) 1543 (min-colors 88) 1544 (background light)) 1545 (:foreground "color-38" :background "color-62")) 1546 (((type tty) 1547 (background light)) 1548 (:foreground "cyan" :background "white"))) 1549 "Face used for displaying demo." 1550 :group 'wl-faces) 1551 1552(defface wl-highlight-action-argument-face 1553 '((((type graphic) 1554 (background dark)) 1555 (:foreground "pink")) 1556 (((type tty) 1557 (min-colors 16777216) 1558 (background dark)) 1559 (:foreground "pink")) 1560 (((type tty) 1561 (min-colors 256) 1562 (background dark)) 1563 (:foreground "color-218")) 1564 (((type tty) 1565 (min-colors 88) 1566 (background dark)) 1567 (:foreground "color-74")) 1568 (((type tty) 1569 (background dark)) 1570 (:foreground "magenta")) 1571 (((type graphic) 1572 (background light)) 1573 (:foreground "red")) 1574 (((type tty) 1575 (min-colors 16) 1576 (background light)) 1577 (:foreground "brightred")) 1578 (((type tty) 1579 (background light)) 1580 (:foreground "red"))) 1581 "Face used for displaying action argument." 1582 :group 'wl-summary-faces 1583 :group 'wl-faces) 1584 1585;; cited face 1586 1587(defface wl-highlight-message-cited-text-1 1588 '((((type graphic) 1589 (background dark)) 1590 (:foreground "HotPink1")) 1591 (((type tty) 1592 (min-colors 16777216) 1593 (background dark)) 1594 (:foreground "HotPink1")) 1595 (((type tty) 1596 (min-colors 256) 1597 (background dark)) 1598 (:foreground "color-205")) 1599 (((type tty) 1600 (min-colors 88) 1601 (background dark)) 1602 (:foreground "color-70")) 1603 (((type tty) 1604 (background dark)) 1605 (:foreground "magenta")) 1606 (((type graphic) 1607 (background light)) 1608 (:foreground "ForestGreen")) 1609 (((type tty) 1610 (min-colors 16777216) 1611 (background light)) 1612 (:foreground "ForestGreen")) 1613 (((type tty) 1614 (min-colors 256) 1615 (background light)) 1616 (:foreground "color-28")) 1617 (((type tty) 1618 (min-colors 88) 1619 (background light)) 1620 (:foreground "color-20")) 1621 (((type tty) 1622 (background light)) 1623 (:foreground "green"))) 1624 "Face used for displaying quoted text from other messages." 1625 :group 'wl-message-faces 1626 :group 'wl-faces) 1627 1628(defface wl-highlight-message-cited-text-2 1629 '((((type graphic)) 1630 (:foreground "violet")) 1631 (((type tty) 1632 (min-colors 16777216)) 1633 (:foreground "violet")) 1634 (((type tty) 1635 (min-colors 256)) 1636 (:foreground "color-213")) 1637 (((type tty) 1638 (min-colors 88)) 1639 (:foreground "color-71")) 1640 (((type tty)) 1641 (:foreground "red")) 1642 ) 1643 "Face used for displaying quoted text from other messages." 1644 :group 'wl-message-faces 1645 :group 'wl-faces) 1646 1647(defface wl-highlight-message-cited-text-3 1648 '((((type graphic)) 1649 (:foreground "orchid3")) 1650 (((type tty) 1651 (min-colors 16777216)) 1652 (:foreground "orchid3")) 1653 (((type tty) 1654 (min-colors 256)) 1655 (:foreground "color-170")) 1656 (((type tty) 1657 (min-colors 88)) 1658 (:foreground "color-54")) 1659 (((type tty)) 1660 (:foreground "magenta"))) 1661 "Face used for displaying quoted text from other messages." 1662 :group 'wl-message-faces 1663 :group 'wl-faces) 1664 1665(defface wl-highlight-message-cited-text-4 1666 '((((type graphic)) 1667 (:foreground "purple1")) 1668 (((type tty) 1669 (min-colors 16777216)) 1670 (:foreground "purple1")) 1671 (((type tty) 1672 (min-colors 256)) 1673 (:foreground "color-99")) 1674 (((type tty) 1675 (min-colors 88)) 1676 (:foreground "color-35")) 1677 (((type tty) 1678 (min-colors 16)) 1679 (:foreground "brightblue")) 1680 (((type tty)) 1681 (:foreground "cyan"))) 1682 "Face used for displaying quoted text from other messages." 1683 :group 'wl-message-faces 1684 :group 'wl-faces) 1685 1686(defface wl-highlight-message-cited-text-5 1687 '((((type graphic)) 1688 (:foreground "MediumPurple1")) 1689 (((type tty) 1690 (min-colors 16777216)) 1691 (:foreground "MediumPurple1")) 1692 (((type tty) 1693 (min-colors 256)) 1694 (:foreground "color-141")) 1695 (((type tty) 1696 (min-colors 88)) 1697 (:foreground "color-39")) 1698 (((type tty) 1699 (min-colors 16)) 1700 (:foreground "brightblue")) 1701 ;; (((type tty)) 1702 ;; (:foreground "white")) 1703 ) 1704 "Face used for displaying quoted text from other messages." 1705 :group 'wl-message-faces 1706 :group 'wl-faces) 1707 1708(defface wl-highlight-message-cited-text-6 1709 '((((type graphic)) 1710 (:foreground "PaleVioletRed")) 1711 (((type tty) 1712 (min-colors 16777216)) 1713 (:foreground "PaleVioletRed")) 1714 (((type tty) 1715 (min-colors 256)) 1716 (:foreground "color-168")) 1717 (((type tty)) 1718 (:foreground "magenta"))) 1719 "Face used for displaying quoted text from other messages." 1720 :group 'wl-message-faces 1721 :group 'wl-faces) 1722 1723(defface wl-highlight-message-cited-text-7 1724 '((((type graphic)) 1725 (:foreground "LightPink")) 1726 (((type tty) 1727 (min-colors 16777216)) 1728 (:foreground "LightPink")) 1729 (((type tty) 1730 (min-colors 256)) 1731 (:foreground "color-217")) 1732 (((type tty) 1733 (min-colors 88)) 1734 (:foreground "color-74")) 1735 ;; (((type tty)) 1736 ;; (:foreground "white")) 1737 ) 1738 "Face used for displaying quoted text from other messages." 1739 :group 'wl-message-faces 1740 :group 'wl-faces) 1741 1742(defface wl-highlight-message-cited-text-8 1743 '((((type graphic)) 1744 (:foreground "salmon")) 1745 (((type tty) 1746 (min-colors 16777216)) 1747 (:foreground "salmon")) 1748 (((type tty) 1749 (min-colors 256)) 1750 (:foreground "color-209")) 1751 (((type tty) 1752 (min-colors 88)) 1753 (:foreground "color-69")) 1754 (((type tty)) 1755 (:foreground "magenta"))) 1756 "Face used for displaying quoted text from other messages." 1757 :group 'wl-message-faces 1758 :group 'wl-faces) 1759 1760(defface wl-highlight-message-cited-text-9 1761 '((((type graphic)) 1762 (:foreground "SandyBrown")) 1763 (((type tty) 1764 (min-colors 16777216)) 1765 (:foreground "SandyBrown")) 1766 (((type tty) 1767 (min-colors 256)) 1768 (:foreground "color-215")) 1769 (((type tty) 1770 (min-colors 88)) 1771 (:foreground "color-69")) 1772 (((type tty)) 1773 (:foreground "yellow"))) 1774 "Face used for displaying quoted text from other messages." 1775 :group 'wl-message-faces 1776 :group 'wl-faces) 1777 1778(defface wl-highlight-message-cited-text-10 1779 '((((type graphic)) 1780 (:foreground "wheat")) 1781 (((type tty) 1782 (min-colors 16777216)) 1783 (:foreground "wheat")) 1784 (((type tty) 1785 (min-colors 256)) 1786 (:foreground "color-223")) 1787 (((type tty) 1788 (min-colors 88)) 1789 (:foreground "color-74")) 1790 ;; (((type tty)) 1791 ;; (:foreground "white")) 1792 ) 1793 "Face used for displaying quoted text from other messages." 1794 :group 'wl-message-faces 1795 :group 'wl-faces) 1796 1797(defface wl-message-header-narrowing-face 1798 '((((type graphic) 1799 (background dark)) 1800 (:foreground "white" :background "darkgoldenrod")) 1801 (((type tty) 1802 (min-colors 16777216) 1803 (background dark)) 1804 (:foreground "white" :background "darkgoldenrod")) 1805 (((type tty) 1806 (min-colors 256) 1807 (background dark)) 1808 (:foreground "brightwhite" :background "color-136")) 1809 (((type tty) 1810 (min-colors 88) 1811 (background dark)) 1812 (:foreground "brightwhite" :background "color-52")) 1813 (((type tty) 1814 (min-colors 16) 1815 (background dark)) 1816 (:foreground "brightwhite" :background "yellow")) 1817 (((type tty) 1818 (background dark)) 1819 (:foreground "cyan" :background "yellow")) 1820 (((type graphic) 1821 (background light)) 1822 (:foreground "black" :background "darkkhaki")) 1823 (((type tty) 1824 (min-colors 16777216) 1825 (background light)) 1826 (:foreground "black" :background "darkkhaki")) 1827 (((type tty) 1828 (min-colors 256) 1829 (background light)) 1830 (:foreground "black" :background "color-143")) 1831 (((type tty) 1832 (min-colors 88) 1833 (background light)) 1834 (:foreground "black" :background "color-57")) 1835 (((type tty) 1836 (background light)) 1837 (:foreground "black" :background "yellow"))) 1838 "Face used for header narrowing for the message." 1839 :group 'wl-message-faces 1840 :group 'wl-faces) 1841 1842(defvar wl-highlight-folder-opened-regexp "^ *\\(\\[\\-\\]\\)") 1843(defvar wl-highlight-folder-closed-regexp "^ *\\(\\[\\+\\]\\)") 1844(defvar wl-highlight-folder-leaf-regexp "[ ]*\\([-%\\+]\\)\\(.*\\):.*$") 1845 1846(defvar wl-highlight-citation-face-list 1847 '(wl-highlight-message-cited-text-1 1848 wl-highlight-message-cited-text-2 1849 wl-highlight-message-cited-text-3 1850 wl-highlight-message-cited-text-4 1851 wl-highlight-message-cited-text-5 1852 wl-highlight-message-cited-text-6 1853 wl-highlight-message-cited-text-7 1854 wl-highlight-message-cited-text-8 1855 wl-highlight-message-cited-text-9 1856 wl-highlight-message-cited-text-10)) 1857 1858(defun wl-delete-all-overlays () 1859 "Delete all momentary overlays." 1860 (let ((overlays (overlays-in (point-min) (point-max))) 1861 overlay) 1862 (while (setq overlay (car overlays)) 1863 (if (overlay-get overlay 'wl-momentary-overlay) 1864 (delete-overlay overlay)) 1865 (setq overlays (cdr overlays))))) 1866 1867(defun wl-highlight-summary-displaying () 1868 (interactive) 1869 (wl-delete-all-overlays) 1870 (let (bol eol ov) 1871 (save-excursion 1872 (end-of-line) 1873 (setq eol (point)) 1874 (beginning-of-line) 1875 (setq bol (point)) 1876 (setq ov (make-overlay bol eol)) 1877 (overlay-put ov 'face 'wl-highlight-summary-displaying-face) 1878 (overlay-put ov 'evaporate t) 1879 (overlay-put ov 'wl-momentary-overlay t)))) 1880 1881(defun wl-highlight-folder-group-line (numbers) 1882 (end-of-line) 1883 (let ((eol (point)) 1884 bol) 1885 (beginning-of-line) 1886 (setq bol (point)) 1887 (let ((text-face (cond ((looking-at wl-highlight-folder-opened-regexp) 1888 'wl-highlight-folder-opened-face) 1889 ((looking-at wl-highlight-folder-closed-regexp) 1890 'wl-highlight-folder-closed-face)))) 1891 (if (and wl-highlight-folder-by-numbers 1892 (re-search-forward "[0-9-]+/[0-9-]+/[0-9-]+" eol t)) 1893 (let* ((unsync (nth 0 numbers)) 1894 (unread (nth 1 numbers)) 1895 (face (cond ((and unsync (zerop unsync)) 1896 (if (and unread (> unread 0)) 1897 'wl-highlight-folder-unread-face 1898 'wl-highlight-folder-zero-face)) 1899 ((and unsync 1900 (>= unsync wl-folder-many-unsync-threshold)) 1901 'wl-highlight-folder-many-face) 1902 (t 1903 'wl-highlight-folder-few-face)))) 1904 (if (numberp wl-highlight-folder-by-numbers) 1905 (progn 1906 (put-text-property bol (match-beginning 0) 'face text-face) 1907 (put-text-property (match-beginning 0) (match-end 0) 1908 'face face)) 1909 ;; Remove previous face. 1910 (put-text-property bol (match-end 0) 'face nil) 1911 (put-text-property bol (match-end 0) 'face face))) 1912 (put-text-property bol eol 'face text-face))))) 1913 1914(defsubst wl-highlight-get-face-by-name (format &rest args) 1915 (let ((face (intern (apply #'format format args)))) 1916 (and (facep face) 1917 face))) 1918 1919(defsubst wl-highlight-summary-line-face-spec (status temp-mark indent) 1920 "Return a cons cell of (face . argument)." 1921 (or (let (action) 1922 (and (setq action (assoc temp-mark wl-summary-mark-action-list)) 1923 (cons (nth 5 action) (nth 2 action)))) 1924 (let ((flags (elmo-message-status-flags status))) 1925 (cond 1926 ((and (string= temp-mark wl-summary-score-over-mark) 1927 (or (memq 'new flags) (memq 'unread flags))) 1928 '(wl-highlight-summary-high-unread-face)) 1929 ((and (string= temp-mark wl-summary-score-below-mark) 1930 (or (memq 'new flags) (memq 'unread flags))) 1931 '(wl-highlight-summary-low-unread-face)) 1932 ((let ((priorities wl-summary-persistent-mark-priority-list) 1933 (fl wl-summary-flag-alist) 1934 result global-flags) 1935 (while (and (null result) priorities) 1936 (cond 1937 ((eq (car priorities) 'killed) 1938 (when (elmo-message-status-killed-p status) 1939 (setq result '(wl-highlight-summary-killed-face)))) 1940 ((eq (car priorities) 'flag) 1941 (when (setq global-flags 1942 (elmo-get-global-flags flags 'ignore-preserved)) 1943 (while fl 1944 (when (memq (car (car fl)) global-flags) 1945 (setq result 1946 (list (or (wl-highlight-get-face-by-name 1947 "wl-highlight-summary-%s-flag-face" 1948 (car (car fl))) 1949 'wl-highlight-summary-flagged-face)) 1950 fl nil)) 1951 (setq fl (cdr fl))) 1952 (unless result 1953 (setq result (list 'wl-highlight-summary-flagged-face))))) 1954 ((memq (car priorities) flags) 1955 (setq result 1956 (list (or (wl-highlight-get-face-by-name 1957 "wl-highlight-summary-%s-face" 1958 (car priorities)) 1959 'wl-summary-persistent-mark-face))))) 1960 (setq priorities (cdr priorities))) 1961 result)) 1962 ((string= temp-mark wl-summary-score-below-mark) 1963 '(wl-highlight-summary-low-read-face)) 1964 ((string= temp-mark wl-summary-score-over-mark) 1965 '(wl-highlight-summary-high-read-face)) 1966 (t (if indent 1967 '(wl-highlight-summary-normal-face) 1968 '(wl-highlight-summary-thread-top-face))))))) 1969 1970(autoload 'elmo-flag-folder-referrer "elmo-flag") 1971(defun wl-highlight-flag-folder-help-echo (folder number) 1972 (let ((referer (elmo-flag-folder-referrer folder number))) 1973 (concat "The message exists in " 1974 (mapconcat 1975 (lambda (pair) 1976 (concat (car pair) "/" 1977 (number-to-string 1978 (cdr pair)))) 1979 referer ",")))) 1980 1981(require 'wl-summary) 1982(defun wl-highlight-summary-line-help-echo (number beg end &optional string) 1983 (let ((type (elmo-folder-type-internal wl-summary-buffer-elmo-folder)) 1984 message handler) 1985 (when (setq handler (cadr (assq type wl-highlight-summary-line-help-echo-alist))) 1986 (setq message 1987 (funcall handler wl-summary-buffer-elmo-folder number)) 1988 (if message 1989 (put-text-property beg end 'help-echo 1990 message 1991 string))))) 1992 1993(defun wl-highlight-summary-line-string (number line status temp-mark indent) 1994 (let ((fsymbol (car (wl-highlight-summary-line-face-spec 1995 status 1996 temp-mark 1997 (> (length indent) 0))))) 1998 (put-text-property 0 (length line) 'face fsymbol line)) 1999 (when wl-use-highlight-mouse-line 2000 (put-text-property 0 (length line) 'mouse-face 'highlight line)) 2001 (when wl-highlight-summary-line-help-echo-alist 2002 (wl-highlight-summary-line-help-echo number 0 (length line) line))) 2003 2004(defun wl-highlight-summary-current-line (&optional number status) 2005 (interactive) 2006 (save-excursion 2007 (let ((inhibit-read-only t) 2008 (case-fold-search nil) 2009 (deactivate-mark nil) 2010 (number (or number (wl-summary-message-number))) 2011 bol eol spec) 2012 (when number 2013 (setq bol (line-beginning-position)) 2014 (setq eol (line-end-position)) 2015 (wl-summary-selective-display eol bol) 2016 (goto-char bol) 2017 (setq spec (wl-highlight-summary-line-face-spec 2018 (or status (wl-summary-message-status number)) 2019 (wl-summary-temp-mark number) 2020 (wl-thread-entity-get-parent-entity 2021 (wl-thread-get-entity number)))) 2022 (when (car spec) 2023 (put-text-property bol eol 'face (car spec))) 2024 (when (cdr spec) 2025 (put-text-property (next-single-property-change 2026 (next-single-property-change 2027 bol 'wl-summary-action-argument 2028 nil eol) 2029 'wl-summary-action-argument nil eol) 2030 eol 2031 'face 2032 'wl-highlight-action-argument-face)) 2033 (when wl-use-highlight-mouse-line 2034 (put-text-property bol eol 'mouse-face 'highlight)) 2035 (when wl-highlight-summary-line-help-echo-alist 2036 (wl-highlight-summary-line-help-echo number bol eol)))))) 2037 2038(defun wl-highlight-folder (start end) 2039 "Highlight folder between start and end. 2040Faces used: 2041 wl-highlight-folder-unknown-face unread messages 2042 wl-highlight-folder-zero-face folder needs no sync 2043 wl-highlight-folder-few-face folder contains few unsync messages 2044 wl-highlight-folder-many-face folder contains many unsync messages 2045 wl-highlight-folder-opened-face opened group folder 2046 wl-highlight-folder-closed-face closed group folder 2047 2048Variables used: 2049 wl-highlight-folder-opened-regexp matches opened group folder 2050 wl-highlight-folder-closed-regexp matches closed group folder 2051" 2052 (interactive "r") 2053 (if (< end start) 2054 (let ((s start)) (setq start end end s))) 2055 (save-excursion 2056 (save-restriction 2057 (widen) 2058 (narrow-to-region start end) 2059 (save-restriction 2060 (goto-char start) 2061 (while (not (eobp)) 2062 (wl-highlight-folder-current-line) 2063 (forward-line)))))) 2064 2065(require 'wl-folder) 2066(defun wl-highlight-folder-path (folder-path) 2067 "Highlight current folder path...overlay" 2068 (save-excursion 2069 (wl-delete-all-overlays) 2070 (let ((fp folder-path) ov) 2071 (goto-char (point-min)) 2072 (while (and fp 2073 (not (eobp))) 2074 (beginning-of-line) 2075 (or (looking-at "^[ ]*\\[[\\+-]\\]\\(.+\\):.*\n") 2076 (looking-at "^[ ]*\\([^ \\[].+\\):.*\n")) 2077 (when (equal 2078 (get-text-property (point) 'wl-folder-entity-id) 2079 (car fp)) 2080 (setq fp (cdr fp)) 2081 (setq ov (make-overlay 2082 (match-beginning 1) 2083 (match-end 1))) 2084 (setq wl-folder-buffer-cur-point (point)) 2085 (overlay-put ov 'face 'wl-highlight-folder-path-face) 2086 (overlay-put ov 'evaporate t) 2087 (overlay-put ov 'wl-momentary-overlay t)) 2088 (forward-line))))) 2089 2090(defun wl-highlight-action-argument-string (string) 2091 (put-text-property 0 (length string) 'face 2092 'wl-highlight-action-argument-face 2093 string)) 2094 2095(defun wl-highlight-summary-all () 2096 "For evaluation" 2097 (interactive) 2098 (wl-highlight-summary (point-min)(point-max))) 2099 2100(defun wl-highlight-summary (start end &optional lazy) 2101 "Highlight summary between start and end. 2102Faces used: 2103 wl-highlight-summary-unread-face unread messages 2104 wl-highlight-summary-deleted-face messages mark as deleted 2105 wl-highlight-summary-refiled-face messages mark as refiled 2106 wl-highlight-summary-copied-face messages mark as copied 2107 wl-highlight-summary-new-face new messages 2108 wl-highlight-summary-*-flag-face flagged messages" 2109 (if (< end start) 2110 (let ((s start)) (setq start end end s))) 2111 (save-excursion 2112 (goto-char start) 2113 (while (and (not (eobp)) 2114 (< (point) end)) 2115 (if (or (not lazy) 2116 (null (get-text-property (point) 'face))) 2117 (wl-highlight-summary-current-line) 2118 (let ((inhibit-read-only t) 2119 (deactivate-mark nil)) 2120 (wl-summary-selective-display (line-end-position)))) 2121 (forward-line)) 2122 (unless wl-summary-lazy-highlight 2123 (message "Highlighting...done")))) 2124 2125(defun wl-highlight-summary-window (&optional win _beg) 2126 "Highlight summary window. 2127This function is defined for `window-scroll-functions'" 2128 (when wl-summary-highlight 2129 (with-current-buffer (window-buffer win) 2130 (when (eq major-mode 'wl-summary-mode) 2131 (let ((start (window-start win)) 2132 (end (window-end win t))) 2133 (wl-highlight-summary start 2134 end 2135 'lazy)) 2136 (set-buffer-modified-p nil))))) 2137 2138(defun wl-highlight-headers (&optional for-draft) 2139 (let ((beg (point-min)) 2140 (end (or (save-excursion (re-search-forward "^$" nil t) 2141 (point)) 2142 (point-max)))) 2143 (wl-highlight-message beg end nil) 2144 (unless for-draft 2145 (when wl-highlight-x-face-function 2146 (funcall wl-highlight-x-face-function))) 2147 (run-hooks 'wl-highlight-headers-hook))) 2148 2149(defun wl-highlight-body-all () 2150 (wl-highlight-message (point-min) (point-max) t t)) 2151 2152(defun wl-highlight-body () 2153 (let ((beg (or (save-excursion (goto-char (point-min)) 2154 (re-search-forward "^$" nil t)) 2155 (point-min))) 2156 (end (point-max))) 2157 (wl-highlight-message beg end t))) 2158 2159(defun wl-highlight-body-region (beg end) 2160 (wl-highlight-message beg end t t)) 2161 2162(defun wl-highlight-signature-search-simple (beg end) 2163 "Search signature area in the body message between BEG and END. 2164Returns start point of signature." 2165 (save-excursion 2166 (goto-char end) 2167 (if (re-search-backward "\n--+ *\n" beg t) 2168 (if (eq (following-char) ?\n) 2169 (1+ (point)) 2170 (point)) 2171 end))) 2172 2173(defun wl-highlight-signature-search (beg end) 2174 "Search signature area in the body message between BEG and END. 2175Returns start point of signature." 2176 (save-excursion 2177 (goto-char end) 2178 (or 2179 ;; look for legal signature separator (check at first for fasten) 2180 (search-backward "\n-- \n" beg t) 2181 2182 ;; look for dual separator 2183 (let ((pt (point)) 2184 separator) 2185 (prog1 2186 (and (re-search-backward "^[^A-Za-z0-9> \t\n]+ *$" beg t) 2187 ;; `10' is a magic number. 2188 (> (- (match-end 0) (match-beginning 0)) 10) 2189 (setq separator (buffer-substring (match-beginning 0) 2190 (match-end 0))) 2191 ;; We should not use `re-search-backward' for a long word 2192 ;; since it is possible to crash XEmacs because of a bug. 2193 (if (search-backward (concat "\n" separator "\n") beg t) 2194 (1+ (point)) 2195 (and (search-backward (concat separator "\n") beg t) 2196 (bolp) 2197 (point)))) 2198 (goto-char pt))) 2199 2200 ;; look for user specified signature-separator 2201 (if (stringp wl-highlight-signature-separator) 2202 (re-search-backward wl-highlight-signature-separator nil t);; case one string 2203 (let ((sep wl-highlight-signature-separator)) ;; case list 2204 (while (and sep 2205 (not (re-search-backward (car sep) beg t))) 2206 (setq sep (cdr sep))) 2207 (point))) ;; if no separator found, returns end. 2208 ))) 2209 2210(defun wl-highlight-citation-prefix-index (prefix) 2211 "Return a face index for a given citation prefix" 2212 (apply '+ (mapcar (lambda (ch) 2213 (cond 2214 ((memq ch '(?> ?| ?: ?})) 1) 2215 ((memq ch '(9 32)) 0) 2216 (t ch))) 2217 prefix))) 2218 2219(defun wl-highlight-message (start end hack-sig &optional body-only) 2220 "Highlight message headers between start and end. 2221Faces used: 2222 wl-highlight-message-headers the part before the colon 2223 wl-highlight-message-header-contents the part after the colon 2224 wl-highlight-message-important-header-contents contents of \"important\" 2225 headers 2226 wl-highlight-message-important-header-contents2 contents of \"important\" 2227 headers 2228 wl-highlight-message-unimportant-header-contents contents of unimportant 2229 headers 2230 wl-highlight-message-cited-text-N quoted text from other 2231 messages 2232 wl-highlight-message-citation-header header of quoted texts 2233 wl-highlight-message-signature signature 2234 2235Variables used: 2236 wl-highlight-message-header-alist alist of header regexp with 2237 face for header contents 2238 wl-highlight-citation-prefix-regexp matches lines of quoted text 2239 wl-highlight-force-citation-header-regexp matches headers for quoted text 2240 wl-highlight-citation-header-regexp matches headers for quoted text 2241 2242If HACK-SIG is true,then we search backward from END for something that 2243looks like the beginning of a signature block, and don't consider that a 2244part of the message (this is because signatures are often incorrectly 2245interpreted as cited text.)" 2246 (if (< end start) 2247 (let ((s start)) (setq start end end s))) 2248 (let ((too-big (and wl-highlight-max-message-size 2249 (> (- end start) wl-highlight-max-message-size))) 2250 (real-end end) 2251 current 2252 p hend 2253 wl-draft-real-time-highlight) 2254 (unless too-big 2255 (save-excursion 2256 (save-restriction 2257 (widen) 2258 ;; take off signature 2259 (when hack-sig 2260 (setq end (funcall wl-highlight-signature-search-function 2261 (- end wl-max-signature-size) end)) 2262 (when (not (eq end real-end)) 2263 (put-text-property end (point-max) 2264 'face 'wl-highlight-message-signature))) 2265 (narrow-to-region start end) 2266 ;; narrow down to just the headers... 2267 (goto-char start) 2268 (unless body-only 2269 (save-restriction 2270 ;; If this search fails then the narrowing performed above 2271 ;; is sufficient 2272 (if (re-search-forward 2273 (format "^\\(%s\\)?$" (regexp-quote mail-header-separator)) 2274 nil t) 2275 (narrow-to-region (point-min) (match-beginning 0))) 2276 ;; highlight only when header is not too-big. 2277 (if (and wl-highlight-max-header-size 2278 (>= (point) wl-highlight-max-header-size)) 2279 (goto-char (point-max)) 2280 (goto-char start) 2281 (while (not (eobp)) 2282 (if (looking-at "^[^ \t\n:]+[ \t]*:[ \t]*") 2283 (progn 2284 (setq p (match-end 0)) 2285 (put-text-property (match-beginning 0) p 2286 'face 'wl-highlight-message-headers) 2287 (setq hend (save-excursion (std11-field-end end))) 2288 (put-text-property 2289 p hend 'face 2290 (catch 'match 2291 (let ((regexp-alist wl-highlight-message-header-alist)) 2292 (while regexp-alist 2293 (when (looking-at (caar regexp-alist)) 2294 (throw 'match (cdar regexp-alist))) 2295 (setq regexp-alist (cdr regexp-alist)))) 2296 'wl-highlight-message-header-contents)) 2297 (goto-char hend)) 2298 ;; ignore non-header field name lines 2299 (forward-line)))))) 2300 (when (looking-at 2301 (format "^%s$" (regexp-quote mail-header-separator))) 2302 (put-text-property (match-beginning 0) (match-end 0) 2303 'face 'wl-highlight-header-separator-face) 2304 (forward-line)) 2305 (let (prefix end) 2306 (while (null (progn 2307 ;; Skip invisible region. 2308 (when (invisible-p (point)) 2309 (goto-char (next-visible-point (point)))) 2310 (eobp))) 2311 (cond 2312 ((and wl-highlight-force-citation-header-regexp 2313 (looking-at wl-highlight-force-citation-header-regexp)) 2314 (setq current 'wl-highlight-message-citation-header) 2315 (setq end (match-end 0))) 2316 ((and wl-highlight-citation-prefix-regexp 2317 (looking-at wl-highlight-citation-prefix-regexp)) 2318 (setq prefix (buffer-substring (point) 2319 (match-end 0))) 2320 (unless wl-highlight-highlight-citation-too 2321 (goto-char (match-end 0))) 2322 (setq current 2323 (nth (% (wl-highlight-citation-prefix-index prefix) 2324 (length wl-highlight-citation-face-list)) 2325 wl-highlight-citation-face-list))) 2326 ((and wl-highlight-citation-header-regexp 2327 (looking-at wl-highlight-citation-header-regexp)) 2328 (setq current 'wl-highlight-message-citation-header) 2329 (setq end (match-end 0))) 2330 (t (setq current nil))) 2331 (when current 2332 (setq p (point)) 2333 (forward-line) ; this is to put the \n in the face too 2334 (put-text-property p (or end (point)) 'face current) 2335 (setq end nil) 2336 (backward-char)) 2337 (forward-line))) 2338 (run-hooks 'wl-highlight-message-hook)))))) 2339 2340;; highlight-mouse-line for folder mode 2341 2342(defun wl-highlight-folder-mouse-line () 2343 (interactive) 2344 (let* ((end (save-excursion (end-of-line) (point))) 2345 (beg (progn 2346 (re-search-forward "[^ ]" end t) 2347 (1- (point)))) 2348 (inhibit-read-only t)) 2349 (put-text-property beg end 'mouse-face 'highlight))) 2350 2351 2352(require 'product) 2353(product-provide (provide 'wl-highlight) (require 'wl-version)) 2354 2355;;; wl-highlight.el ends here 2356