[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/drupal-mode 1d1690b855 203/308: Merge branch 'release/0.5.
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/drupal-mode 1d1690b855 203/308: Merge branch 'release/0.5.0' |
Date: |
Tue, 25 Jan 2022 10:59:47 -0500 (EST) |
branch: elpa/drupal-mode
commit 1d1690b8550cf6d97713e5c573674c8bb6a100df
Merge: da97264d7e 60b231a125
Author: Arne Jørgensen <arne@arnested.dk>
Commit: Arne Jørgensen <arne@arnested.dk>
Merge branch 'release/0.5.0'
---
drupal-mode.el | 9 +++++++-
drupal/flycheck.el | 38 ++++++++++++++++-----------------
drupal/ggtags.el | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 89 insertions(+), 20 deletions(-)
diff --git a/drupal-mode.el b/drupal-mode.el
index c8cb7a8037..998a68b0cc 100644
--- a/drupal-mode.el
+++ b/drupal-mode.el
@@ -5,7 +5,7 @@
;; Author: Arne Jørgensen <arne@arnested.dk>
;; URL: https://github.com/arnested/drupal-mode
;; Created: January 17, 2012
-;; Version: 0.4.1
+;; Version: 0.5.0
;; Package-Requires: ((php-mode "1.5.0"))
;; Keywords: programming, php, drupal
@@ -387,6 +387,12 @@ of the project)."
(define-key drupal-mode-map
[menu-bar drupal manual]
'("Drupal Mode manual" . drupal-mode-manual))
+(define-key drupal-mode-map
+ [menu-bar drupal insert-hook]
+ '("Insert hook implementation" . drupal-insert-hook))
+(define-key drupal-mode-map
+ [menu-bar drupal insert-function]
+ '("Insert function template" . drupal-insert-function))
(define-key drupal-mode-map
[menu-bar drupal search-documentation]
'(menu-item "Search documentation" drupal-search-documentation
@@ -774,6 +780,7 @@ mode-hook."
(eval-after-load 'autoinsert '(require 'drupal/autoinsert))
(eval-after-load 'etags '(require 'drupal/etags))
(eval-after-load 'gtags '(require 'drupal/gtags))
+(eval-after-load 'ggtags '(require 'drupal/ggtags))
(eval-after-load 'ispell '(require 'drupal/ispell))
(eval-after-load 'flymake-phpcs '(require 'drupal/flymake-phpcs))
(eval-after-load 'flycheck '(require 'drupal/flycheck))
diff --git a/drupal/flycheck.el b/drupal/flycheck.el
index 84d5da1a46..5f2d948bc5 100644
--- a/drupal/flycheck.el
+++ b/drupal/flycheck.el
@@ -28,19 +28,11 @@
(require 'flycheck)
(require 'drupal/phpcs)
-(defcustom drupal/flycheck-phpcs-js-and-css t
- "When Non-nil, override Flycheck to use PHPCS for checking CSS and
JavaScript files instead of the checkers configured for css-mode and js-mode."
- :type `(choice
- (const :tag "Yes" t)
- (const :tag "No" nil))
- :group 'drupal)
-
(defun drupal/flycheck-hook ()
"Enable drupal-mode support for flycheck."
- (when (and (apply 'derived-mode-p (append drupal-php-modes drupal-css-modes
drupal-js-modes))
- drupal/phpcs-standard)
- ;; Set the coding standard to "Drupal" (we checked that it is
- ;; supported above.
+ (when (and drupal-mode drupal/phpcs-standard)
+ ;; Set the coding standard to "Drupal" (phpcs.el has checked that
+ ;; it's supported).
(setq flycheck-phpcs-standard drupal/phpcs-standard)
;; Flycheck will also highlight trailing whitespace as an
@@ -50,11 +42,11 @@
(add-hook 'drupal-mode-hook #'drupal/flycheck-hook)
-(flycheck-define-checker css-js-phpcs
- "Check CSS and JavaScript using PHP_CodeSniffer.
+(flycheck-define-checker drupal-phpcs
+ "Check non-PHP Drupal files using PHP_CodeSniffer.
-PHP_CodeSniffer can be used to check non-PHP files, as exemplified by the
-Drupal code sniffer.
+The Drupal standard includes checks for non-PHP files, this
+checker runs those.
See URL `http://pear.php.net/package/PHP_CodeSniffer/'."
:command ("phpcs" "--report=emacs"
@@ -72,11 +64,19 @@ See URL `http://pear.php.net/package/PHP_CodeSniffer/'."
(warning line-start
(file-name) ":" line ":" column ": warning - " (message)
line-end))
- :modes (css-mode js-mode)
+ ;; We'd prefer to just check drupal-mode, but flycheck global mode
+ ;; finds the checker before we get a chance to set drupal-mode.
:predicate (lambda ()
- (and drupal/flycheck-phpcs-js-and-css (apply 'derived-mode-p
(append drupal-php-modes drupal-css-modes drupal-js-modes)))))
-
-(add-to-list 'flycheck-checkers 'css-js-phpcs)
+ (apply 'derived-mode-p (append drupal-php-modes
drupal-css-modes drupal-js-modes drupal-info-modes))))
+
+;; Append our custom checker.
+(add-to-list 'flycheck-checkers 'drupal-phpcs t)
+;; Add our checker as next-checker to checkers of all supported modes.
+(let ((modes (append drupal-css-modes drupal-js-modes drupal-info-modes)))
+ (dolist (checker (flycheck-defined-checkers))
+ (dolist (mode (flycheck-checker-modes checker))
+ (if (memq mode modes)
+ (flycheck-add-next-checker checker 'drupal-phpcs)))))
(provide 'drupal/flycheck)
diff --git a/drupal/ggtags.el b/drupal/ggtags.el
new file mode 100644
index 0000000000..bbb0c34ffc
--- /dev/null
+++ b/drupal/ggtags.el
@@ -0,0 +1,62 @@
+;;; drupal/ggtags.el --- Drupal-mode support for ggtags.el
+
+;; Copyright (C) 2012, 2013, 2014 Arne Jørgensen
+
+;; Author: Arne Jørgensen <arne@arnested.dk>
+
+;; This file is part of Drupal mode.
+
+;; Drupal mode is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published
+;; by the Free Software Foundation, either version 3 of the License,
+;; or (at your option) any later version.
+
+;; Drupal mode is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with Drupal mode. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Enable drupal-mode support for gtags.
+
+;;; Code:
+
+(require 'ggtags)
+
+(defvar drupal/ggtags-global-command (executable-find "global")
+ "Name of the GNU GLOBAL `global' executable.
+Include path to the executable if it is not in your $PATH.")
+
+(defun drupal/ggtags-enable ()
+ "Setup rootdir for gtags."
+ (let ((dir (locate-dominating-file (or buffer-file-name default-directory)
"GTAGS")))
+ (when dir
+ (ggtags-mode 1)
+ ;; Connect `drupal-symbol-collection' to `ggtags-mode'
+ ;; completion
+ (setq drupal-symbol-collection
+ (lambda () (all-completions "" ggtags-completion-table)))
+ (setq drupal-get-function-args #'drupal/ggtags-get-function-args))))
+
+(defun drupal/ggtags-get-function-args (symbol &optional version)
+ "Get function arguments from GNU GLOBAL."
+ (when (and (boundp 'ggtags-project-root)
+ (file-exists-p (expand-file-name "GTAGS" ggtags-project-root)))
+ (with-temp-buffer
+ (ignore-errors
+ (call-process drupal/ggtags-global-command nil t nil "-x" symbol)
+ (goto-char (point-min))
+ (search-forward-regexp "[^(]*(\\(.*\\))[^)]*" nil t)
+ (match-string-no-properties 1)))))
+
+(add-hook 'drupal-mode-hook #'drupal/ggtags-enable)
+
+
+
+(provide 'drupal/ggtags)
+
+;;; drupal/ggtags.el ends here
- [nongnu] elpa/drupal-mode 557f34c5d3 163/308: Fixed tar on Mac OS X., (continued)
- [nongnu] elpa/drupal-mode 557f34c5d3 163/308: Fixed tar on Mac OS X., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 4e4714fc16 165/308: ..., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 919154b7f4 158/308: Merge branch 'release/0.3.0' into develop, ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 493acf44da 166/308: Redone building `drupal-mode-map`., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode a25b4df69a 179/308: Cope with different implementations of flymake-phpcs., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 9b091a3b71 182/308: Merge tag '0.4.0' into develop, ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 3bb1e40acc 183/308: Silence byte compiler., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode cd07abb544 189/308: Made it possible to refer to issue comments., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 4532cd7217 193/308: Use `._flymake` as temp file pattern., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 7ddadecabd 191/308: Reduced number of times calling `drupal-detect-drupal-version`., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 1d1690b855 203/308: Merge branch 'release/0.5.0',
ELPA Syncer <=
- [nongnu] elpa/drupal-mode ca93db3d20 027/308: Only change dictionary to `american' if it exists., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode ab0af570f8 095/308: Added .profile to `auto-load-alist' for `php-mode'., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 8d2c52c821 188/308: Prepared for .api.php CoderSniffer sniffs., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 95d6ecdd75 194/308: Bumped version number., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 09c622e53c 199/308: Merge pull request #45 from joddie/skeleton-menu-items, ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode dd0016dd41 204/308: Merge branch 'release/0.5.0' into develop, ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 56ef6b550c 207/308: Silenced byte-compiler., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 08d1a815ba 208/308: Simplified., ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 1627981c94 210/308: Added a `drupal-drush-php-eval`, ELPA Syncer, 2022/01/25
- [nongnu] elpa/drupal-mode 936ca4afcd 219/308: Run flycheck phpcs checker in-place, so info file rules work properly., ELPA Syncer, 2022/01/25