1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 14:10:47 -08:00
emacs/etc
Vincenzo Pupillo e1fd7b5d89 php-ts-mode' depends on mhtml-ts-mode' instead of JS,CSS and HTML
The direct dependence on js-ts-mode, css-ts-mode and html-ts-mode
has now been replaced by 'mhtml-ts-mode'.
Additional benefits are:
1. Imenu now exposes symbols for all of all languages,
2. navigation now works correctly for all languages,
3. outline works for all languages.

Additional new features are:
1. indentation of PHP in mixed buffers with HTML now works much
better and allows three different behaviors, an option allows you to
choose the behavior.
2. a new feature shows where PHP ini files are both locally and
remotely, if the buffer is associated with a remote PHP file.

* etc/NEWS: Mention the rationale for those changes, the new command,
and the new options.
* lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode--range-settings): New
variable that store range settings.
(mhtml-ts-mode--treesit-aggregated-outline-predicate): New variable
that store outline predicates.
(mhtml-ts-mode): Use those two new variables.
* lisp/progmodes/php-ts-mode.el: Update doc string.  Removed old
dependencies.
(php-ts-mode--language-source-alist): Updated parsers version.
(php-ts-mode-install-parsers): Removed old dependencies, now relies
on (mhtml-ts-mode-install-parsers).  Update doc string.
(php-ts-mode-js-css-indent-offset): Update doc string.
(php-ts-mode-css-fontify-colors): Removed option, now relies on
'php-ts-mode-css-fontify-colors'.
(php-ts-mode-html-indent-offset): New user option.
(php-ts-mode-html-relative-indent): New user option.
(php-ts-mode-php-default-executable): Assume \"php\" instead of
\"/usr/bin/php\" if 'executable-find' fails.
(php-ts-mode-php-config): Fix tag.
(php-ts-mode-find-sibling-rules): New user option with the rules for
finding siblings of a file.
(php-ts-mode-phpdoc-highlight-errors): New user option, if non-nil
highlight unkown PHPDOC nodes.
(php-ts-mode--indent-style-setter): Indentation fix.
(php-ts-mode-indent-style): Indentation fix.
(php-ts-mode-flymake-php): Indentation fix.
(php-ts-mode--executable): Indentation fix.
(php-ts-mode-show-ini): New command that show the locations of PHP
ini files.
(php-ts-mode--get-indent-style): Indentation fix.
(php-ts-mode--set-indent-property): Indentation fix.
(php-ts-mode-set-style): Indentation fix.
(php-ts-mode--get-parser-ranges): Indentation fix.
(php-ts-mode--possibly-braceless-keyword-re): Removed no longer
used constant.
(php-ts-mode--open-statement-group-heuristic): Removed no longer
used function.
(php-ts-mode--else-heuristic): Indentation fix.
(php-ts-mode--first-sibling): Indentation fix.
(php-ts-mode--js-css-tag-bol): Function removed, now using
'mhtml-ts-mode--js-css-tag-bol'.
(php-ts-mode--parent-html-bol): Removed no longer used
function.
(php-ts-mode--parent-html-heuristic): Now more reliably handles
the mixed indentation of PHP and HTML. The new option
'php-ts-mode-html-relative-indent' changes the behavior of the
function. When 'php-ts-mode-html-relative-indent' is 't' the new
option 'php-ts-mode-html-indent-offset' controls the offset of PHP
code relative to HTML tags.
(php-ts-mode--array-element-heuristic): Indentation fix.
(php-ts-mode--anchor-prev-sibling): Indentation fix..
(php-ts-mode--indent-styles): The indentation rules for 'program'
and 'text_interpolation' are now common to all indentation styles,
thanks to the new version of 'php-ts-mode-arent-html-heuristic'.
New rules for 'namespace_use_clause', 'use_declaration',
'use_list', 'attribute_group' and 'string_content'.
(php-ts-mode--prettify-symbols-alist): New variable to support
'prettify-symbols-alist'.
(php-ts-mode--test-visibility-modifier-operation-clause-p): Rename ...
(php-ts-mode--test-visibility-modifier-operation-p): ... to this more
correct name.
(php-ts-mode--test-property-hook-clause-p): Rename ...
(php-ts-mode--test-property-hook-p): ... to this more correct name.
(php-ts-mode--test-relative-name-p): New function to test if
'relative_name' is supported by the PHP parser.
(php-ts-mode--font-lock-settings): Use the new function for highlight
'relative_name'. Highlight 'error_suppression_expression'.
Refactoring using the renamed functions.  Indentation fix.
(php-ts-mode--custom-html-font-lock-settings): Replace the rules with
'mhtml-ts-mode--treesit-font-lock-settings'.  Fix docs string.
(php-ts-mode--phpdoc-font-lock-settings): Added support for "array"
and "list" array_type.  New "phpdoc-error" feature to highlight
unknown nodes via new 'php-ts-mode--phpdoc-fontify-error' function.
(php-ts-mode--colorize-css-value): Removed function no longer used,
now highlighting is handled directly by 'mhtml-ts-mode'.
(php-ts-mode--phpdoc-fontify-error): New function used by
'php-ts-mode--phpdoc-font-lock-settings'.
(php-ts-mode--parent-object): Indentation fix.
(php-ts-mode--defun-name-separator): Indentation fix.
(php-ts-mode--defun-object-name): Indentation fix.
(php-ts-mode--defun-name): The function now also returns the defun
name of 'mhtml-ts-mode'.
(php-ts-mode--treesit-defun-type-regexp): New regexp for
'treesit-defun-type-regexp' support.
(php-ts-mode--indent-defun): Indentation fix.
(php-ts-mode--defun-valid-p): Fix indentation.
(php-ts-mode--comment-indent-new-line): Indentation fix.
(php-ts-mode--comment-current-plist): New local variable that stores
the state of the PHP comment style.
(php-ts-mode--comment-setup): The function now handles changing, for
different languages, comment styles, using
"php-ts-mode--comment-current-plist" to store and retrieve the comment
style for the PHP language.
(php-ts-mode-comment-setup): Now store the PHP comment style in
'php-ts-mode--comment-current-plist'.
(php-ts-mode-menu): Indentation fix.
(php-ts-mode): Replace dependency from JS, CSS and HTML width
'mhtml-ts-mode'.  Navigation, Imenu and Outline now support PHP, HTML,
Javascript and CSS.  Added support for 'prettify-symbol-mode'.
Added support for 'electric-layout-rules'.
(php-ts-mode-run-php-webserver, php-ts-mode--webserver-read-args)
(php-ts-mode--webserver-read-args, inferior-php-ts-mode, run-php)
(inferior-php-ts-mode-startup, php-ts-mode-inferior--write-history)
(php-ts-mode-send-region): Indentation fixes.

(Bug#78994)
2025-08-09 15:57:04 +03:00
..
charsets Update copyright year to 2025 2025-01-02 18:39:42 +01:00
e Add auto-margin enable/disable to term 2025-03-02 16:01:13 -05:00
forms Update copyright year to 2025 2025-01-02 18:39:42 +01:00
gnus
images tab-line: Add close button for modified tabs (bug#79046) 2025-07-31 21:35:50 +03:00
nxml
org Update copyright year to 2025 2025-01-02 18:39:42 +01:00
refcards ; Fix copyright years of the Spanish translations 2025-03-04 03:08:31 +01:00
schema Update copyright year to 2025 2025-01-02 18:39:42 +01:00
srecode Update copyright year to 2025 2025-01-02 18:39:42 +01:00
themes Merge from origin/emacs-30 2025-07-19 06:56:58 -04:00
tutorials Fix copyright years by hand 2025-01-02 18:44:48 +01:00
AUTHORS ; Update ChangeLog and AUTHORS for Emacs 30.2 2025-05-18 05:25:35 -04:00
CALC-NEWS Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ChangeLog.1 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
compilation.txt Support Rust compiler messages in compile mode (bug#70794). 2025-05-22 11:53:34 +02:00
COPYING
copyright-assign.txt Add assignment form as etc/copyright-assign.txt 2024-06-23 00:24:31 +02:00
DEBUG ; Fix last change 2025-08-07 16:38:02 +03:00
DEVEL.HUMOR ; Fix punctuation in etc/* 2024-07-27 01:51:47 +02:00
DISTRIB Update copyright year to 2025 2025-01-02 18:39:42 +01:00
edt-user.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
EGLOT-NEWS Eglot: improve diagnostic-reporting performance 2025-04-29 12:23:06 +01:00
emacs-buffer.gdb Update copyright year to 2025 2025-01-02 18:39:42 +01:00
emacs-mail.desktop
emacs.desktop
emacs.icon
emacs.metainfo.xml Provide Open Age Ratings Service metadata 2025-04-19 16:43:23 +03:00
emacs.service
emacs_lldb.py Update copyright year to 2025 2025-01-02 18:39:42 +01:00
emacsclient-mail.desktop Add 'server-eval-args-left' to server.el 2023-10-29 14:10:23 +02:00
emacsclient.desktop Make emacsclient handle org-protocol:// links 2023-09-18 12:54:22 +02:00
enriched.txt Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ERC-NEWS ; Don't quote localp argument to define-erc-module 2025-01-22 16:07:55 -08:00
ETAGS.EBNF Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ETAGS.README Update copyright year to 2025 2025-01-02 18:39:42 +01:00
future-bug ; Fix typos 2025-01-23 03:14:37 +01:00
gnus-tut.txt Update copyright year to 2025 2025-01-02 18:39:42 +01:00
grep.txt Update copyright year to 2025 2025-01-02 18:39:42 +01:00
HELLO Update copyright year to 2025 2025-01-02 18:39:42 +01:00
HISTORY Release Emacs 30.1 2025-02-23 17:30:57 +01:00
JOKES
MACHINES Delete duplicate note on ancient platforms 2025-01-05 05:32:01 +01:00
MH-E-NEWS Update copyright year to 2025 2025-01-02 18:39:42 +01:00
NEWS php-ts-mode' depends on mhtml-ts-mode' instead of JS,CSS and HTML 2025-08-09 15:57:04 +03:00
NEWS.1-17 Update copyright year to 2025 2025-01-02 18:39:42 +01:00
NEWS.18 Update copyright year to 2025 2025-01-02 18:39:42 +01:00
NEWS.19 ; Move time-stamp release info from symbol-releases.eld to NEWS 2025-03-23 10:39:52 -07:00
NEWS.20 ; Move time-stamp release info from symbol-releases.eld to NEWS 2025-03-23 10:39:52 -07:00
NEWS.21 ; Move time-stamp release info from symbol-releases.eld to NEWS 2025-03-23 10:39:52 -07:00
NEWS.22 Update copyright year to 2025 2025-01-02 18:39:42 +01:00
NEWS.23 Update copyright year to 2025 2025-01-02 18:39:42 +01:00
NEWS.24 Update copyright year to 2025 2025-01-02 18:39:42 +01:00
NEWS.25 Fix capitalization ELisp -> Elisp 2025-03-12 09:38:33 +08:00
NEWS.26 Fix capitalization ELisp -> Elisp 2025-03-12 09:38:33 +08:00
NEWS.27 Update copyright year to 2025 2025-01-02 18:39:42 +01:00
NEWS.28 Fix capitalization ELisp -> Elisp 2025-03-12 09:38:33 +08:00
NEWS.29 ; Grammar fixes for "native-compiled" 2025-02-28 20:20:55 +01:00
NEWS.30 Merge from origin/emacs-30 2025-07-05 06:02:36 -04:00
NEXTSTEP Update copyright year to 2025 2025-01-02 18:39:42 +01:00
NXML-NEWS Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ORG-NEWS ; Fix typos 2025-02-22 14:48:29 +01:00
org.gnu.emacs.defaults.gschema.xml Update copyright year to 2025 2025-01-02 18:39:42 +01:00
package-keyring.gpg * etc/package-keyring.gpg: Update expiration and add new key 2024-10-22 12:35:18 -04:00
PROBLEMS Merge from origin/emacs-30 2025-07-26 06:58:12 -04:00
ps-prin0.ps Update copyright year to 2025 2025-01-02 18:39:42 +01:00
ps-prin1.ps Update copyright year to 2025 2025-01-02 18:39:42 +01:00
publicsuffix.txt ; * etc/publicsuffix.txt: Update from upstream. 2024-12-22 13:50:41 +02:00
README Update copyright year to 2025 2025-01-02 18:39:42 +01:00
rgb.txt Revert "Update etc/rgb.txt from X.Org upstream" 2023-10-16 08:56:53 +08:00
ses-example.ses Update copyright year to 2025 2025-01-02 18:39:42 +01:00
spook.lines
symbol-releases.eld ; Move time-stamp release info from symbol-releases.eld to NEWS 2025-03-23 10:39:52 -07:00
TERMS Update copyright year to 2025 2025-01-02 18:39:42 +01:00
TODO ; Replace "Elisp" with "Lisp" or "Emacs Lisp" in some places 2025-03-12 10:24:22 +08:00
w32-feature.el Update copyright year to 2025 2025-01-02 18:39:42 +01:00
yow.lines

This directory contains the architecture-independent files used by or
with Emacs.  This includes some text files of documentation for GNU
Emacs or of interest to Emacs users, and the file of dumped docstrings
for Emacs functions and variables.

COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES

File: emacs.icon
  Author: Sun Microsystems, Inc
  Copyright (C) 1999, 2001-2025 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)