version 1.31, 1998/12/08 22:02:43
|
version 1.40, 2000/04/12 20:53:46
|
Line 40
|
Line 40
|
|
|
|
|
(defvar forth-positives |
(defvar forth-positives |
" : :noname code interpretation: ;code does> begin do ?do +do -do u+do u-do while if ?dup-if ?dup-0=-if else case of struct [if] [ifdef] [ifundef] [else] with public: private: class " |
" : :noname m: :m code interpretation: ;code does> begin do ?do +do -do u+do u-do while if ?dup-if ?dup-0=-if else case of struct [if] [ifdef] [ifundef] [else] with public: private: class try recover " |
"Contains all words which will cause the indent-level to be incremented |
"*Contains all words which will cause the indent-level to be incremented |
on the next line. |
on the next line. |
OBS! All words in forth-positives must be surrounded by spaces.") |
OBS! All words in forth-positives must be surrounded by spaces.") |
|
|
(defvar forth-negatives |
(defvar forth-negatives |
" ; end-code ;code does> until repeat while +loop loop -loop s+loop else then endif again endcase endof end-struct [then] [else] [endif] endwith class; how: " |
" ; ;m end-code ;code does> until repeat while +loop loop -loop s+loop else then endif again endcase endof end-struct [then] [else] [endif] endwith end-class class; how: recover endtry " |
"Contains all words which will cause the indent-level to be decremented |
"*Contains all words which will cause the indent-level to be decremented |
on the current line. |
on the current line. |
OBS! All words in forth-negatives must be surrounded by spaces.") |
OBS! All words in forth-negatives must be surrounded by spaces.") |
|
|
(defvar forth-zeroes |
(defvar forth-zeroes |
" : :noname code interpretation: public: private: how: implements class class; " |
" : :noname code interpretation: public: private: how: implements class class; " |
"Contains all words which causes the indent to go to zero") |
"*Contains all words which causes the indent to go to zero") |
|
|
(setq forth-zero 0) |
(setq forth-zero 0) |
|
|
Line 92 OBS! All words in forth-negatives must b
|
Line 92 OBS! All words in forth-negatives must b
|
(define-key forth-mode-map "\M-q" 'forth-fill-paragraph) |
(define-key forth-mode-map "\M-q" 'forth-fill-paragraph) |
(define-key forth-mode-map "\e." 'forth-find-tag) |
(define-key forth-mode-map "\e." 'forth-find-tag) |
|
|
|
;setup for C-h C-i to work |
|
(if (fboundp 'info-lookup-add-help) |
|
(info-lookup-add-help |
|
:topic 'symbol |
|
:mode 'forth-mode |
|
:regexp "[^ |
|
]+" |
|
:ignore-case t |
|
:doc-spec '(("(gforth)Name Index" nil "`" "' ")))) |
|
|
(load "etags") |
(load "etags") |
|
|
(defun forth-find-tag (tagname &optional next-p regexp-p) |
(defun forth-find-tag (tagname &optional next-p regexp-p) |
Line 980 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 |
|
|
|
(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 |
|
'(("( [^)\n]* -- [^)\n]* )" nil decl)) |
|
'(("( -- [^)\n]* )" nil decl)) |
|
'(("( [^)\n]* -- )" nil decl)) |
|
'(("( -- )" nil decl)) |
|
'(("( " ")" comment)) |
|
'(("\" [^\"\n]*\"" nil string)) |
|
'(("\\(\\[IF]\\|\\[IFDEF]\\|\\[IFUNDEF]\\|\\[ELSE]\\|\\[THEN]\\|IF\\|ELSE\\|THEN\\|BEGIN\\|WHILE\\|REPEAT\\|UNTIL\\|DOES>\\|?DO\\|DO\\|\+LOOP\\|LOOP\\)" 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 |
|
|