| 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: 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) |
| (if (not forth-mode-map) |
(if (not forth-mode-map) |
| (setq forth-mode-map (make-sparse-keymap))) |
(setq forth-mode-map (make-sparse-keymap))) |
| |
|
| (global-set-key "\e\C-m" 'forth-send-paragraph) |
|
| (global-set-key "\C-x\C-m" 'forth-split) |
|
| (global-set-key "\e " 'forth-reload) |
|
| |
|
| ;(define-key forth-mode-map "\M-\C-x" 'compile) |
;(define-key forth-mode-map "\M-\C-x" 'compile) |
| (define-key forth-mode-map "\C-x\\" 'comment-region) |
(define-key forth-mode-map "\C-x\\" 'comment-region) |
| (define-key forth-mode-map "\C-x~" 'forth-remove-tracers) |
(define-key forth-mode-map "\C-x~" 'forth-remove-tracers) |
| (forth-split) |
(forth-split) |
| (forth-set-runlight forth-runlight:input)) |
(forth-set-runlight forth-runlight:input)) |
| |
|
| |
(defun run-forth-if-not () |
| |
(if (not (forth-process-running-p)) |
| |
(run-forth forth-program-name))) |
| |
|
| (defun reset-forth () |
(defun reset-forth () |
| "Reset the Forth process." |
"Reset the Forth process." |
| (interactive) |
(interactive) |
| (interactive) |
(interactive) |
| (let ((process (get-process forth-program-name))) |
(let ((process (get-process forth-program-name))) |
| (if process (kill-process process t))) |
(if process (kill-process process t))) |
| (sleep-for-millisecs 100) |
(sleep-for 0 100) |
| (forth-mode)) |
(forth-mode)) |
| |
|
| |
|
| |
|
| (require 'outline) |
(require 'outline) |
| |
|
| (defun f-outline-level () |
;;(define-key outline-minor-mode-map 'f9 'show-entry) |
| (cond ((looking-at "\\`\\\\") |
;;(define-key outline-minor-mode-map 'f10 'hide-entry) |
| 0) |
|
| ((looking-at "\\\\ SEC") |
|
| 0) |
|
| ((looking-at "\\\\ \\\\ .*") |
|
| 0) |
|
| ((looking-at "\\\\ DEFS") |
|
| 1) |
|
| ((looking-at "\\/\\* ") |
|
| 1) |
|
| ((looking-at ":") |
|
| 1) |
|
| ((looking-at "\\\\G") |
|
| 2) |
|
| ((looking-at "[ \t]+\\\\") |
|
| 3)) |
|
| ) |
|
| |
|
| (defun fold-f () |
(defun fold-f () |
| (interactive) |
(interactive) |
| (add-hook 'outline-minor-mode-hook 'hide-body) |
(add-hook 'outline-minor-mode-hook 'hide-body) |
| |
|
| ; outline mode header start, i.e. find word definitions |
; outline mode header start, i.e. find word definitions |
| ;;; (setq outline-regexp "^\\(:\\)[ \t]+\\([^ \t]*\\)") |
(setq outline-regexp "^\\(:\\)[ \t]+\\([^ \t]*\\)") |
| (setq outline-regexp "\\`\\\\\\|:\\|\\\\ SEC\\|\\\\G\\|[ \t]+\\\\\\|\\\\ DEFS\\|\\/\\*\\|\\\\ \\\\ .*") |
|
| (setq outline-level 'f-outline-level) |
|
| |
|
| (outline-minor-mode) |
(outline-minor-mode) |
| (define-key outline-minor-mode-map '(shift up) 'hide-sublevels) |
|
| (define-key outline-minor-mode-map '(shift right) 'show-children) |
|
| (define-key outline-minor-mode-map '(shift left) 'hide-subtree) |
|
| (define-key outline-minor-mode-map '(shift down) 'show-subtree) |
|
| |
|
| ) |
) |
| |
|
| (define-key global-map '(shift up) 'fold-f) |
|
| |
|
| ;;; end file folding |
;;; end file folding |
| |
|
| ;;; func-menu is a package that scans your source file for function definitions |
;;; func-menu is a package that scans your source file for function definitions |
| (define-key global-map "\C-cg" 'fume-prompt-function-goto) |
(define-key global-map "\C-cg" 'fume-prompt-function-goto) |
| (define-key global-map '(shift button3) 'mouse-function-menu) |
(define-key global-map '(shift button3) 'mouse-function-menu) |
| )) |
)) |
| |
|
| ;; end |
|
| |
|