-
Notifications
You must be signed in to change notification settings - Fork 134
Usage with psc-ide-emacs #64
Copy link
Copy link
Closed
Labels
Description
To use spago with psc-ide-emacs, will either need to specify some user globs yourself or make a PR to psc-ide-emacs: https://github.com/epost/psc-ide-emacs
In particular, see this block for how source globs are prepared and inserted:
(defun psc-ide--server-start-globs ()
"Detects bower and psc-package projects and determines sensible
source globs"
(when (and (file-exists-p "psc-package.json") (file-exists-p "bower.json"))
(message "Detected both a \"psc-package.json\" and a \"bower.json\" file."))
(let ((server-globs psc-ide-source-globs))
;; see this section specifically, which handles psc-package globs
(if (file-exists-p "psc-package.json") ; first, we check for psc-package.json
(let* ((results "*PSC-PACKAGE SOURCES*") ; we let stdout go to a buffer named *PSC-PACKAGE SOURCES*
(errors "*PSC-PACKAGE ERRORS*")) ; stderr goes ot the errors buffer
(shell-command "psc-package sources" results errors) ; run the psc-package sources command
(if (get-buffer errors) ; if there's an error, display it
(switch-to-buffer-other-window errors)
(progn ; otherwise, we can take the results and kill the results buffer
(with-current-buffer results
(let* ((globs (split-string (buffer-string))))
(setq server-globs (append server-globs globs)) ; then we set the server globs with our globs being added to it
(kill-buffer results)))
(message "Set source globs from psc-package. Starting server..."))))
;; end of psc-package glob handling
(if (file-exists-p "bower.json")
(setq server-globs (append server-globs '("bower_components/purescript-*/src/**/*.purs")))
(message "Couldn't find psc-package.json nor bower.json files, using just the user specified globs.")))
server-globs))Reactions are currently unavailable