aboutsummaryrefslogtreecommitdiffstats
path: root/oni-php
diff options
context:
space:
mode:
Diffstat (limited to 'oni-php')
-rw-r--r--oni-php/Eldev4
-rw-r--r--oni-php/oni-php.el34
-rw-r--r--oni-php/snippets/php-mode/arrow-function6
-rw-r--r--oni-php/snippets/php-mode/casts7
-rw-r--r--oni-php/snippets/php-mode/class8
-rw-r--r--oni-php/snippets/php-mode/constructor8
-rw-r--r--oni-php/snippets/php-mode/factory6
-rw-r--r--oni-php/snippets/php-mode/for7
-rw-r--r--oni-php/snippets/php-mode/function-expression8
-rw-r--r--oni-php/snippets/php-mode/function-statement11
-rw-r--r--oni-php/snippets/php-mode/if-statement7
-rw-r--r--oni-php/snippets/php-mode/logger-debug5
-rw-r--r--oni-php/snippets/php-mode/logger-error5
-rw-r--r--oni-php/snippets/php-mode/logger-info5
-rw-r--r--oni-php/snippets/php-mode/logger-warning5
-rw-r--r--oni-php/snippets/php-mode/mark-test-skipped6
-rw-r--r--oni-php/snippets/php-mode/namespace5
-rw-r--r--oni-php/snippets/php-mode/php5
-rw-r--r--oni-php/snippets/php-mode/phpstan-ignore5
-rw-r--r--oni-php/snippets/php-mode/strict-types5
-rw-r--r--oni-php/snippets/php-mode/test-class14
-rw-r--r--oni-php/snippets/php-mode/test-comment9
-rw-r--r--oni-php/snippets/php-mode/test-name8
-rw-r--r--oni-php/snippets/php-mode/todo-comment5
-rw-r--r--oni-php/snippets/php-mode/var5
-rw-r--r--oni-php/snippets/php-mode/wpheader.php13
-rw-r--r--oni-php/snippets/php-ts-mode/.yas-parents1
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