branch: elpa/drupal-mode
commit dc82e5430c532be482b8fdf8986cbc6e1a500ee0
Author: Arne Jørgensen <[email protected]>
Commit: Arne Jørgensen <[email protected]>
Handle .info.yml files
---
drupal-mode.el | 13 ++++++-------
drupal/autoinsert.el | 11 +++++++++++
2 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/drupal-mode.el b/drupal-mode.el
index f77bf4041a..fdc564d7ab 100644
--- a/drupal-mode.el
+++ b/drupal-mode.el
@@ -159,7 +159,7 @@ Include path to the executable if it is not in your $PATH."
:group 'drupal)
;;;###autoload
-(defcustom drupal-info-modes (list 'conf-windows-mode)
+(defcustom drupal-info-modes (list 'conf-windows-mode 'yaml-mode)
"Major modes to consider info files in Drupal mode."
:type '(repeat symbol)
:group 'drupal)
@@ -806,13 +806,12 @@ older implementation of `locate-dominating-file'."
(let ((prev-user user))
(setq user (nth 2 (file-attributes dir)))
(or (null prev-user) (equal user prev-user))))
- (if (and (setq files (condition-case nil
- (directory-files dir 'full
"\\(.+\\)\\.info\\'" 'nosort)
- (error nil)))
- (file-exists-p (concat (file-name-sans-extension (car files))
".module")))
+ (if (setq files (condition-case nil
+ (directory-files dir 'full
"\\(.+\\)\\.info\\(\\.yml\\)\\'" 'nosort)
+ (error nil)))
(if info-file-location
(throw 'found (car files))
- (throw 'found (file-name-nondirectory (file-name-sans-extension
(car files)))))
+ (throw 'found (file-name-nondirectory
(file-name-sans-extension(file-name-sans-extension (car files))))))
(if (equal dir
(setq dir (file-name-directory
(directory-file-name dir))))
@@ -831,7 +830,7 @@ Used in `drupal-insert-hook' and `drupal-insert-function'."
drupal-module
;; Otherwise fall back to a very naive
;; way of guessing the module name.
- (file-name-nondirectory
(file-name-sans-extension (or buffer-file-name (buffer-name))))))))
+ (file-name-nondirectory
(file-name-sans-extension (file-name-sans-extension (or buffer-file-name
(buffer-name)))))))))
(if (called-interactively-p 'any)
(insert name)
name)))
diff --git a/drupal/autoinsert.el b/drupal/autoinsert.el
index fb2cfdfe59..e3cbc12034 100644
--- a/drupal/autoinsert.el
+++ b/drupal/autoinsert.el
@@ -27,6 +27,7 @@
;;; Code:
(define-auto-insert '("\\.info\\'" . "Drupal info file")
'drupal/autoinsert-insert-info-skeleton)
+(define-auto-insert '("\\.info\\.yml\\'" . "Drupal info YML file")
'drupal/autoinsert-insert-info-yml-skeleton)
(define-auto-insert '("\\.module\\'" . "Drupal module file")
'drupal/autoinsert-insert-module-skeleton)
(define-auto-insert '("\\.install\\'" . "Drupal install file")
'drupal/autoinsert-insert-install-skeleton)
(define-auto-insert '("\\.test\\'" . "Drupal test file")
'drupal/autoinsert-insert-test-skeleton)
@@ -51,6 +52,16 @@
(when v2 "; required = ") & @ (when v2 "TRUE\n")
(when v2 "; hidden = ") & @ (when v2 "TRUE\n"))
+(define-skeleton drupal/autoinsert-insert-info-yml-skeleton
+ "Drupal 8 info.yml file skeleton."
+ nil
+ '(setq v1 (file-name-nondirectory (file-name-sans-extension
(file-name-sans-extension (or buffer-file-name (buffer-name))))))
+ '(setq v2 (if (string= (drupal-major-version) "8") "^8 || ^9" (concat "^"
(drupal-major-version))))
+ "name: " @ - (upcase-initials (replace-regexp-in-string "[-_\\.]+" " " v1))
\n
+ "description: " @ (replace-regexp-in-string "[-_\\.]+" " " v1) \n
+ "type: module" @ \n
+ "core_version_requirement: " @ v2 "\n")
+
(define-skeleton drupal/autoinsert-insert-module-skeleton
"Drupal module file skeleton."
nil