branch: elpa/forth-mode
commit b83ff1274ba2b749015e28a44a915222cccfab67
Author: Lars Brinkhoff <[email protected]>
Commit: Lars Brinkhoff <[email protected]>
Type C-c C-s to SEE a word.
---
forth-mode.el | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/forth-mode.el b/forth-mode.el
index ea08fe29d5..0a09e5b653 100644
--- a/forth-mode.el
+++ b/forth-mode.el
@@ -15,17 +15,15 @@
(let ((map (make-sparse-keymap)))
(define-key map (kbd "C-c C-r") #'forth-eval-region)
(define-key map (kbd "C-c C-l") 'forth-load-file)
+ (define-key map (kbd "C-c C-s") #'forth-see)
;; (define-key map (kbd "C-M-x") #'forth-eval-defun)
;; (define-key map (kbd "C-c C-c") 'eval-buffer)
;; (define-key map (kbd "C-x C-e") #'forth-eval-last-sexp)
- ;; (define-key map (kbd "C-M-x") #'forth-eval-defun)
;; (define-key map (kbd "C-c :") #'forth-eval-expression)
;; (define-key map (kbd "C-x `") #'forth-next-error)
;; (define-key map (kbd "M-n") #'forth-next-note)
;; (define-key map (kbd "M-p") #'forth-previous-note)
- ;; (define-key map (kbd "M-TAB") #'forth-complete-symbol)
;; (define-key map (kbd "M-.") #'forth-find-definition)
- ;; (define-key map (kbd "C-c C-s") #'forth-see)
;; (define-key map (kbd "C-c C-z") #'forth-switch-to-output-buffer)
map))
@@ -68,6 +66,9 @@
(re-search-forward "[^[:graph:]]")
(1- (point))))
+(defun forth-word-at-point ()
+ (buffer-substring (forth-symbol-start) (forth-symbol-end)))
+
(defun forth-expand-symbol ()
(let ((list (forth-words)))
(when (fboundp 'imenu--make-index-alist)
@@ -137,6 +138,14 @@
(interactive (list (buffer-file-name (current-buffer))))
(forth-interaction-send "include " file))
+(defun forth-see-word (word)
+ (interactive (list (forth-word-at-point)))
+ (let ((buffer (get-buffer-create "*see*")))
+ (pop-to-buffer-same-window buffer)
+ (erase-buffer)
+ (insert (forth-interaction-send "see " word))
+ (special-mode)))
+
(defun forth-beginning ()
(goto-char (point-min)))