changeset 26045:03ebfe42764f

(bat-generic-mode-keymap): Added thio variable (bat-generic-mode-compile): Added this function (bat-generic-mode-run-as-comint): Added this function
author Peter Breton <pbreton@attbi.com>
date Sat, 16 Oct 1999 04:11:07 +0000
parents a0f47d3e4a95
children 9204dfa34c1b
files lisp/generic-x.el
diffstat 1 files changed, 41 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/generic-x.el	Sat Oct 16 03:59:43 1999 +0000
+++ b/lisp/generic-x.el	Sat Oct 16 04:11:07 1999 +0000
@@ -400,6 +400,46 @@
   (defvar bat-generic-mode-syntax-table nil
     "Syntax table in use in bat-generic-mode buffers.")
 
+  (defvar bat-generic-mode-keymap (make-sparse-keymap)
+    "Keymap for bet-generic-mode.")
+
+  (defun bat-generic-mode-compile ()
+    "Run the current BAT file in a compilation buffer."
+    (interactive)
+    (let ((compilation-buffer-name-function
+	   (function
+	    (lambda(ign)
+	      (concat "*" (buffer-file-name) "*")))
+	      )
+	    )
+      (compile
+       (concat (w32-shell-name) " -c " (buffer-file-name)))))
+
+  (defun bat-generic-mode-run-as-comint ()
+    "Run the current BAT file in a comint buffer."
+    (interactive)
+    (require 'comint)
+    (let* ((file (buffer-file-name))
+	   (buf-name (concat "*" file "*")))
+      (save-excursion
+	(set-buffer
+	 (get-buffer-create buf-name))
+	(erase-buffer)
+	(comint-mode)
+	(comint-exec
+	 buf-name
+	 file
+	 (w32-shell-name)
+	 nil
+	 (list
+	  "-c"
+	  file
+	  )
+	 )
+	(display-buffer buf-name))))
+
+  (define-key bat-generic-mode-keymap "\C-c\C-c" 'bat-generic-mode-compile)
+
   ;; Make underscores count as words
   (if bat-generic-mode-syntax-table
       nil
@@ -423,6 +463,7 @@
     (set-syntax-table	      bat-generic-mode-syntax-table)
     ;; Make keywords case-insensitive
     (setq font-lock-defaults (list 'generic-font-lock-defaults nil t))
+    (use-local-map bat-generic-mode-keymap)
     )
   )