diff options
Diffstat (limited to 'oni-php')
27 files changed, 18 insertions, 189 deletions
diff --git a/oni-php/Eldev b/oni-php/Eldev index 1ba3134..2956775 100644 --- a/oni-php/Eldev +++ b/oni-php/Eldev @@ -4,10 +4,10 @@ (eldev-use-package-archive 'gnu-elpa) ;(eldev-use-package-archive 'nongnu-elpa) (eldev-use-package-archive 'melpa) -(eldev-use-package-archive `("oni" . ,(expand-file-name "../bin"))) +(eldev-use-package-archive `("oni" . ,(expand-file-name "../public/packages"))) (eldev-use-plugin 'autoloads) (setf eldev-files-to-package `(:or ,eldev-files-to-package - '("*.el" "./snippets/**/*"))) + '("*.el" "scripts/*"))) 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)) diff --git a/oni-php/snippets/php-mode/arrow-function b/oni-php/snippets/php-mode/arrow-function deleted file mode 100644 index 3b44e01..0000000 --- a/oni-php/snippets/php-mode/arrow-function +++ /dev/null @@ -1,6 +0,0 @@ -# -*- mode: snippet -*- -# name: arrow-function -# key: f -# condition: (oni-php-in-expression-context-p) -# -- -fn($1): $2 => $3
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/casts b/oni-php/snippets/php-mode/casts deleted file mode 100644 index 2850d72..0000000 --- a/oni-php/snippets/php-mode/casts +++ /dev/null @@ -1,7 +0,0 @@ -# -*- mode: snippet -*- -# name: casts -# key: casts -# -- -protected $casts = [ - '$1' => $0, -];
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/class b/oni-php/snippets/php-mode/class deleted file mode 100644 index 26a58a1..0000000 --- a/oni-php/snippets/php-mode/class +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: class -# key: cls -# -- -class ${1:`(file-name-nondirectory (file-name-sans-extension buffer-file-name))`} -{ - $0 -}
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/constructor b/oni-php/snippets/php-mode/constructor deleted file mode 100644 index f919e6c..0000000 --- a/oni-php/snippets/php-mode/constructor +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: constructor -# key: constructor -# -- -public function __construct($1) -{ - $0 -}
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/factory b/oni-php/snippets/php-mode/factory deleted file mode 100644 index 534f227..0000000 --- a/oni-php/snippets/php-mode/factory +++ /dev/null @@ -1,6 +0,0 @@ -# -*- mode: snippet -*- -# name: factory -# key: f -# condition: (and (oni-php-in-test-file) (oni-php-in-static-call-context-p)) -# -- -factory()->create([$0]);
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/for b/oni-php/snippets/php-mode/for deleted file mode 100644 index 1adae91..0000000 --- a/oni-php/snippets/php-mode/for +++ /dev/null @@ -1,7 +0,0 @@ -# -*- mode: snippet -*- -# name: for -# key: for -# -- -for (${1:$i = 0}; ${2:$i < $3}; ${4:$i++}) { - $0 -}
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/function-expression b/oni-php/snippets/php-mode/function-expression deleted file mode 100644 index fa59b03..0000000 --- a/oni-php/snippets/php-mode/function-expression +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: function expression -# key: f -# condition: (oni-php-in-expression-context-p) -# -- -function ($1) ${2:use ($3)} { - $0 -}
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/function-statement b/oni-php/snippets/php-mode/function-statement deleted file mode 100644 index 9c44aef..0000000 --- a/oni-php/snippets/php-mode/function-statement +++ /dev/null @@ -1,11 +0,0 @@ -# -*- mode: snippet -*- -# name: function statement -# key: f -# condition: (oni-php-in-expression-context-p) -# -- -/** - * $5 - */ -${1:private} function $2($3): ${4:void} { - $0 -}
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/if-statement b/oni-php/snippets/php-mode/if-statement deleted file mode 100644 index 6033e3a..0000000 --- a/oni-php/snippets/php-mode/if-statement +++ /dev/null @@ -1,7 +0,0 @@ -# -*- mode: snippet -*- -# name: if statement -# key: ? -# -- -if ($1) { - $2 -}
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/logger-debug b/oni-php/snippets/php-mode/logger-debug deleted file mode 100644 index d0e0b7e..0000000 --- a/oni-php/snippets/php-mode/logger-debug +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: logger.debug -# key: ld -# -- -logger()->debug('$1'${2:, [ $3 ]});
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/logger-error b/oni-php/snippets/php-mode/logger-error deleted file mode 100644 index 19344aa..0000000 --- a/oni-php/snippets/php-mode/logger-error +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: logger-error -# key: le -# -- -logger()->error('$1'${2:, [ $3 ]});
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/logger-info b/oni-php/snippets/php-mode/logger-info deleted file mode 100644 index 9491d24..0000000 --- a/oni-php/snippets/php-mode/logger-info +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: logger.info -# key: li -# -- -logger()->info('$1'${2:, [ $3 ]});
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/logger-warning b/oni-php/snippets/php-mode/logger-warning deleted file mode 100644 index 3945490..0000000 --- a/oni-php/snippets/php-mode/logger-warning +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: logger.warning -# key: lw -# -- -logger()->warning('$1'${2, [ $3 ]});
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/mark-test-skipped b/oni-php/snippets/php-mode/mark-test-skipped deleted file mode 100644 index ce4761d..0000000 --- a/oni-php/snippets/php-mode/mark-test-skipped +++ /dev/null @@ -1,6 +0,0 @@ -# -*- mode: snippet -*- -# name: mark test skipped -# key: @s -# condition: (string-suffix-p "Test.php" buffer-file-name) -# -- -$this->markTestSkipped("${1:Don't skip your tests.}");
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/namespace b/oni-php/snippets/php-mode/namespace deleted file mode 100644 index 7a5b5e1..0000000 --- a/oni-php/snippets/php-mode/namespace +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: namespace -# key: ns -# -- -namespace ${1:`(oni-php-generate-namespace)`};
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/php b/oni-php/snippets/php-mode/php deleted file mode 100644 index 12f7492..0000000 --- a/oni-php/snippets/php-mode/php +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: <?php -# key: php -# -- -<?php diff --git a/oni-php/snippets/php-mode/phpstan-ignore b/oni-php/snippets/php-mode/phpstan-ignore deleted file mode 100644 index 91439ba..0000000 --- a/oni-php/snippets/php-mode/phpstan-ignore +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: phpstan-ignore -# key: @i -# -- -/** @phpstan-ignore $1 */
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/strict-types b/oni-php/snippets/php-mode/strict-types deleted file mode 100644 index bdcf3f9..0000000 --- a/oni-php/snippets/php-mode/strict-types +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: strict-types -# key: strict-types -# -- -declare(strict_types=1);
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/test-class b/oni-php/snippets/php-mode/test-class deleted file mode 100644 index de3bd3f..0000000 --- a/oni-php/snippets/php-mode/test-class +++ /dev/null @@ -1,14 +0,0 @@ -# -*- mode: snippet -*- -# name: test-class -# key: test -# -- - -use Illuminate\Foundation\Testing\RefreshDatabase; -use Tests\TestCase; - -class ${1:`(file-name-sans-extension (file-name-nondirectory (buffer-file-name)))`} extends TestCase -{ - use RefreshDatabase; - - $0 -}
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/test-comment b/oni-php/snippets/php-mode/test-comment deleted file mode 100644 index b1c9dfb..0000000 --- a/oni-php/snippets/php-mode/test-comment +++ /dev/null @@ -1,9 +0,0 @@ -# -*- mode: snippet -*- -# name: test-comment -# key: @t -# -- -#[Test] -public function $1(): void -{ - $0 -} diff --git a/oni-php/snippets/php-mode/test-name b/oni-php/snippets/php-mode/test-name deleted file mode 100644 index 2b9d72b..0000000 --- a/oni-php/snippets/php-mode/test-name +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: test-name -# key: test -# -- -public function test_$1(): void -{ - $0 -} diff --git a/oni-php/snippets/php-mode/todo-comment b/oni-php/snippets/php-mode/todo-comment deleted file mode 100644 index a079ce8..0000000 --- a/oni-php/snippets/php-mode/todo-comment +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: todo-comment -# key: /t -# -- -`comment-start``(if (looking-back " " 2) " " "")`TODO: $0`comment-end`
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/var b/oni-php/snippets/php-mode/var deleted file mode 100644 index ce2b8fc..0000000 --- a/oni-php/snippets/php-mode/var +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: var -# key: @v -# -- -/** @var $1 `(save-excursion (and (search-forward "$" nil t) (symbol-at-point)))` */`(unless (looking-at (rx "\n")) "\n")`
\ No newline at end of file diff --git a/oni-php/snippets/php-mode/wpheader.php b/oni-php/snippets/php-mode/wpheader.php deleted file mode 100644 index 2c70f93..0000000 --- a/oni-php/snippets/php-mode/wpheader.php +++ /dev/null @@ -1,13 +0,0 @@ -# -*- mode: snippet; require-final-newline: nil -*- -# name: WP Plugin Header -# key: header -# -- -/* - * Plugin Name: $1 - * Plugin URI: $2 - * Description: $3 - * Version: ${4:1.0} - * Author: ${5:Tom Willemse} - * Author URI: ${6:https://ryuslash.org} - * License: ${7:GPLv2} - */
\ No newline at end of file diff --git a/oni-php/snippets/php-ts-mode/.yas-parents b/oni-php/snippets/php-ts-mode/.yas-parents deleted file mode 100644 index 00d75e1..0000000 --- a/oni-php/snippets/php-ts-mode/.yas-parents +++ /dev/null @@ -1 +0,0 @@ -php-mode
\ No newline at end of file |
