diff options
Diffstat (limited to 'oni-php/oni-php.el')
| -rw-r--r-- | oni-php/oni-php.el | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/oni-php/oni-php.el b/oni-php/oni-php.el index 11d4f3b..89b53c6 100644 --- a/oni-php/oni-php.el +++ b/oni-php/oni-php.el @@ -4,8 +4,8 @@ ;; Author: Tom Willemse <tom@ryuslash.org> ;; Keywords: local -;; Version: 2026.0514.120954 -;; Package-Requires: (oni-yasnippet oni-flycheck oni-hydra oni-corfu ggtags fic-mode rainbow-delimiters rainbow-identifiers) +;; Version: 2026.0629.012633 +;; Package-Requires: (php-mode oni-flycheck oni-hydra fic-mode rainbow-delimiters rainbow-identifiers) ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -28,11 +28,12 @@ ;;; Code: (require 'align) +(require 'grep) (require 'hydra) (require 'map) +(require 'php-mode) (require 'project) (require 'whitespace) -(require 'yasnippet) (defconst oni-php-root (file-name-directory @@ -40,20 +41,10 @@ (buffer-file-name))) "The directory where ‘oni-php’ was loaded from.") -(defconst oni-php-snippets-dir - (expand-file-name "snippets" oni-php-root) - "The directory where ‘oni-php’ stores its snippets.") - (defconst oni-php-scripts-dir (expand-file-name "scripts" oni-php-root) "The directory where ‘oni-php’ stores its scripts.") -(defun oni-php-snippets-initialize () - "Initialize the snippets for ‘oni-php’." - (when (boundp 'yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs oni-php-snippets-dir)) - (yas-load-directory oni-php-snippets-dir)) - (defun oni-php--set-require-final-newline () "Set `require-final-newline' to t. This is necessary because the PHP mode configuration sets this to @@ -159,6 +150,15 @@ Do the insert N times." (indent-region start (point)) (goto-char insert-marker)))) +(defun oni-php-return-belongs-to-comment () + "Insert a PHP documentation comment for a BelongsTo return type." + (interactive) + (let ((start (point))) + (insert "/**\n * @return BelongsTo<") + (save-excursion + (insert ", $this>\n */") + (indent-region start (point))))) + (defun oni-php-comment-dwim (func &rest args) "See if a PHP documentation comment should be added and add it. Otherwise call FUNC with ARGS. This is meant as advice around @@ -166,6 +166,9 @@ Otherwise call FUNC with ARGS. This is meant as advice around (cond ((looking-at (rx (minimal-match (zero-or-more (any whitespace "\n"))) "use ")) (oni-php-doc-use-comment)) + ((looking-at (rx (minimal-match (zero-or-more (any whitespace "\n"))) + (one-or-more nonl) ": BelongsTo" eol)) + (oni-php-return-belongs-to-comment)) ((and (derived-mode-p 'php-mode) (not (region-active-p)) (looking-back (rx (minimal-match (zero-or-more blank))) (line-beginning-position)) @@ -227,7 +230,6 @@ Otherwise call FUNC with ARGS. This is meant as advice around (add-hook 'php-mode-hook 'electric-indent-local-mode) (add-hook 'php-mode-hook 'fic-mode) (add-hook 'php-mode-hook 'flycheck-mode) -(add-hook 'php-mode-hook 'ggtags-mode) (add-hook 'php-mode-hook 'oni-php--auto-fill-mode) (add-hook 'php-mode-hook 'oni-php-set-dabbrev-settings) (add-hook 'php-mode-hook 'oni-php-set-rainbow-identifier-faces) @@ -273,10 +275,6 @@ Otherwise call FUNC with ARGS. This is meant as advice around (modes . '(php-mode web-mode php-ts-mode)) (repeat . t))) -(with-eval-after-load 'php-mode - (with-eval-after-load 'yasnippet - (oni-php-snippets-initialize))) - ;;;###autoload (add-to-list 'auto-mode-alist '("\\.inc\\'" . php-mode)) |
