mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-03 12:27:26 -05:00
php: composer-project-mode + auto dependency lookup
This commit is contained in:
@ -79,5 +79,20 @@
|
|||||||
:modes (php-mode yaml-mode web-mode nxml-mode js2-mode scss-mode)
|
:modes (php-mode yaml-mode web-mode nxml-mode js2-mode scss-mode)
|
||||||
:files ("artisan" "server.php"))
|
:files ("artisan" "server.php"))
|
||||||
|
|
||||||
|
(defvar php-composer-conf (make-hash-table :test 'equal))
|
||||||
|
(def-project-type! composer "composer"
|
||||||
|
:modes (web-mode php-mode)
|
||||||
|
:files ("composer.json")
|
||||||
|
:when
|
||||||
|
(lambda (&rest _)
|
||||||
|
(let* ((project-path (narf/project-root))
|
||||||
|
(hash (gethash project-path php-composer-conf))
|
||||||
|
(package-file (f-expand "composer.json" project-path))
|
||||||
|
deps)
|
||||||
|
(awhen (and (not hash) (f-exists? package-file)
|
||||||
|
(json-read-file package-file))
|
||||||
|
(puthash project-path it php-composer-conf)))
|
||||||
|
t))
|
||||||
|
|
||||||
(provide 'module-php)
|
(provide 'module-php)
|
||||||
;;; module-php.el ends here
|
;;; module-php.el ends here
|
||||||
|
Reference in New Issue
Block a user