X-Git-Url: http://cgit.sxemacs.org/?p=gnus;a=blobdiff_plain;f=lisp%2Fsieve-mode.el;h=ffa50e6caa97f9a1d3184d9f630fc9aa5b6c80fc;hp=e4945c9431d63d015a0be3079bcd34387e660abd;hb=d33ef478be22b74e27696dc88409a6ec6b7c46c3;hpb=5aa60b7049d81f345b25ceff42cfe5def75980e9 diff --git a/lisp/sieve-mode.el b/lisp/sieve-mode.el index e4945c943..ffa50e6ca 100644 --- a/lisp/sieve-mode.el +++ b/lisp/sieve-mode.el @@ -1,24 +1,23 @@ ;;; sieve-mode.el --- Sieve code editing commands for Emacs -;; Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +;; Copyright (C) 2001-2015 Free Software Foundation, Inc. ;; Author: Simon Josefsson ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -49,8 +48,6 @@ (autoload 'sieve-manage "sieve") (autoload 'sieve-upload "sieve") -(autoload 'c-mode "cc-mode") -(require 'easymenu) (eval-when-compile (require 'font-lock)) @@ -65,32 +62,40 @@ ;; Font-lock -(defvar sieve-control-commands-face 'sieve-control-commands-face +(defvar sieve-control-commands-face 'sieve-control-commands "Face name used for Sieve Control Commands.") -(defface sieve-control-commands-face +(defface sieve-control-commands '((((type tty) (class color)) (:foreground "blue" :weight light)) (((class grayscale) (background light)) (:foreground "LightGray" :bold t)) (((class grayscale) (background dark)) (:foreground "DimGray" :bold t)) (((class color) (background light)) (:foreground "Orchid")) (((class color) (background dark)) (:foreground "LightSteelBlue")) (t (:bold t))) - "Face used for Sieve Control Commands.") + "Face used for Sieve Control Commands." + :group 'sieve) +;; backward-compatibility alias +(put 'sieve-control-commands-face 'face-alias 'sieve-control-commands) +(put 'sieve-control-commands-face 'obsolete-face "22.1") -(defvar sieve-action-commands-face 'sieve-action-commands-face +(defvar sieve-action-commands-face 'sieve-action-commands "Face name used for Sieve Action Commands.") -(defface sieve-action-commands-face +(defface sieve-action-commands '((((type tty) (class color)) (:foreground "blue" :weight bold)) (((class color) (background light)) (:foreground "Blue")) (((class color) (background dark)) (:foreground "LightSkyBlue")) (t (:inverse-video t :bold t))) - "Face used for Sieve Action Commands.") + "Face used for Sieve Action Commands." + :group 'sieve) +;; backward-compatibility alias +(put 'sieve-action-commands-face 'face-alias 'sieve-action-commands) +(put 'sieve-action-commands-face 'obsolete-face "22.1") -(defvar sieve-test-commands-face 'sieve-test-commands-face +(defvar sieve-test-commands-face 'sieve-test-commands "Face name used for Sieve Test Commands.") -(defface sieve-test-commands-face +(defface sieve-test-commands '((((type tty) (class color)) (:foreground "magenta")) (((class grayscale) (background light)) (:foreground "LightGray" :bold t :underline t)) @@ -99,33 +104,45 @@ (((class color) (background light)) (:foreground "CadetBlue")) (((class color) (background dark)) (:foreground "Aquamarine")) (t (:bold t :underline t))) - "Face used for Sieve Test Commands.") + "Face used for Sieve Test Commands." + :group 'sieve) +;; backward-compatibility alias +(put 'sieve-test-commands-face 'face-alias 'sieve-test-commands) +(put 'sieve-test-commands-face 'obsolete-face "22.1") -(defvar sieve-tagged-arguments-face 'sieve-tagged-arguments-face +(defvar sieve-tagged-arguments-face 'sieve-tagged-arguments "Face name used for Sieve Tagged Arguments.") -(defface sieve-tagged-arguments-face +(defface sieve-tagged-arguments '((((type tty) (class color)) (:foreground "cyan" :weight bold)) (((class grayscale) (background light)) (:foreground "LightGray" :bold t)) (((class grayscale) (background dark)) (:foreground "DimGray" :bold t)) (((class color) (background light)) (:foreground "Purple")) (((class color) (background dark)) (:foreground "Cyan")) (t (:bold t))) - "Face used for Sieve Tagged Arguments.") + "Face used for Sieve Tagged Arguments." + :group 'sieve) +;; backward-compatibility alias +(put 'sieve-tagged-arguments-face 'face-alias 'sieve-tagged-arguments) +(put 'sieve-tagged-arguments-face 'obsolete-face "22.1") (defconst sieve-font-lock-keywords (eval-when-compile (list ;; control commands - (cons (regexp-opt '("require" "if" "else" "elsif" "stop")) + (cons (regexp-opt '("require" "if" "else" "elsif" "stop") + 'words) 'sieve-control-commands-face) ;; action commands - (cons (regexp-opt '("fileinto" "redirect" "reject" "keep" "discard")) + (cons (regexp-opt '("fileinto" "redirect" "reject" "keep" "discard") + 'words) 'sieve-action-commands-face) ;; test commands (cons (regexp-opt '("address" "allof" "anyof" "exists" "false" - "true" "header" "not" "size" "envelope")) + "true" "header" "not" "size" "envelope" + "body") + 'words) 'sieve-test-commands-face) (cons "\\Sw+:\\sw+" 'sieve-tagged-arguments-face)))) @@ -160,7 +177,7 @@ (defvar sieve-mode-map (let ((map (make-sparse-keymap))) (define-key map "\C-c\C-l" 'sieve-upload) - (define-key map "\C-c\C-c" 'sieve-upload-and-bury) + (define-key map "\C-c\C-c" 'sieve-upload-and-kill) (define-key map "\C-c\C-m" 'sieve-manage) map) "Key map used in sieve mode.") @@ -171,6 +188,7 @@ "Menubar used in sieve mode.") ;; Code for Sieve editing mode. +(autoload 'easy-menu-add-item "easymenu") ;;;###autoload (define-derived-mode sieve-mode c-mode "Sieve"