emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/progmodes/prolog.el


From: Thien-Thi Nguyen
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/prolog.el
Date: Fri, 31 May 2002 20:53:42 -0400

Index: emacs/lisp/progmodes/prolog.el
diff -c emacs/lisp/progmodes/prolog.el:1.16 emacs/lisp/progmodes/prolog.el:1.17
*** emacs/lisp/progmodes/prolog.el:1.16 Wed Dec  3 23:28:41 1997
--- emacs/lisp/progmodes/prolog.el      Fri May 31 20:53:42 2002
***************
*** 26,32 ****
  
  ;; This package provides a major mode for editing Prolog.  It knows
  ;; about Prolog syntax and comments, and can send regions to an inferior
! ;; Prolog interpreter process.
  
  ;;; Code:
  
--- 26,32 ----
  
  ;; This package provides a major mode for editing Prolog.  It knows
  ;; about Prolog syntax and comments, and can send regions to an inferior
! ;; Prolog interpreter process.  Font locking is tuned towards GNU Prolog.
  
  ;;; Code:
  
***************
*** 38,44 ****
    "Major mode for editing and running Prolog under Emacs"
    :group 'languages)
  
!   
  (defcustom prolog-program-name "prolog"
    "*Program name for invoking an inferior Prolog with `run-prolog'."
    :type 'string
--- 38,44 ----
    "Major mode for editing and running Prolog under Emacs"
    :group 'languages)
  
! 
  (defcustom prolog-program-name "prolog"
    "*Program name for invoking an inferior Prolog with `run-prolog'."
    :type 'string
***************
*** 65,77 ****
    :type 'integer
    :group 'prolog)
  
  (if prolog-mode-syntax-table
      ()
    (let ((table (make-syntax-table)))
      (modify-syntax-entry ?_ "w" table)
      (modify-syntax-entry ?\\ "\\" table)
!     (modify-syntax-entry ?/ "." table)
!     (modify-syntax-entry ?* "." table)
      (modify-syntax-entry ?+ "." table)
      (modify-syntax-entry ?- "." table)
      (modify-syntax-entry ?= "." table)
--- 65,87 ----
    :type 'integer
    :group 'prolog)
  
+ (defvar prolog-font-lock-keywords
+   '(("\\(#[<=]=>\\|:-\\)\\|\\(#=\\)\\|\\(#[#<>\\/][=\\/]*\\|!\\)"
+      0 font-lock-keyword-face)
+     ("\\<\\(is\\|write\\|nl\\|read_\\sw+\\)\\>"
+      1 font-lock-keyword-face)
+     ("^\\(\\sw+\\)\\s-*\\((\\(.+\\))\\)*"
+      (1 font-lock-function-name-face)
+      (3 font-lock-variable-name-face)))
+   "Font-lock keywords for Prolog mode.")
+ 
  (if prolog-mode-syntax-table
      ()
    (let ((table (make-syntax-table)))
      (modify-syntax-entry ?_ "w" table)
      (modify-syntax-entry ?\\ "\\" table)
!     (modify-syntax-entry ?/ ". 14" table)
!     (modify-syntax-entry ?* ". 23" table)
      (modify-syntax-entry ?+ "." table)
      (modify-syntax-entry ?- "." table)
      (modify-syntax-entry ?= "." table)
***************
*** 129,134 ****
--- 139,148 ----
    (setq major-mode 'prolog-mode)
    (setq mode-name "Prolog")
    (prolog-mode-variables)
+   ;; font lock
+   (setq font-lock-defaults '(prolog-font-lock-keywords
+                              nil nil nil
+                              beginning-of-line))
    (run-hooks 'prolog-mode-hook))
  
  (defun prolog-indent-line (&optional whole-exp)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]