version 1.36, 1999/11/20 12:12:52
|
version 1.45, 2000/11/16 09:39:51
|
Line 1
|
Line 1
|
;; Forth mode for Emacs |
;; Forth mode for Emacs |
|
|
;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. |
;; Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. |
|
|
;; This file is part of Gforth. |
;; This file is part of Gforth. |
|
|
Line 160 OBS! All words in forth-negatives must b
|
Line 160 OBS! All words in forth-negatives must b
|
(setq comment-column 40) |
(setq comment-column 40) |
(make-local-variable 'comment-start-skip) |
(make-local-variable 'comment-start-skip) |
(setq comment-start-skip "\\ ") |
(setq comment-start-skip "\\ ") |
(make-local-variable 'comment-indent-hook) |
(make-local-hook 'comment-indent-hook) |
(setq comment-indent-hook 'forth-comment-indent) |
(add-hook comment-indent-hook 'forth-comment-indent) |
(make-local-variable 'parse-sexp-ignore-comments) |
(make-local-variable 'parse-sexp-ignore-comments) |
(setq parse-sexp-ignore-comments t)) |
(setq parse-sexp-ignore-comments t)) |
|
|
Line 241 Variables controling documentation searc
|
Line 241 Variables controling documentation searc
|
; (run-forth forth-program-name)) |
; (run-forth forth-program-name)) |
(run-hooks 'forth-mode-hook)) |
(run-hooks 'forth-mode-hook)) |
|
|
(setq forth-mode-hook |
(add-hook 'forth-mode-hook |
'(lambda () |
'(lambda () |
(make-local-variable 'compile-command) |
(make-local-variable 'compile-command) |
(setq compile-command "gforth "))) |
(setq compile-command "gforth "))) |
Line 990 The region is sent terminated by a newli
|
Line 990 The region is sent terminated by a newli
|
; (define-key global-map '(shift button3) 'mouse-function-menu) |
; (define-key global-map '(shift button3) 'mouse-function-menu) |
)) |
)) |
|
|
|
;;; Highlighting |
|
|
|
(cond ((featurep 'hilit19) |
|
(if (not (file-exists-p "/usr/share/emacs/site-lisp/hl319.el")) |
|
(require 'hilit19) |
|
(require 'hl319)) |
|
|
|
(hilit-set-mode-patterns |
|
'(forth-mode) |
|
(append |
|
'(("\\\\ \\(.*\\)$" nil comment)) ; comments |
|
'(("\\\\[gG] \\(.*\\)$" nil comment)) ; comments |
|
'(("(\\( [^)\n]* \\| \\)--\\( [^)\n]* \\| \\))" nil decl)) |
|
'(("( " ")" comment)) |
|
'(("\" [^\"\n]*\"" nil string)) |
|
'(("\\(\\[IF]\\|\\[IFDEF]\\|\\[IFUNDEF]\\|\\[ELSE]\\|\\[THEN]\\|IF\\|ELSE\\|THEN\\|CASE\\|ENDCASE\\|OF\\|ENDOF\\|BEGIN\\|WHILE\\|REPEAT\\|UNTIL\\|AGAIN\\|DOES>\\|?DO\\|DO\\|\+LOOP\\|UNLOOP\\|LOOP\\|EXIT\\)" nil keyword)) |
|
'(("\\(\\[if]\\|\\[ifdef]\\|\\[ifundef]\\|\\[else]\\|\\[then]\\|if\\|else\\|then\\|case\\|endcase\\|of\\|endof\\|begin\\|while\\|repeat\\|until\\|again\\|does>\\|?do\\|do\\|\+loop\\|unloop\\|loop\\|exit\\)" nil keyword)) |
|
'((": *[^ \n]*" nil defun)) |
|
'(("Defer *[^ \n]*" nil defun)) |
|
'(("\\(Variable\\|Constant\\|Value\\|Create\\) *[^ \n]*" nil define)) |
|
'(("\\(include\\|require\\) *[^ \n]*" nil include)) |
|
'(("[\n ]\\(\\$[0-9A-Fa-f]+[\n ]\\|&[0-9]+[\n ]\\|[0-9]+[\n ]\\|%[01]+[\n ]\\|'[^ \n]+\\)+" nil formula)) |
|
'((":noname" nil defun)))))) |
|
|
;; end |
;; end |
|
|