-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbeta-mode.el
More file actions
31 lines (23 loc) · 837 Bytes
/
Copy pathbeta-mode.el
File metadata and controls
31 lines (23 loc) · 837 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
;; beta-mode
(defvar betabin "/home/sode/git/lambda-calculation/beta")
(defun beta-mode ()
(interactive)
(setq major-mode 'beta-mode
mode-name "beta mode")
(setq beta-local-map (make-keymap))
(define-key beta-local-map "\C-cb" 'beta-reduction)
(define-key beta-local-map "\C-cn" 'beta-reduction-show-native-tree)
(use-local-map beta-local-map))
(defun beta-reduction ()
(interactive)
(beta-reduction-inner "false"))
(defun beta-reduction-show-native-tree ()
(interactive)
(beta-reduction-inner "true"))
(defun beta-reduction-inner (is_tree)
(save-excursion
(let ((in_str (buffer-string)))
(start-process "beta-process" "*beta-buffer*" betabin in_str is_tree)
(let ((buffer (get-buffer "*beta-buffer*")))
(switch-to-buffer-other-window buffer)
(goto-char (point-max))))))