[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/drupal-mode ebb3c56e25 068/308: Discovers more module info
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/drupal-mode ebb3c56e25 068/308: Discovers more module info and added module menu. |
Date: |
Tue, 25 Jan 2022 10:59:29 -0500 (EST) |
branch: elpa/drupal-mode
commit ebb3c56e25fb19551357dca0f7ad192b24fe055a
Author: Arne Jørgensen <arne@arnested.dk>
Commit: Arne Jørgensen <arne@arnested.dk>
Discovers more module info and added module menu.
Now also discovers module name, version number and project.
Added new Module sub-menu with name, version and links to project on
drupal.org.
---
drupal-mode.el | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 63 insertions(+), 10 deletions(-)
diff --git a/drupal-mode.el b/drupal-mode.el
index 0a458dba5a..404fdcde08 100644
--- a/drupal-mode.el
+++ b/drupal-mode.el
@@ -164,10 +164,22 @@ Include path to the executable if it is not in your
$PATH."
(make-variable-buffer-local 'drupal-rootdir)
(put 'drupal-rootdir 'safe-local-variable 'string-or-null-p)
-(defvar drupal-module nil "Drupal module name if auto detected.")
+(defvar drupal-module nil "Drupal module short name if auto detected.")
(make-variable-buffer-local 'drupal-module)
(put 'drupal-module 'safe-local-variable 'string-or-null-p)
+(defvar drupal-module-name nil "Drupal module name if auto detected.")
+(make-variable-buffer-local 'drupal-module-name)
+(put 'drupal-module-name 'safe-local-variable 'string-or-null-p)
+
+(defvar drupal-module-version nil "Drupal module version if auto detected.")
+(make-variable-buffer-local 'drupal-module-version)
+(put 'drupal-module-version 'safe-local-variable 'string-or-null-p)
+
+(defvar drupal-project nil "Drupal project name if auto detected.")
+(make-variable-buffer-local 'drupal-project)
+(put 'drupal-project 'safe-local-variable 'string-or-null-p)
+
(defvar drupal-mode-map
(let ((map (make-sparse-keymap)))
(define-key map "\C-cdf" #'drupal-search-documentation)
@@ -285,6 +297,11 @@ of the project)."
(define-key drupal-mode-map
[menu-bar drupal separator]
'("--"))
+(define-key drupal-mode-map
+ [menu-bar drupal drupal-project]
+ `(menu-item (concat "Module: " (or drupal-module-name drupal-module))
,(make-sparse-keymap)
+ :visible drupal-module
+ :enable drupal-project))
(define-key drupal-mode-map
[menu-bar drupal customize]
'("Customize Drupal Mode" . (lambda () (interactive) (customize-group
'drupal))))
@@ -300,6 +317,23 @@ of the project)."
'(menu-item "Clear all caches" drupal-drush-cache-clear
:enable (and drupal-rootdir drupal-drush-program)))
+(define-key drupal-mode-map
+ [menu-bar drupal drupal-project drupal-project-bugs]
+ '(menu-item "Bug reports" (lambda () (interactive) (browse-url (concat
"http://drupal.org/project/issues/" drupal-project "?categories=bug")))))
+(define-key drupal-mode-map
+ [menu-bar drupal drupal-project drupal-project-issues]
+ '(menu-item "Issues" (lambda () (interactive) (browse-url (concat
"http://drupal.org/project/issues/" drupal-project "?categories=All")))))
+(define-key drupal-mode-map
+ [menu-bar drupal drupal-project drupal-project-home]
+ '(menu-item "Project page" (lambda () (interactive) (browse-url (concat
"http://drupal.org/project/" drupal-project)))))
+(define-key drupal-mode-map
+ [menu-bar drupal drupal-project drupal-project-separator]
+ '("--"))
+(define-key drupal-mode-map
+ [menu-bar drupal drupal-project drupal-project-nameversion]
+ '(menu-item (concat (or drupal-module-name drupal-module) " "
drupal-version) nil
+ :enable nil))
+
;; utility functions
@@ -406,18 +440,37 @@ the location of DRUPAL_ROOT."
(setq drupal-version (match-string-no-properties 2))))))))
(hack-local-variables))
(let ((module (drupal-locate-dominating-module buffer-file-name t))
- (version drupal-version))
+ (version drupal-version)
+ (module-name nil)
+ (module-version nil)
+ (project nil))
(when module
- (when (not drupal-version)
- (with-current-buffer (find-file-noselect module t)
- (save-excursion
- (widen)
- (goto-char (point-min))
- (re-search-forward "core *= *\"?\\(.+\\)\"?" nil t)
- (setq version (match-string-no-properties 1)))))
+ (with-current-buffer (find-file-noselect module t)
+ (save-excursion
+ (widen)
+ (goto-char (point-min))
+ (when (and (not drupal-version)
+ (re-search-forward "^core *=" nil t))
+ (re-search-forward " *\"?\\([^\"]+\\)\"?" (point-at-eol) t)
+ (setq version (match-string-no-properties 1)))
+ (goto-char (point-min))
+ (when (re-search-forward "^name *=" nil t)
+ (re-search-forward " *\"?\\([^\"]+\\)\"?" (point-at-eol) t)
+ (setq module-name (match-string-no-properties 1)))
+ (goto-char (point-min))
+ (when (re-search-forward "^version *=" nil t)
+ (re-search-forward " *\"?\\([^\"]+\\)\"?" (point-at-eol) t)
+ (setq module-version (match-string-no-properties 1)))
+ (goto-char (point-min))
+ (when (re-search-forward "^project *=" nil t)
+ (re-search-forward " *\"?\\([^\"]+\\)\"?" (point-at-eol) t)
+ (setq project (match-string-no-properties 1)))))
(dir-locals-set-class-variables 'drupal-module `((nil . ((drupal-module
. ,(file-name-nondirectory
(file-name-sans-extension module)))
- (drupal-version
. ,version)))))
+ (drupal-version
. ,version)
+
(drupal-module-name . ,module-name)
+
(drupal-module-version . ,module-version)
+ (drupal-project
. ,project)))))
(dir-locals-set-directory-class (file-name-directory module)
'drupal-module)))
(hack-local-variables)
drupal-version)
- [nongnu] elpa/drupal-mode 1b58065d5d 013/308: Docfix., (continued)
- [nongnu] elpa/drupal-mode 1b58065d5d 013/308: Docfix., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 08498d39fa 016/308: Don't lookup documentation if no symbol-at-point., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 56a55ff9c8 019/308: Drush API search on master if version is y.x-dev., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 25dc7333d9 028/308: Added flymake-phpcs support., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 0a5c953312 029/308: flymake-phpcs will only be used in php-mode., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode e4c4c3d6e1 022/308: `drupal-delete-trailing-whitespace' made local var., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 9c618f003c 026/308: Set `ispell-local-dictionary' to `american'., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode abc074346f 035/308: Merge branch 'release/0.2.0' into develop, ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode a0ef7e7fce 039/308: Fixed package name in install target., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 661e6bba48 040/308: Changed info about flymake-phpcs., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode ebb3c56e25 068/308: Discovers more module info and added module menu.,
ELPA Syncer <=
- [nongnu] elpa/drupal-mode 587e0eb2ec 060/308: Added completion based on gtags., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode e96a1f70f4 066/308: Added support for "Drush utilities for Emacs users"., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 5386751a5d 069/308: Fixed module version in module menu., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 8fc32e7641 053/308: Made `drupal-detect-drupal-version' more reliable., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode ce7e9d2bf3 043/308: Various cleanup., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 00aae1e5e8 070/308: Added support for `web-mode'., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 48a90d94ed 061/308: Fixed spelling., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode b8863a5c82 054/308: Added first take on automated tests., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 8599809578 058/308: Flymake-phpcs also highlights trailing whitespace., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode aa87684203 048/308: Added `require' for supported libraries., ELPA Syncer, 2022/01/25