Skip to content

Instantly share code, notes, and snippets.

@Philonous
Created July 17, 2013 14:13
Show Gist options
  • Save Philonous/6020900 to your computer and use it in GitHub Desktop.
Save Philonous/6020900 to your computer and use it in GitHub Desktop.
(defun get-haskell-buffer ()
(save-window-excursion
(let ((sess (haskell-session)))
(if sess (haskell-session-interactive-buffer sess)
nil))))
(defun layout-for-haskell ()
(interactive)
(save-selected-window
(let ((haskell-buffer (get-haskell-buffer)))
(progn
(mapc 'delete-window (get-buffer-window-list haskell-buffer))
(let ((buffer-next-window (window-buffer (next-window))))
(progn
(delete-other-windows)
(let ((haskell-window (split-window-below -13))
(right-window (split-window-right)))
(progn
(set-window-buffer haskell-window haskell-buffer )
(set-window-dedicated-p haskell-window t )
(set-window-parameter haskell-window 'no-other-window t)
(set-window-buffer right-window buffer-next-window )))))))))
(defvar haskell-process-old-window nil)
(defun haskell-go-to-haskell-window ()
(interactive)
(let ((sess (haskell-session)))
(if sess
(let* ((haskell-buffer (haskell-session-interactive-buffer sess))
(haskell-window (get-buffer-window haskell-buffer)))
(if haskell-window (progn (setq haskell-process-old-window (selected-window))
(select-window haskell-window)
))))))
(defun haskell-go-to-old-window ()
(interactive)
(if haskell-process-old-window
(select-window haskell-process-old-window)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment