diff options
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-presentation-mode.el')
-rw-r--r-- | configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-presentation-mode.el | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-presentation-mode.el b/configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-presentation-mode.el deleted file mode 100644 index c1d3fad72e61..000000000000 --- a/configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-presentation-mode.el +++ /dev/null @@ -1,104 +0,0 @@ -;;; haskell-presentation-mode.el --- Presenting Haskell things -*- lexical-binding: t -*- - -;; Copyright (C) 2013 Chris Done - -;; Author: Chris Done <chrisdone@gmail.com> - -;; This file is not part of GNU Emacs. - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. - -;;; Commentary: - -;;; Code: - -(require 'haskell-mode) -(require 'haskell-session) - -(defvar haskell-presentation-mode-map - (let ((map (make-sparse-keymap))) - (define-key map (kbd "q") 'quit-window) - (define-key map (kbd "c") 'haskell-presentation-clear) - map) - "Keymap for `haskell-presentation-mode'.") - -(define-derived-mode haskell-presentation-mode - haskell-mode "Presentation" - "Major mode for viewing Haskell snippets. - \\{hypertext-mode-map}" - (setq case-fold-search nil)) - -(defconst haskell-presentation-buffer-name - "*Haskell Presentation*" - "Haskell Presentation buffer name.") - -(defconst haskell-presentation-hint-message - "-- Hit `q' to close this window; `c' to clear.\n\n" - "Hint message appered in Haskell Presentation buffer.") - -(defun haskell-presentation-buffer () - "Return Haskell Presentaion buffer. -Return current presenation buffer or create new one if absent. -Never returns nil." - ;; TODO Provide interactive calling options: when called interactively make - ;; the presentation buffer current. - (let ((may-buffer (get-buffer haskell-presentation-buffer-name))) - (if may-buffer - may-buffer - (let ((buffer (generate-new-buffer haskell-presentation-buffer-name))) - (with-current-buffer buffer - (insert haskell-presentation-hint-message) - (haskell-presentation-mode) - (setq buffer-read-only t)) - buffer)))) - -(defun haskell-presentation-clear () - "Clear Haskell Presentation buffer." - (interactive) - (let ((hp-buf (get-buffer haskell-presentation-buffer-name))) - (when hp-buf - (with-current-buffer hp-buf - (let ((buffer-read-only nil)) - (erase-buffer) - (insert haskell-presentation-hint-message)))))) - -(defun haskell-presentation-present (session code &optional clear) - "Present given code in a popup buffer. -Creates temporal Haskell Presentation buffer and assigns it to -given haskell SESSION; presented CODE will be fontified as -haskell code. Give an optional non-nil CLEAR arg to clear the -buffer before presenting message." - (let ((buffer (haskell-presentation-buffer))) - (with-current-buffer buffer - - (when (boundp 'shm-display-quarantine) - (setq-local shm-display-quarantine nil)) - - (when clear (haskell-presentation-clear)) - (haskell-session-assign session) - (goto-char (point-min)) - (forward-line 2) - (save-excursion - (let ((buffer-read-only nil)) - (insert code "\n\n")))) - - (if (eq major-mode 'haskell-presentation-mode) - (switch-to-buffer buffer) - (pop-to-buffer buffer)))) - -(provide 'haskell-presentation-mode) - -;;; haskell-presentation-mode.el ends here |