Summary: Additional fill commands for PHP code editing
   Requires: emacs-27.1
    Website: https://github.com/arielenter/php-fill.el
   Keywords: php languages tools convenience 
 Maintainer: Ariel Del Valle Lozano <[email protected]>
     Author: Ariel Del Valle Lozano <[email protected]>

1 php-fill.el
═════════════

  Additional fill commands for PHP code editing.


1.1 Fills string literals by breaking them into smaller ones.
─────────────────────────────────────────────────────────────


1.2 Conditionally use ‘NOSQUEEZ’ on c and c++ style comments.
─────────────────────────────────────────────────────────────


1.3 Use “<return>” to break or add a new line to string literals and doc blocks.
────────────────────────────────────────────────────────────────────────────────


1.4 Use “<backspace>” or “<delete>” at the beginning and at the end to join 
them.
─────────────────────────────────────────────────────────────────────────────────


1.5 Minor mode Php-Refill.
──────────────────────────


1.6 Add it to your init.el
──────────────────────────

  We recommend using this package with a major mode for PHP, like the
  ones supply by packages like [php-mode] and [phps-mode], to get the
  indentation right and for the hook.

  The following example uses ‘php-mode’, but if a different major mode
  were to be used, just change ‘php-mode’ with something else like
  ‘phps-mode’ instead.

  While in the process of being accepted in [elpa.gnu.org] (see the
  following archive [Here]), please download ‘php-fill.el’ and add it by
  using its holding location, shown here as "~/.emacs.d/lisp/" as an
  example.

  ┌────
  │ (add-to-list 'load-path (expand-file-name "~/.emacs.d/lisp/"))
  │ (use-package php-fill
  │   :load-path "~/.emacs.d/lisp/"
  │   :requires 'php-mode
  │   ;; :custom
  │   ;; (php-fill-fill-column 120) ;; Default is 80.
  │   ;; (php-fill-sentence-end-double-space t) ;; Default is nil.
  │   ;; (php-fill-nosqueeze-c-comments nil) ;; Default is t
  │   ;; (php-fill-nosqueeze-c++-comments t) ;; Default is nil
  │   ;; Add commands that conflict with php-fill-refill-mode
  │   ;; (php-fill-refill-black-list
  │   ;;  (append '(some-command some-other-command)
  │   ;;           php-fill-refill-black-list))
  │   :hook
  │   (php-mode . php-fill-set-local-variables)
  │   ;; You migth omit the follwong if you want to fill literals manually
  │   ;; with ‘M-q’.
  │   (php-mode . php-fill-refill-mode)
  │   ;; The following is recommended unless you are already usign them.
  │   (php-mode . display-fill-column-indicator-mode)
  │   (php-mode . display-line-numbers-mode)
  │   :bind
  │   (:map php-mode-map
  │         ("M-q" . php-fill-paragraph)
  │         ("<return>" . php-fill-newline)
  │         ("C-<return>" . newline) ;; Literal newline on string literals
  │         ("<backspace>" . php-fill-backward-delete)
  │         ("<delete>" . php-fill-delete-forward)))
  └────


[php-mode] <https://elpa.nongnu.org/nongnu/php-mode.html>

[phps-mode] <https://elpa.gnu.org/packages/phps-mode.html>

[elpa.gnu.org] <https://elpa.gnu.org/>

[Here]
<https://lists.gnu.org/archive/html/emacs-devel/2026-02/msg00710.html>


1.7 Special thanks to
─────────────────────

  • The code of commands `fill-paragraph', `c-fill-paragraph' and
    `refill-mode', and their respective developers.
  • [Jen-Chieh Shen]'s [ellsp] and his patience 🙏
  • [Xah Lee] invaluable pages on Emacs. I don't think I can pay the
    full tutorial right now though 😅. But a $20 donation soon for sure
    👍.
  • [gnu.org]'s wonderful manuals on Emacs.
  • In a lesser degree the sites [masteringemacs.org] and
    [emacsdocs.org].

  Finally thanks to the patience of the people of the [emacs-devel]
  mailing list. Thank you all.


[Jen-Chieh Shen] <https://github.com/jcs090218>

[ellsp] <https://github.com/elisp-lsp/ellsp>

[Xah Lee] <http://xahlee.info/emacs/>

[gnu.org]
<https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html>

[masteringemacs.org] <https://www.masteringemacs.org/>

[emacsdocs.org] <https://emacsdocs.org/>

[emacs-devel] <https://lists.gnu.org/archive/html/emacs-devel/>

Reply via email to