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)))
 

Reply via email to