1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00
emacs/lisp/progmodes
Vincenzo Pupillo bd62f57efd '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.
* admin/tree-sitter/treesit-admin.el (treesit-admin--builtin-modes):
Added 'mhtml-ts-mode'.
(treesit-admin--builtin-features): Added 'mhtml-ts-mode'.
* 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 stores outline predicates.
(mhtml-ts-mode): Use those two new variables.
* lisp/progmodes/php-ts-mode.el: Update doc string.  Removed old
dependecies.
(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.
* lisp/treesit.el (treesit-range-rules): Check if treesit is available
before compiling a query.
(treesit-ensure-installed): Check if treesit is available before trying
to ensure if a grammar library is installed.

(Bug#78994)
2025-08-10 18:30:03 +03:00
..
antlr-mode.el
asm-mode.el
autoconf.el
bat-mode.el
bug-reference.el
c-ts-common.el
c-ts-mode.el Fix 'c-ts-mode' indentation when the style is defined as a function 2025-06-22 11:16:53 +03:00
cc-align.el CC Mode: Remove workarounds for missing "\_<", "\_>" in XEmacs 2025-06-23 11:50:07 +00:00
cc-awk.el CC Mode: Remove workarounds for missing "\_<", "\_>" in XEmacs 2025-06-23 11:50:07 +00:00
cc-bytecomp.el
cc-cmds.el CC Mode: Remove workarounds for missing "\_<", "\_>" in XEmacs 2025-06-23 11:50:07 +00:00
cc-defs.el CC Mode: Remove workarounds for missing "\_<", "\_>" in XEmacs 2025-06-23 11:50:07 +00:00
cc-engine.el ; * lisp/progmodes/cc-engine.el: Fix trailing whitespace. 2025-07-05 06:03:48 -04:00
cc-fonts.el CC Mode: Remove workarounds for missing "\_<", "\_>" in XEmacs 2025-06-23 11:50:07 +00:00
cc-guess.el
cc-langs.el CC Mode: Remove workarounds for missing "\_<", "\_>" in XEmacs 2025-06-23 11:50:07 +00:00
cc-menus.el CC Mode: Remove workarounds for missing "\_<", "\_>" in XEmacs 2025-06-23 11:50:07 +00:00
cc-mode.el Amend CC Mode so that the test suite in XEmacs runs error free 2025-06-11 13:43:50 +00:00
cc-styles.el
cc-vars.el CC Mode: Remove workarounds for missing "\_<", "\_>" in XEmacs 2025-06-23 11:50:07 +00:00
cfengine.el
cl-font-lock.el
cmacexp.el
cmake-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
compile.el Support Rust compiler messages in compile mode (bug#70794). 2025-05-22 11:53:34 +02:00
cperl-mode.el cperl-mode.el: Support syntax of Perl version 5.42 2025-07-28 18:20:26 +02:00
cpp.el
csharp-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
cwarn.el
dcl-mode.el
dockerfile-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
ebnf-abn.el
ebnf-bnf.el
ebnf-dtd.el
ebnf-ebx.el
ebnf-iso.el
ebnf-otz.el
ebnf-yac.el
ebnf2ps.el
ebrowse.el
eglot.el Add alternative "ruby-lsp" to eglot-server-programs. 2025-06-25 20:07:17 +03:00
elisp-mode.el Make elint obsolete (bug#78685) 2025-07-05 14:38:48 +02:00
elixir-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
erts-mode.el
etags-regen.el
etags.el Fix exact matching of Ada tags by 'M-.' 2025-05-27 13:50:12 +03:00
executable.el
f90.el
flymake-cc.el
flymake-proc.el
flymake.el Add additional keybindings for flymake diagnostics modes 2025-05-31 17:23:08 +03:00
fortran.el
gdb-mi.el
glasses.el
go-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
grep.el Merge from origin/emacs-30 2025-05-24 06:55:24 -04:00
gud.el
heex-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
hideif.el
hideshow.el lisp/progmodes/hideshow.el (hs--get-ellipsis): Simplify 2025-05-19 18:33:39 -04:00
icon.el
inf-lisp.el
java-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
js.el (js-json-mode): Set editorconfig-indent-size-vars 2025-08-09 03:37:47 -04:00
json-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
ld-script.el
lua-ts-mode.el Add multi-character pairs to lua-ts-mode and texinfo-mode 2025-08-09 13:41:43 +03:00
m4-mode.el
make-mode.el
meta-mode.el
mixal-mode.el
modula2.el
octave.el
opascal.el
pascal.el
peg.el (peg-parse): Fix bug#78884 2025-06-27 23:12:40 -04:00
perl-mode.el
php-ts-mode.el 'php-ts-mode' depends on 'mhtml-ts-mode' instead of JS,CSS and HTML 2025-08-10 18:30:03 +03:00
prog-mode.el Add tree-sitter version of prog-fill-reindent-defun (bug#78703) 2025-06-09 22:55:09 -07:00
project.el VC other working trees: avoid reordering project--list 2025-08-08 13:30:41 +01:00
prolog.el
ps-mode.el
python.el Fix Python PDB tracking for remote inferior Python 2025-08-07 16:06:28 +03:00
ruby-mode.el
ruby-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
rust-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
scheme.el
sh-script.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
simula.el
sql.el
subword.el
tcl.el
typescript-ts-mode.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
vera-mode.el
verilog-mode.el
vhdl-mode.el
which-func.el
xref.el New top-level buffer-local value functions 2025-05-15 13:40:04 +01:00
xscheme.el