diff options
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180601.143/haskell-sandbox.el')
-rw-r--r-- | configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180601.143/haskell-sandbox.el | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180601.143/haskell-sandbox.el b/configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180601.143/haskell-sandbox.el new file mode 100644 index 000000000000..ba605fd66cc8 --- /dev/null +++ b/configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180601.143/haskell-sandbox.el @@ -0,0 +1,41 @@ +;;; haskell-sandbox.el --- Support for sandboxes -*- lexical-binding: t -*- + +;; Copyright (c) 2014 Chris Done. All rights reserved. + +;; 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 this program. If not, see <http://www.gnu.org/licenses/>. + +;;; Code: + +(require 'cl-lib) +(require 'haskell-session) + +(defun haskell-sandbox-path (session) + "If there is a haskell-session, return the path to the usual sandbox location." + (concat (haskell-session-cabal-dir session) + "/.cabal-sandbox")) + +(defun haskell-sandbox-exists-p (session) + "Is there a cabal sandbox?" + (file-exists-p (haskell-sandbox-path session))) + +(defun haskell-sandbox-pkgdb (session) + "Get the package database of the sandbox." + (let* ((files (directory-files (haskell-sandbox-path session))) + (dir (car (cl-remove-if-not (lambda (file) + (string-match ".conf.d$" file)) + files)))) + (when dir + (concat (haskell-sandbox-path session) "/" dir)))) + +(provide 'haskell-sandbox) |