aboutsummaryrefslogtreecommitdiffstats
path: root/oni-php/oni-php.el
diff options
context:
space:
mode:
Diffstat (limited to 'oni-php/oni-php.el')
-rw-r--r--oni-php/oni-php.el34
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))