Fix project mode definitions

This commit is contained in:
Henrik Lissner 2017-03-02 18:20:46 -05:00
parent 22e3baf184
commit 3ac1d382be
10 changed files with 113 additions and 93 deletions

View file

@ -0,0 +1,14 @@
;;; lang/php/autoload.el
(defvar +php-composer-conf (make-hash-table :test 'equal))
;;;###autoload
(defun +php-composer-conf (&optional project-root refresh-p)
"Retrieve the contents of composer.json as an alist. If REFRESH-P is non-nil
ignore the cache."
(let ((project-root (or project-root (doom-project-root))))
(or (and (not refresh-p) (gethash project-root +php-composer-conf))
(let ((package-file (expand-file-name "composer.json" project-root)))
(when-let (data (and (file-exists-p package-file)
(json-read-file package-file)))
(puthash project-root data +php-composer-conf))))))

View file

@ -81,22 +81,11 @@
;; Projects
;;
;; (def-project! laravel "laravel"
;; :modes (php-mode yaml-mode web-mode nxml-mode js2-mode scss-mode)
;; :files ("artisan" "server.php"))
(def-project-mode! +php-laravel-mode
:modes (php-mode yaml-mode web-mode nxml-mode js2-mode scss-mode)
:files (and "artisan" "server.php"))
;; (defvar php-composer-conf (make-hash-table :test 'equal))
;; (def-project! composer "composer"
;; :modes (web-mode php-mode)
;; :files ("composer.json")
;; :when
;; (lambda (&rest _)
;; (let* ((project-path (doom/project-root))
;; (hash (gethash project-path php-composer-conf))
;; (package-file (expand-file-name "composer.json" project-path))
;; deps)
;; (awhen (and (not hash) (file-exists-p package-file)
;; (json-read-file package-file))
;; (puthash project-path it php-composer-conf)))
;; t))
(def-project-mode! +php-composer-mode
:modes (web-mode php-mode)
:files "composer.json")