1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00
emacs/lisp
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
..
calc
calendar Use variables to store marking state 2025-08-07 16:49:56 +03:00
cedet
emacs-lisp ; define-globalized-minor-mode: Simplify a binding. 2025-08-10 10:52:47 +01:00
emulation
erc
eshell
gnus Merge from origin/emacs-30 2025-08-02 11:13:41 -04:00
image
international
language
leim/quail
mail
mh-e
net Rename variables *-in-progress-p to *-in-progress 2025-08-09 14:21:23 +02:00
nxml
obsolete
org Initialize native-tab-width in cases where there is no language mode 2025-08-09 13:07:34 -04:00
play
progmodes 'php-ts-mode' depends on 'mhtml-ts-mode' instead of JS,CSS and HTML 2025-08-10 18:30:03 +03:00
term ; * lisp/term/rxvt.el (terminal-init-rxvt): Improve commentary. 2025-08-09 15:29:18 +03:00
textmodes 'php-ts-mode' depends on 'mhtml-ts-mode' instead of JS,CSS and HTML 2025-08-10 18:30:03 +03:00
url Emulate dynamic binding of 'url-max-redirections' 2025-08-09 15:47:26 +03:00
use-package
vc Fix some 'git worktree' compatibility issues 2025-08-10 13:25:41 +01:00
abbrev.el
align.el
allout-widgets.el
allout.el
ansi-color.el
ansi-osc.el
apropos.el
arc-mode.el Do interactive tagging in arc-mode.el (bug#79166). 2025-08-07 16:46:21 +03:00
array.el
auth-source-pass.el
auth-source.el
autoinsert.el ; * lisp/autoinsert.el (auto-insert-alist): Fix last change. 2025-08-09 13:38:10 +03:00
autorevert.el Rename variables *-in-progress-p to *-in-progress 2025-08-09 14:21:23 +02:00
avoid.el
battery.el
bind-key.el
bindings.el
bookmark.el
bs.el
buff-menu.el
button.el
calculator.el
case-table.el
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9
ChangeLog.10
ChangeLog.11
ChangeLog.12
ChangeLog.13
ChangeLog.14
ChangeLog.15
ChangeLog.16
ChangeLog.17
char-fold.el
chistory.el
cmuscheme.el Merge from origin/emacs-30 2025-08-09 09:33:20 -04:00
color.el
comint.el
completion-preview.el
completion.el
composite.el
COPYING
cus-dep.el
cus-edit.el
cus-face.el
cus-start.el
cus-theme.el
custom.el
dabbrev.el
delim-col.el
delsel.el
descr-text.el
desktop.el
dframe.el
dired-aux.el
dired-x.el Rename variables *-in-progress-p to *-in-progress 2025-08-09 14:21:23 +02:00
dired.el
dirtrack.el
disp-table.el
display-fill-column-indicator.el
display-line-numbers.el
dnd.el
doc-view.el ; * lisp/doc-view.el (doc-view-initiate-display): Improve last commit 2025-08-08 13:27:08 +02:00
dom.el
dos-fns.el
dos-vars.el
dos-w32.el
double.el
dynamic-setting.el
ebuff-menu.el
ecomplete.el
editorconfig-conf-mode.el
editorconfig-core-handle.el
editorconfig-core.el
editorconfig-fnmatch.el
editorconfig-tools.el
editorconfig.el
edmacro.el
ehelp.el
elec-pair.el
electric.el
elide-head.el
emacs-lock.el
env.el
epa-dired.el
epa-file.el
epa-hook.el
epa-ks.el
epa-mail.el
epa.el
epg-config.el
epg.el
expand.el
external-completion.el external-completion: specify a required Emacs version 2025-08-06 13:13:58 +02:00
ezimage.el
face-remap.el
facemenu.el
faces.el
ffap.el
filecache.el
fileloop.el
filenotify.el
files-x.el
files.el ; * lisp/files.el (revert-buffer-in-progress): Fix compiler warning. 2025-08-09 16:56:32 +03:00
filesets.el
find-cmd.el
find-dired.el
find-file.el
find-lisp.el
finder.el
flow-ctrl.el
foldout.el
follow.el
font-core.el
font-lock.el
format-spec.el
format.el
forms.el
frame.el
frameset.el
fringe.el
generic-x.el
help-at-pt.el
help-fns.el
help-macro.el
help-mode.el
help.el (help-function-arglist): Fix bug#79128 2025-08-07 13:49:48 -04:00
hex-util.el
hexl.el
hfy-cmap.el
hi-lock.el
hilit-chg.el
hippie-exp.el
hl-line.el
htmlfontify.el
ibuf-ext.el
ibuf-macs.el
ibuffer.el
icomplete.el
ido.el
ielm.el
iimage.el
image-file.el
image-mode.el
image.el Merge from origin/emacs-30 2025-08-02 11:13:41 -04:00
imenu.el
indent-aux.el ; * lisp/indent-aux.el: Add a comment (bug#79176). 2025-08-07 16:12:37 +03:00
indent.el
info-look.el
info-xref.el
info.el
informat.el
isearch.el
isearchb.el
jit-lock.el
jka-cmpr-hook.el
jka-compr.el
json.el
jsonrpc.el
keymap.el
kmacro.el
ldefs-boot.el
loadhist.el
loadup.el
locate.el
lpr.el
ls-lisp.el
macros.el
Makefile.in
man.el
master.el
mb-depth.el
md4.el
menu-bar.el
midnight.el
minibuf-eldef.el
minibuffer.el
misc.el
misearch.el
mouse-copy.el
mouse-drag.el
mouse.el
mpc.el
msb.el
mwheel.el
newcomment.el
notifications.el
novice.el
obarray.el
outline.el
paren.el
password-cache.el
pcmpl-cvs.el
pcmpl-git.el
pcmpl-gnu.el
pcmpl-linux.el
pcmpl-rpm.el
pcmpl-unix.el
pcmpl-x.el
pcomplete.el
pgtk-dnd.el
pixel-scroll.el
plstore.el
printing.el
proced.el
profiler.el
ps-bdf.el
ps-mule.el
ps-print.el
ps-samp.el
pulse.el
README
recentf.el
rect.el
register.el
registry.el
repeat.el
replace.el
reposition.el
reveal.el
rfn-eshadow.el
ring-bell-fns.el
rot13.el
rtree.el
ruler-mode.el
savehist.el
saveplace.el Rename variables *-in-progress-p to *-in-progress 2025-08-09 14:21:23 +02:00
scroll-all.el
scroll-bar.el
scroll-lock.el
select.el
send-to.el
server.el
ses.el
shadowfile.el
shell.el
simple.el
skeleton.el
so-long.el
sort.el
soundex.el
speedbar.el
sqlite-mode.el
sqlite.el
startup.el Revert "Stop subprocesses from using inherited or default PAGER" 2025-08-09 15:42:26 +03:00
strokes.el
subr.el
svg.el
t-mouse.el
tab-bar.el
tab-line.el ; Improve doc strings in tab-line.el 2025-08-05 15:30:17 +03:00
tabify.el
talk.el
tar-mode.el
tempo.el
term.el
thingatpt.el
thread.el
time-stamp.el
time.el
timezone.el
tmm.el
tool-bar.el
tooltip.el
touch-screen.el
transient.el
tree-widget.el
treesit-x.el
treesit.el 'php-ts-mode' depends on 'mhtml-ts-mode' instead of JS,CSS and HTML 2025-08-10 18:30:03 +03:00
tty-tip.el
tutorial.el
type-break.el
uniquify.el
userlock.el
vcursor.el
version.el
view.el
visual-wrap.el
w32-fns.el
w32-vars.el
wdired.el
which-key.el
whitespace.el
wid-browse.el
wid-edit.el
widget.el
windmove.el
window-tool-bar.el
window-x.el
window.el
winner.el
woman.el
x-dnd.el
xdg.el
xml.el
xt-mouse.el
xwidget.el
yank-media.el

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.