Commit f614a1ae authored by Thien-Thi Nguyen's avatar Thien-Thi Nguyen
Browse files

(prolog-mode-syntax-table): Add flags to ?/ and ?* entries

to support /* */ style comments.
(prolog-font-lock-keywords): New var.
(prolog-mode): Enable font-locking; set `font-lock-defaults'.
parent ba36181b
2002-06-01 Thien-Thi Nguyen <ttn@gnu.org>
* progmodes/prolog.el (prolog-mode-syntax-table): Add flags to
?/ and ?* entries to support /* */ style comments.
(prolog-font-lock-keywords): New var.
(prolog-mode): Enable font-locking; set `font-lock-defaults'.
2002-06-01 Kim F. Storm <storm@cua.dk>
* simple.el (choose-completion-string-functions): New special hook.
......@@ -33,7 +40,7 @@
* menu-bar.el (menu-bar-showhide-fringe-menu): Use defvar.
* subr.el (open-network-stream, open-network-stream-nowait)
* subr.el (open-network-stream, open-network-stream-nowait)
(open-network-stream-server, process-kill-without-query):
Moved from simple.el.
......@@ -174,8 +181,8 @@
2002-05-25 Miles Bader <miles@gnu.org>
* menu-bar.el (menu-bar-showhide-fringe-menu-customize-left)
(menu-bar-showhide-fringe-menu-customize-right)
* menu-bar.el (menu-bar-showhide-fringe-menu-customize-left)
(menu-bar-showhide-fringe-menu-customize-right)
(menu-bar-showhide-fringe-menu-customize-disable):
Use proper calling convention for `customize-set-value'.
Require `fringe' before setting variable.
......@@ -2493,7 +2500,7 @@
prefix from scroll commands. Ignore end-of-buffer errors from
other windows.
(scroll-all-check-to-scroll): Remove `fkey-' prefix from scroll
commands.
commands.
(scroll-all-beginning-of-buffer-all, scroll-all-end-of-buffer-all):
New functions.
......
......@@ -26,7 +26,7 @@
;; 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.
;; Prolog interpreter process. Font locking is tuned towards GNU Prolog.
;;; Code:
......@@ -38,7 +38,7 @@
"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,13 +65,23 @@ nil means send actual operating system end of file."
: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 ?/ "." 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,6 +139,10 @@ if that value is non-nil."
(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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment