/[emacs]/emacs/lisp/progmodes/prolog.el
ViewVC logotype

Diff of /emacs/lisp/progmodes/prolog.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.16 by kwzh, Thu Dec 4 04:28:41 1997 UTC revision 1.17 by ttn, Sat Jun 1 00:53:42 2002 UTC
# Line 26  Line 26 
26    
27  ;; This package provides a major mode for editing Prolog.  It knows  ;; This package provides a major mode for editing Prolog.  It knows
28  ;; about Prolog syntax and comments, and can send regions to an inferior  ;; about Prolog syntax and comments, and can send regions to an inferior
29  ;; Prolog interpreter process.  ;; Prolog interpreter process.  Font locking is tuned towards GNU Prolog.
30    
31  ;;; Code:  ;;; Code:
32    
# Line 38  Line 38 
38    "Major mode for editing and running Prolog under Emacs"    "Major mode for editing and running Prolog under Emacs"
39    :group 'languages)    :group 'languages)
40    
41      
42  (defcustom prolog-program-name "prolog"  (defcustom prolog-program-name "prolog"
43    "*Program name for invoking an inferior Prolog with `run-prolog'."    "*Program name for invoking an inferior Prolog with `run-prolog'."
44    :type 'string    :type 'string
# Line 65  nil means send actual operating system e Line 65  nil means send actual operating system e
65    :type 'integer    :type 'integer
66    :group 'prolog)    :group 'prolog)
67    
68    (defvar prolog-font-lock-keywords
69      '(("\\(#[<=]=>\\|:-\\)\\|\\(#=\\)\\|\\(#[#<>\\/][=\\/]*\\|!\\)"
70         0 font-lock-keyword-face)
71        ("\\<\\(is\\|write\\|nl\\|read_\\sw+\\)\\>"
72         1 font-lock-keyword-face)
73        ("^\\(\\sw+\\)\\s-*\\((\\(.+\\))\\)*"
74         (1 font-lock-function-name-face)
75         (3 font-lock-variable-name-face)))
76      "Font-lock keywords for Prolog mode.")
77    
78  (if prolog-mode-syntax-table  (if prolog-mode-syntax-table
79      ()      ()
80    (let ((table (make-syntax-table)))    (let ((table (make-syntax-table)))
81      (modify-syntax-entry ?_ "w" table)      (modify-syntax-entry ?_ "w" table)
82      (modify-syntax-entry ?\\ "\\" table)      (modify-syntax-entry ?\\ "\\" table)
83      (modify-syntax-entry ?/ "." table)      (modify-syntax-entry ?/ ". 14" table)
84      (modify-syntax-entry ?* "." table)      (modify-syntax-entry ?* ". 23" table)
85      (modify-syntax-entry ?+ "." table)      (modify-syntax-entry ?+ "." table)
86      (modify-syntax-entry ?- "." table)      (modify-syntax-entry ?- "." table)
87      (modify-syntax-entry ?= "." table)      (modify-syntax-entry ?= "." table)
# Line 129  if that value is non-nil." Line 139  if that value is non-nil."
139    (setq major-mode 'prolog-mode)    (setq major-mode 'prolog-mode)
140    (setq mode-name "Prolog")    (setq mode-name "Prolog")
141    (prolog-mode-variables)    (prolog-mode-variables)
142      ;; font lock
143      (setq font-lock-defaults '(prolog-font-lock-keywords
144                                 nil nil nil
145                                 beginning-of-line))
146    (run-hooks 'prolog-mode-hook))    (run-hooks 'prolog-mode-hook))
147    
148  (defun prolog-indent-line (&optional whole-exp)  (defun prolog-indent-line (&optional whole-exp)

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26