Commit graph

82 commits

Author SHA1 Message Date
Eli Zaretskii
3edd7f8453 Merge from origin/emacs-29
94bef169e2 Document shell-command-to-string security considerations
b74d9e8bad Fix shell-indirect-setup-hook :type (Bug#66051)
f549d4330f Remove column quoting from sqlite-mode
cf7efabe3f Add indentation rules for type_arguments
2023-09-23 09:32:56 -04:00
Theodor Thornhill
cf7efabe3f Add indentation rules for type_arguments
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Indent
as opening braces.
2023-09-17 08:19:05 +02:00
john muhl
a412d3c46c Fix java-ts-mode tests (bug#65738)
* admin/notes/tree-sitter/build-module/batch.sh (languages):
Add Java.
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Pass a list
to 'treesit-thing-settings'.
2023-09-07 12:06:36 +03:00
Yuan Fu
2547fbe9c4
Obsolete treesit-block/sexp/sentence/text-type-regexp
And replace them with treesit-thing-settings.

* doc/lispref/positions.texi (List Motion): Remove mention of
treesit-sexp/sentence-type-regexp.

* lisp/progmodes/c-ts-mode.el (c-ts-base-mode)
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode)
* lisp/progmodes/java-ts-mode.el (java-ts-mode)
* lisp/progmodes/js.el (js-ts-mode)
* lisp/progmodes/json-ts-mode.el (json-ts-mode)
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode)
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode)
(tsx-ts-mode)
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode)
* lisp/progmodes/sh-script.el (bash-ts-mode)
* lisp/progmodes/prog-mode.el (prog-fill-reindent-defun)
* lisp/textmodes/html-ts-mode.el (html-ts-mode): Replace
treesit-sexp/sentence/text-type-regexp with treesit-thing-settings.

* lisp/treesit.el (treesit-sexp-type-regexp)
(treesit-sentence-type-regexp): Mark obsolete.
(treesit-block-type-regexp): Remove.

* lisp/treesit.el (treesit-forward-sexp)
(treesit-transpose-sexps)
(treesit-beginning-of-defun)
(treesit-end-of-defun)
(treesit-forward-sentence)
(treesit-defun-at-point): Make use of treesit-thing-settings.

(treesit-thing-definition)
(treesit-thing-defined-p): New functions.

(treesit-major-mode-setup): Replace
treesit-sexp/sentence-type-regexp with treesit-thing-settings.
2023-09-01 20:38:25 -07:00
Basil L. Contovounesios
ba60070b81 Backport: Fix some tree-sitter :match regexps
This was originally installed on 2023-06-17 in the emacs-29 release
branch and later reverted.  This backport follows the Emacs 29.1
release (bug#64019).

The shy groups were caught by modified versions of the GNU ELPA
packages xr and relint:
- https://github.com/mattiase/xr/pull/6
- https://github.com/mattiase/relint/pull/14

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
character in regexp.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--plain-method-re):
(js--treesit-font-lock-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Replace character
alternative [\\d], which matches '\' or 'd', with the most likely
intention [0-9].  Fix shy groups mistyped as optional colons.
Remove unneeded numbered :match group in rust-ts-mode.

(cherry picked from commit cd8d3f3379)
2023-07-30 17:39:34 +02:00
Basil L. Contovounesios
cd8d3f3379 Fix some tree-sitter :match regexps
This was originally installed on 2023-06-17 in the emacs-29 release
branch and later reverted.  The intention is to backport it after
Emacs 29.1 is released.

The shy groups were caught by modified versions of the GNU ELPA
packages xr and relint:
- https://github.com/mattiase/xr/pull/6
- https://github.com/mattiase/relint/pull/14

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
character in regexp.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--plain-method-re):
(js--treesit-font-lock-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Replace character
alternative [\\d], which matches '\' or 'd', with the most likely
intention [0-9].  Fix shy groups mistyped as optional colons.
Remove unneeded numbered :match group in rust-ts-mode (bug#64019).
2023-06-17 20:47:50 +01:00
Basil L. Contovounesios
02f0be0301 Revert "Fix some tree-sitter :match regexps"
This reverts commit 95091b77f0
of 2023-06-17, mistakenly pushed to emacs-29.

The patch will be installed on master instead, and backported later,
after Emacs 29.1 is released (bug#64019).

Do not merge to master.
2023-06-17 20:39:16 +01:00
Basil L. Contovounesios
95091b77f0 Fix some tree-sitter :match regexps
The shy groups were caught by modified versions of the GNU ELPA
packages xr and relint:
- https://github.com/mattiase/xr/pull/6
- https://github.com/mattiase/relint/pull/14

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
character in regexp.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--plain-method-re):
(js--treesit-font-lock-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Replace character
alternative [\\d], which matches '\' or 'd', with the most likely
intention [0-9].  Fix shy groups mistyped as optional colons.
Remove unneeded numbered :match group in rust-ts-mode (bug#64019).
2023-06-17 16:41:35 +01:00
Eli Zaretskii
d1ddd1d5d9 Merge from origin/emacs-29
84d2da003e ; Fix example in the Flymake manual
0a1459f1d9 * doc/misc/calc.texi (Advanced Math Functions): Correct c...
92faf1f564 Consider 'dired-kill-when-opening-new-dired-buffer' in mo...
bafe71a69f ; Fix use-package.texi markup
018e4ca6c5 ; * doc/misc/calc.texi (Advanced Math Functions): Fix las...
1952dbd4c5 Fix Gamma function definition in calc.texi
f73f82d7e8 Fix subscripts in the Calc manual
70fc7c41ef Improve documentation of 'declare' forms
c835758238 ; * src/lread.c (bytecode_from_rev_list): Avoid C++ comment.
2847857496 Improve tree-sitter docs
0e9307eb2b Fix some Texinfo markup in manuals
8dc08333ee Fix bol/bos anchors in tree-sitter :match regexps
8225ade615 ; * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: F...
1f0527a312 ; Fix last change in tex-mode.el
4da479920e * lisp/subr.el (with-restriction): Tweak indent rule
36aa9bd818 ; Fix previous change
aaeaf608d8 Fix setting region in the minibuffer
1383efe01d Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has sta...
bdb0bc2b4e Fix tex-mode display-buffer issues
90047c38ce Add test for when 'completion-auto-help' is 'visible'
2c623e4feb Avoid errors in 'apropos-documentation' after 'eval-buffer'
dd3b98121c ; * doc/emacs/indent.texi (Indentation Commands): Fix las...
904edf1f07 Mention indent-rigidly in the Emacs manual
2023-06-17 05:02:55 -04:00
Basil L. Contovounesios
8dc08333ee Fix bol/bos anchors in tree-sitter :match regexps
Further regexp fixes to follow separately (bug#64019#29).

* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-settings):
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--treesit-font-lock-settings):
* lisp/progmodes/python.el (python--treesit-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/sh-script.el (sh-mode--treesit-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings):
* test/src/treesit-tests.el (treesit-query-api): Anchor :match
regexps at beginning/end of string, not line.
2023-06-13 14:35:14 +01:00
Eli Zaretskii
970f94a2dd Merge from origin/emacs-29
ede3535051 ; Fix last change
8ec786349e Fix apostrophe handling in rust-ts-mode and go-ts-mode (B...
0eba9cf651 * test/infra/Dockerfile.emba (emacs-base): Install also g...
4897c98b6c Fix 'python-util-clone-local-variables'
6b2c8dc905 Revert "Enhance Python font-lock to support multilines"
348e4504c6 Fix typo in calc.texi
03663b8798 Update to Transient v0.4.1
dc7acb1aaf Avoid errors in 'delete-forward-char' deleting static com...
2f94f6de9d Make VS-15 and VS-16 compositions work correctly
753f8aa1f1 Fix project-name for vc-aware backend in non-file buffers
17c7915ab9 ; Fix 'package-install-upgrade-built-in' check for packag...
e252ce26ea Add type_predicate 'is' as keyword in typescript-ts-mode ...
0a354d6578 Fix infloop in info-look.el
83b22139e4 Fix several todo-mode.el item editing bugs (bug#63811)
ed4cd3eddf dockerfile-ts-mode: Prevent empty categories in imenu (Bu...
2e20e318da Brush up doc strings and terminology in plstore.el
372bc1278c Add internal documentation on plstore.el
23a14e7b90 Add compact_constructor_declaration font-locking to java-...
500abc4dc3 * lisp/tmm.el (tmm-completion-delete-prompt): Add more ch...
afc1f32935 Allow to disable the DWIMish behavior of 'x' in package menu
08104c0150 Allow dired to invoke secondary browser
a3063f0bc8 Add a binding for enriched-toggle-markup
d8ba28fa39 Fix order of tmm-menubar when 'tmm-mid-prompt' is nil

# Conflicts:
#	etc/NEWS
2023-06-03 05:50:58 -04:00
Theodor Thornhill
23a14e7b90 Add compact_constructor_declaration font-locking to java-ts-mode
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
New pattern.
2023-05-30 15:29:38 +02:00
João Távora
a55aaf9eaf Merge from origin/emacs-29
4b6f2a7028 * lisp/progmodes/xref.el: Bump the version.
24c8b146bb * lisp/progmodes/xref.el (xref--xref-buffer-mode): Split ...
46f9e53c3d Fix import of keys in buffer created by epa-search-keys
36ade0704e Fix connection-local variables settings
e759905d2e ; Minor copyedits in EGLOT-NEWS
ba22a2c346 Bump Eglot version to 1.12
54e123a505 Update Eglot's manual about eglot-workspace-configuration
812597f864 ; * lisp/novice.el (disabled-command-function): Add note ...
4a603c9849 Amend last Eglot commit (bug#62065)
b916ec88b2 Make eglot-ensure's post-command-hook run a bit later (bu...
1c05175c21 Fix display of disabled-command help text
3ce37db988 Remove mention of old dotted-list reader quirk from manual
42335c2c1f Fix value history shown for 'gc-cons-percentage'
fffbce2934 TRework fix for bug#62106
8bc12a2736 ; * etc/NEWS: Fix last change.
2ac068d294 ; Remove 'ns-popup-font-panel' from documentation
5bc32d008f Add missing indentation rule for rust-ts-mode (Bug#62109)
0404924930 ; One more improvement to ELisp "internals" appendix.
c857775ca6 Fix bug#62106
0fedbfa6a9 ; Minor improvement of documentation of GC thresholds
b0b24ad2fc Add missing rust-ts-mode highlight query for scoped_type_...
c0cf69f7a1 Make "case" keyword a dedenter in Python
db178517ce ; * lisp/arc-mode.el (w32-get-console-codepage): Declare.
157a91b54b Fix decoding non-ASCII file names in zip archives on MS-W...
4803f97204 Fix copying binary files from zip archives
679f528b95 Skip ruby-ts-syntax-propertize-symbol unless treesitter i...
081cc7aa8e ; * doc/misc/eglot.texi (Project-specific configuration):...
1de513a29f Fix enums and unions appearing as structs in c-ts-base-mo...
ecdfd584a5 ruby-ts-mode: Fine-tune s-p-f on symbols (bug#62086)
29228e24f2 python-info-dedenter-opening-block-positions: Fix to supp...
01b65d442a Autoload Eglot helper funtion eglot--debbugs-or-github-bu...
50a3559c5a Add chapter on advanced server configuration to Eglot manual
2e7460c231 ; * lisp/progmodes/java-ts-mode.el (treesit-query-capture...
255eeee0e0 java-ts-mode: detect if text_block is supported.
6fe9075ff3 Revert workaround introduced in Bug#56271
f175141aea Fix searching for end of string in python-nav-end-of-stat...

# Conflicts:
#	etc/NEWS
2023-03-14 18:14:48 +00:00
Eli Zaretskii
2e7460c231 ; * lisp/progmodes/java-ts-mode.el (treesit-query-capture): Declare. 2023-03-09 12:23:14 +02:00
Vincenzo Pupillo
255eeee0e0 java-ts-mode: detect if text_block is supported.
A recent commit in tree-sitter-java (issue #141) removed support for
the text_block node type from the grammar. To support the old released
version and the new one, a helper function was added on which the
string syntax highlighting now depends. (bug#61913)

* lisp/progmodes/java-ts-mode.el
(java-ts-mode--string-highlight-helper): New helper function that
return the right query string
(java-ts-mode--font-lock-settings): Use it

Copyright-paperwork-exempt: yes
2023-03-09 12:22:49 +02:00
Stefan Kangas
6fb8a4dff7 Merge from origin/emacs-29
836044f329 Fix c-ts-mode preproc directive indentation
64980a59b6 ; * lisp/files.el (hack-local-variables): Fix typo in the...
a7cd125d49 More robustly unspoof HOME in Eglot tests (bug#61637)
6c66dbd02c Turn on Eglot inlay hints by default
246f5b541c Update ts modes missed in 4c16fd3a51 to use column-0
0bfba49ca7 Robustify Eglot for "transient" projects
ea5fd375bb Fix documentation of 'normal-mode' in buffers that don't ...
4c16fd3a51 Change tree-sitter indent anchor 'point-min' to 'column-0'
f47b393015 Fix go-ts-mode multi-line string indentation (bug#61923)
e0bf2da3db ; More accurate doc strings for 'window-at' and 'window-a...
2023-03-05 06:30:15 +01:00
Yuan Fu
4c16fd3a51
Change tree-sitter indent anchor 'point-min' to 'column-0'
Point-min isn't necessarily at column 0, using line-beginning-position
is better. column-0 is also more intuitive.

* doc/lispref/modes.texi (Parser-based Indentation): Update manual.
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles):
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--indent-rules):
* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--indent-rules): Change point-min to column-0.
* lisp/treesit.el (treesit-simple-indent-presets): Change point-min to
column-0.
2023-03-04 01:20:02 -08:00
Stefan Kangas
c5d319af47 Merge from origin/emacs-29
613de66281 Rename the newly added -ref- faces to -use-
f601e9666d Eglot: support multiple labels in same inlay hint
4a5eda7ed2 Eglot: don't paint hints outside requested region (bug#61...
11c1aa1eb1 ; * doc/misc/gnus.texi: Fix last change.
44949c292f ; Add `nnimap-user' to Gnus manual
6c7078c66f ; * lisp/progmodes/c-ts-mode.el (treesit-node-prev-siblin...
3d0a6c9baa Eglot: protect against unintended field text motion (bug#...
647e40f4a0 ; And yet another fix to eglot-current-linepos-function's...
9d0f856a16 Fix description of 'desktop-save-mode'
aee10ca1cb Adjust tree-sitter defun navigation (bug#61617)
edf5b97686 Simplify c-ts-mode--top-level-label-matcher
0f15286c53 New tree-sitter indent anchor standalone-parent used by c...

# Conflicts:
#	etc/NEWS
2023-02-28 06:30:13 +01:00
Dmitry Gutov
613de66281 Rename the newly added -ref- faces to -use-
* lisp/font-lock.el (font-lock-variable-use-face)
(font-lock-property-use-face): Rename from font-lock-variable-ref-face
and font-lock-property-ref-face.  Update all references (bug#61655).
2023-02-28 04:08:55 +02:00
Stefan Kangas
50b55656b9 Merge from origin/emacs-29
5cf50d6004 Check the anchor along with the offset in treesit-indent-...
497018dd5c ; Fix typos in docstrings in c-ts-common.el
03072bbdd3 ; Set indent-tabs-mode to nil in c-ts-mode indent preproc...
4a25fa4586 Align to prev sibling for c-ts-mode indentation
d25f24fe57 Fix c-ts-common-statement-offset and c-ts-common--node-is
c92360c7a3 typescript-ts-mode: Highlight non-shorthand destructuring...
a795c51f60 Add more/finer faces for tree-sitter
146bce4932 Avoid crashes in batch mode due to lack of frame face cache
244a73cd72 Add Tramp version integrated in Emacs 28.3

# Conflicts:
#	etc/NEWS
2023-02-25 06:30:14 +01:00
Dmitry Gutov
a795c51f60 Add more/finer faces for tree-sitter
* doc/lispref/modes.texi (Faces for Font Lock):
Update the list of faces (bug#61655).

* etc/NEWS: Update the list of new faces.

* lisp/cus-theme.el (custom-theme--listed-faces): Update.

* lisp/font-lock.el (font-lock-function-call-face)
(font-lock-variable-ref-face, font-lock-property-ref-face):
New faces.
(font-lock-property-name-face):
Rename from 'font-lock-property-face'.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
Use new faces.  More 'enumerator' query to 'definition' feature.
(c-ts-mode--fontify-declarator, c-ts-mode--fontify-variable):
Use new faces.

* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-settings): Use new faces.

* lisp/progmodes/csharp-mode.el
(csharp-ts-mode--font-lock-settings): Use new faces.

* lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
Use new faces.

* lisp/progmodes/java-ts-mode.el
(java-ts-mode--font-lock-settings): Use new faces.

* lisp/progmodes/js.el (js--treesit-fontify-assignment-lhs)
(js--treesit-font-lock-settings): Use new faces.  Highlight
variable definitions inside array and object destructuring
patterns.

* lisp/progmodes/python.el (python--treesit-variable-p):
Exclude identifiers in parameters.
(python--treesit-settings): Use new faces.  Highlight function
parameters.  Move 'keyword' up to still highlight 'self' as
keyword.

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Use new faces.

* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--font-lock-settings): Use new faces.

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Use new faces.

* lisp/textmodes/css-mode.el (css--treesit-settings):
Use font-lock-property-ref-face.

* lisp/textmodes/toml-ts-mode.el
(toml-ts-mode--font-lock-settings):
Use font-lock-property-ref-face.

* lisp/textmodes/yaml-ts-mode.el
(yaml-ts-mode--font-lock-settings): Same.
2023-02-25 03:35:08 +02:00
Stefan Kangas
314f12630a Merge from origin/emacs-29
2550e8bb0b Fix mule-tests under en_US.UTF-8 locale
3279530993 Move block closer above declaration_list rule (bug#61531)
b18754bb17 Minor improvements in c-ts-mode and docs
3c6b726a7b Add super node as a keyword
1917c51fe6 ; Prevent ERC-induced false positive in JUnit report
b16965ef7e Delete perplexing paragraph from Gnus manual
43c62a4732 ; Fix typo
2023-02-16 06:30:22 +01:00
Theodor Thornhill
3c6b726a7b Add super node as a keyword
* lisp/progmodes/java-ts-mode.el
(java-ts-mode--font-lock-settings): Add new node.
2023-02-15 18:55:17 +01:00
Stefan Kangas
bf60b3bfe7 Merge from origin/emacs-29
eb2b0931cf Add lambda_expression to c-ts-common-indent-type-regexp-a...
2da05876ed ; Use the right name when specifying VC packages
d4fc701297 Tolerate missing elpa-packages.eld files
8bc1b7d0b2 Avoid warning about 'load-path' in non-interactive sessions
3d17aee13d ; Fix installation of dependencies for VC packages
86ca7df6a3 ; Mention Hunspell private-dictionary misfeature in doc s...
7287b7b53a Support webkit2gtk-4.1
048a2dabfc ; Fix typo
2023-02-13 06:30:12 +01:00
Theodor Thornhill
eb2b0931cf Add lambda_expression to c-ts-common-indent-type-regexp-alist
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Tweak regexp.
2023-02-12 18:57:40 +01:00
Stefan Kangas
d492be400e Merge from origin/emacs-29
c9ba05af8d Fix crashes inside 'xfree' called from treesit.c
746748f5c2 Make java-ts-mode use the c-ts-common-indent-type-regexp-...
87d39a30b1 Fix c-ts-mode indentation
7cb92b5398 Fix c-ts-mode indentation
d68ff6016d Fix c-ts-mode indentation (bug#61291)
2ac8c4bbd6 (eglot-completion-at-point): Return correct values in :co...
321cbd9a60 Tighten and simplify typescript compilation-mode regexps ...
97533e73ad ; * lisp/progmodes/c-ts-common.el (treesit-node-prev-sibl...
9dfccb89fc Clarify bug-reference-auto-setup-functions docstring.
17ab426670 * lisp/treesit.el (treesit): Fix shortdoc example form (b...
5a6dfab1e4 Use c-ts-common-statement-offset in java-ts-mode (bug#61142)
c3262216ab Add array_initializer to java-ts-mode
79ab62e0bb go-ts-mode: Highlight variable declarations
1fab91d852 go-ts-mode: Fix highlighting of function name in call_exp...
07ffe902c6 c-ts-mode: Highlight "property functions" as functions
a529b0d646 rust-ts-mode: Fix highlighting of function name in call_e...
088425538f rust-ts-mode--font-lock-settings: Improve consistency
793c24a6ac Make sure 'M-x show-paren-local-mode' turns on right away
60089dcfe0 Add to bug-reference-auto-setup-functions after its decla...
26e947ccb1 * lisp/vc/vc.el (vc-find-revision-no-save): Fix parens (b...
948e343496 ; Fix byte-compilation warning
6568a1aaf9 Fix inability to turn show-paren-local-mode on manually (...
24085ba610 ; go-ts-mode--indent-rules: Indent to 0 at top level
0862a79fef Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
bb999df5d6 ; Fix whitespace of last change
929daafa1d ; Fix trivial mistake in emoji--choose-emoji
d7b4a8487f ; * lisp/isearch.el (emoji--read-emoji): Avoid compilatio...
e38ff00463 rust-ts-mode: Highlight variable declarations
d12727057d rust-ts-mode--indent-rules: Indent to 0 at top level
85705a7059 ; Move misplaces parenthesis in emoji--choose-emoji
18c43bb9d6 Ensure upper bound of font-lock region is less than point...
94f291d150 ; * lisp/paren.el (show-paren-predicate): Doc fix.  (Bug#...
3ffd0eddce Highlight more complex function parameters
58dc03ba7e No longer use transient in isearch-emoji-by-name
0c125fcc67 Make highlighting more regular across TS modes (bug#61205)
1dd751c3ac ; Improve documentation of 'proper-list-p'
96181ed3f0 Document 'plistp'
03d9d18513 Fix display of raised/lowered composed text
f13479d955 Fix installation of tree-sitter grammar on MS-Windows
0358267204 Update the Emacs FAQ for Emacs 29
2c33e2889b Fix byte-compilation of *-ts-mode.el files
b40a929a3f ; ruby-ts--syntax-propertize: Amend commentary
b80f36b88c Make c-ts-mode-set-style's effect local (bug#61245)
671e5d9fad ; * lisp/treesit.el (treesit--font-lock-level-setter): Mi...
69380a88e9 c-ts-mode: Highlight name in parameter declarations
89b550eac2 Fix switch statement indentation for go-ts-mode (bug#61238)
1a123feb18 Fix bidi reordering of sequence of whitespace characters ...
8870b54db9 Add tests for compilation support for TypeScript (bug#61104)
873a0a1508 Add support for TypeScript compilation to compile.el (bug...
3a64f81ebc Don't clobber match data in 'y-or-n-p'
4c765d93ab Refine the previous change
d99b5151f8 Add syntax-propertize-function to ruby-ts-mode
f25c15ceb7 ; Fix typos
35e238cae8 Improve documentation of 'header-line-indent-mode'
c3f58a6651 Don't casemap erc-sasl-user when set to :nick
e444115d02 Improve keymap-global-set and keymap-local-set interactiv...

# Conflicts:
#	etc/NEWS
2023-02-08 06:30:15 +01:00
Yuan Fu
746748f5c2
Make java-ts-mode use the c-ts-common-indent-type-regexp-alist
* lisp/progmodes/java-ts-mode.el:
(java-ts-mode): Setup c-ts-common-indent-type-regexp-alist.
2023-02-06 18:48:04 -08:00
Theodor Thornhill
5a6dfab1e4 Use c-ts-common-statement-offset in java-ts-mode (bug#61142)
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Add new
matchers to enable c-ts-common machinery.
(java-ts-mode): Add regexps.
* lisp/progmodes/c-ts-common.el (c-ts-common-statement-offset): Fix
typo in documentation and use the new if statement helpers.
(c-ts-common-if-statement-regexp): New defvar.
(c-ts-common-nestable-if-statement-p): New defvar.
(c-ts-common--fix-nestable-if-statement): New helper.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add test for
complicated bracket matching indentation.
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Add indent
rules for bracketless statements.
2023-02-06 07:43:37 +01:00
Theodor Thornhill
c3262216ab Add array_initializer to java-ts-mode
Indent strings inside arrray_initializer one step:

public class Java {
    void foo() {
        return new String[]{
            "foo", // These
            "bar"
        }
    }
}

* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): New
matcher.
2023-02-06 07:43:37 +01:00
Stefan Kangas
207a0d9408 Merge from origin/emacs-29
8360e12f0e Update to Org 9.6.1-23-gc45a05
9058601308 ; * doc/emacs/misc.texi (Document View): Remove @footnote...
197f994384 Document tree-sitter features in the user manual
b73539832d ; Remove treesit--font-lock-fast-mode-grace-count
64fee21d5f Fix dockerfile-ts-mode line continuation indentation (bug...
1970726e26 Use treesit-subtree-stat to determine treesit--font-lock-...
382e018856 Add treesit-subtree-stat
a3003492ac Move c-ts-mode--statement-offset to c-ts-common.el
4b1714571c ; Fix byte-compile warnings in c-ts-mode.el
f50cb7d7c4 ; Improve docstring of c-ts-mode--indent-style-setter
1c3ca3bb64 Fix <> syntax in rust-ts-mode
56e8607dc9 Fix spurious errors on Windows when deleting temporary *....
2bd0b94753 Fix java class member without access modifier (bug#61115)
1de6ebf287 Make treesit-font-lock-level a defcustom
6e50ee8bbb Add c-ts-mode-set-style and :set for c-ts-mode-indent-style
450db0587a Minor documentation improvements for outline-minor-mode (...
578e892671 ; * doc/lispref/variables.texi (File Local Variables): Im...
bc5ee2b7bf ; * src/comp.c: Remove Local Variables section to avoid w...
362678d90e python.el: Use correct regexp when enabling python-ts-mode
76bb46db9d ; * doc/emacs/frames.texi (Mouse References): Improve ind...

# Conflicts:
#	doc/emacs/programs.texi
#	etc/NEWS
#	lisp/progmodes/c-ts-mode.el
2023-01-30 07:19:43 +01:00
Theodor Thornhill
2bd0b94753 Fix java class member without access modifier (bug#61115)
This

```
public class T {
    @Autowired
        String a;
}
```

Should be indented as:

```
public class T {
    @Autowired
    String a;
}
````

* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Add new
rule to match edge case of field_declaration indentation.
2023-01-28 19:51:08 +01:00
Stefan Kangas
12e419ad11 Merge from origin/emacs-29
f8c95d1a76 Fix xt-mouse on terminals that report UTF-8 encoded coord...
4bf7cb71ed Fix go-ts-mode indentation and set indent offset to 8 (Bu...
ff9498624f ; * src/insdel.c (insert_from_buffer): Fix assertions.
41f497c8be Fix doc strings of window-splitting commands
cdf74254ff Fix indentation for c-ts-mode (bug#61026)
4bd06ce2a9 Fix call to treesit_record_change in insdel.c
00675aa724 Add support for building tree-sitter modules with MinGW
af28191b04 * lisp/net/tramp.el (tramp-wrong-passwd-regexp): Fix regexp.
42e02480c2 * doc/emacs/text.texi (Outline Minor Mode): New node spli...
37c1c92466 ; * etc/NEWS: Minor reordering.
cfb180329b ruby-ts-mode: Don't reindent when "class" or "def" is und...
abb3becb9f treesit-install-language-grammar: Provide default repo url
c6613403e5 Fix Dired face for directory symlinks
37454de0c8 Pacify --without-x unused function warning
9a21cb1075 ; * etc/NEWS: Fix typos.
f30a4f51fe Announce outline.el keymaps
8198803f66 ; Don't mention in the Gnus manual user options that were...
8a1498c01f Fix fontification of function-valued variables (bug#61053)
cfe26f3189 Add new java indent rules
987e53f3e2 ; * doc/misc/erc.texi: Improve Local Modules section.
3846e79c93 ; Fix filename mismatches in prop lines of ERC tests
ecf500b5e3 Handle relative file names in vc-resynch-window and vc-re...
695e9f71c3 Use named keymaps for outline buttons
e31a562396 * lisp/vc/vc-bzr.el (vc-bzr--pushpull): Return buffer's p...
deee3a9262 ; Fix last change in etc/NEWS
bc78285e68 ; * etc/NEWS: Fix typos.
c15c0f7f01 CC Mode: Change the default value of objc-font-lock-extra...
7f438ff543 Don't try to make a pipe process for remote processes in ...
cb9628373a * lisp/startup.el (command-line): Fix warning message.  (...
e6c5f32e77 * lisp/find-dired.el (find-dired): Fix bug where M-p skip...

# Conflicts:
#	etc/NEWS
2023-01-27 11:30:38 +01:00
Theodor Thornhill
cfe26f3189 Add new java indent rules
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Check
for enum_body_declarations and switch_label.
2023-01-25 13:04:49 +01:00
Stefan Kangas
9c8e82484a Merge from origin/emacs-29
b3814b43f6 (ruby-ts--predefined-variables): Fix the $` and $' entries
db02cbdfe0 * lisp/find-dired.el (find-dired-with-command): Quote fin...
2343a067c3 Generalize vc-pull-and-push to support more backends (bug...
846838dbab Add test suite for sgml-html-meta-auto-coding-function
0fb90f524d Fix decoding HTML files from archives
c854ef7a18 ; Fix last change (bug#60556).
8e83604dfe Avoid crashes in batch Emacs sub-processes on MS-Windows
808e101fab Tweak BSD style indentation (bug#60984)
204519a2e7 Fix typo of exposed symbol name
9296e0c649 Fix typo after move to common lib (bug#61001)
e74ba72a6a ruby-ts-mode: Fix two additional cases with ruby-method-c...
ae7e28a437 ruby-mode.el: Expand some docstrings with examples
89cb3c3f15 Minor fixes for Haiku
6adc193ad6 Move c-like common utils into own library (bug#60961)

# Conflicts:
#	lisp/progmodes/typescript-ts-mode.el
2023-01-23 02:09:15 +01:00
Stefan Kangas
0805972e4c Merge from origin/emacs-29
b3de81a6ee MH-E: handle removal of mhparam libdir from nmh 1.8
d63e1a8951 Use point-min to anchor top-level constructs (bug#60602)
3479333778 * lisp/org/ob-ruby.el: Fix outdated comments.
472f142598 ; ruby-ts-mode: Add a Version tag
0cf053648a ; ruby-ts-mode: Update font-lock features list in Commentary
67ee627c38 (project-try-vc): Add string-start and string-end anchors...
06953fc8e1 Make `keymap-set-after' work for menus
dcd59457b4 Use `key-parse' in `keymap-lookup'
8904a26a9d Improve `keymap-set-after' documentation
c7e02eaa3d Handle after arg correctly in `keymap-set-after'
628b624176 Don't load erc-goodies atop erc.el
40cf494b7c ; * etc/NEWS: Fix typos.
6b2f85caa6 Make tree-sitter based modes optional
b56cf28b32 ; (ruby-ts--predefined-variables): Make it a little shorter
d94dc606a0 ruby-ts-mode: Claw back half of the performance drop from...
d0d3451409 (ruby-ts-mode): Rename 'builtin-functions' to 'builtin-fu...
d66ac5285f ruby-ts-mode: Highlight builtin methods
370b1ac99e ; ruby-ts-mode.el: Add customize-group mention to commentary
7b7b2b9513 Fix c-ts-mode indent (bug#60873)
7ca71d66dc Fix various problems in treesit-explore-mode (bug#60800)
b7d6bb47ee ; * lisp/treesit.el (treesit-font-lock-fontify-region): M...
0c6bfeddb2 ; Update tree-sitter major mode manual
c289786886 ; Add commentary and dostring in c-ts-mode

# Conflicts:
#	etc/NEWS
#	lisp/progmodes/c-ts-mode.el
#	lisp/progmodes/go-ts-mode.el
2023-01-23 01:34:39 +01:00
Theodor Thornhill
6adc193ad6 Move c-like common utils into own library (bug#60961)
* lisp/progmodes/c-ts-common.el: New file.
* lisp/progmodes/c-ts-mode.el (treesit-induce-sparse-tree): Remove
unused declaration.
(c-ts-mode--indent-styles): Refer to the new library.
(c-ts-mode--looking-at-star,
c-ts-mode--comment-start-after-first-star,
c-ts-mode--comment-2nd-line-matcher,
c-ts-mode--comment-2nd-line-anchor, c-ts-mode--comment-regexp,
c-ts-mode--fill-paragraph, c-ts-mode--fill-block-comment): Move to
c-ts-common and expose as public.
(c-ts-mode-comment-setup): Move to c-ts-common.
* lisp/progmodes/csharp-mode.el (c-ts-common): Require new library.
(csharp-ts-mode--indent-rules): Refer to the new symbols.
(csharp-ts-mode): Use new function.
* lisp/progmodes/java-ts-mode.el (c-ts-common): Require new library.
(java-ts-mode--indent-rules): Refer to the new symbols.
(java-ts-mode): Use new function.
* lisp/progmodes/js.el (c-ts-common): Require new library.
(js--treesit-indent-rules): Refer to the new symbols.
(js-ts-mode): Use new function.
* lisp/progmodes/rust-ts-mode.el (c-ts-common): Require new library.
(rust-ts-mode--indent-rules): Refer to the new symbols.
(rust-ts-mode): Use new function.
* lisp/progmodes/typescript-ts-mode.el (c-ts-common): Require new
library.
(typescript-ts-mode--indent-rules): Refer to the new symbols.
(typescript-ts-base-mode): Use new function.
2023-01-21 21:38:27 +01:00
Theodor Thornhill
d63e1a8951 Use point-min to anchor top-level constructs (bug#60602)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): New anchor.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): New
anchor.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules): New anchor.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): New anchor.
2023-01-20 22:54:09 +01:00
Eli Zaretskii
6b2f85caa6 Make tree-sitter based modes optional
* lisp/progmodes/c-ts-mode.el: Update Commentary.  Make
'auto-mode-alist' update conditional on the tree-sitter and
grammar libraries being available.
* lisp/progmodes/cmake-ts-mode.el:
* lisp/progmodes/csharp-mode.el:
* lisp/progmodes/dockerfile-ts-mode.el:
* lisp/progmodes/go-ts-mode.el:
* lisp/progmodes/java-ts-mode.el:
* lisp/progmodes/js.el:
* lisp/progmodes/json-ts-mode.el:
* lisp/progmodes/python.el:
* lisp/progmodes/ruby-ts-mode.el:
* lisp/progmodes/typescript-ts-mode.el:
* lisp/textmodes/css-mode.el:
* lisp/textmodes/toml-ts-mode.el:
* lisp/textmodes/yaml-ts-mode.el: Make 'auto-mode-alist' update
for tree-sitter based modes be conditional on the tree-sitter and
grammar libraries being available.  (Bug#60559)
2023-01-20 10:28:26 +02:00
Theodor Thornhill
207901457c Add treesit-forward-sexp (bug#60894)
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Use
treesit-sexp-type-regexp.
* lisp/treesit.el (treesit-sexp-type-regexp): New defvar.
(treesit-forward-sexp): New command.
(treesit-major-mode-setup): Conditionally set forward-sexp-function.
* lisp/progmodes/ruby-ts-mode.el: Add some types to ruby-ts-mode.
* doc/lispref/positions.texi (List Motion): Mention the change in the
manual.
* etc/NEWS: Mention the change.
2023-01-19 19:59:52 +01:00
Stefan Kangas
cc576cc410 Merge from origin/emacs-29
920a7d38e9 ; Fix typos
48a62c5546 Add constructor_declaration as java-ts-mode defun
72c45fa910 Further improvement for non-string values in pcomplete
1ef359095e ; * etc/NEWS (--with-native-compilation=aot): Tweak wording.
a8eb9dd400 Fix the case in first-completion revealed by minibuffer-t...

# Conflicts:
#	doc/misc/modus-themes.org
#	etc/NEWS
2023-01-15 13:08:02 +01:00
Theodor Thornhill
48a62c5546 Add constructor_declaration as java-ts-mode defun
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Extend
treesit-defun-type-regexp.
2023-01-14 23:07:43 +01:00
Theodor Thornhill
50fd58be61 Use treesit-sentence-type-regexp in java-ts-mode
Initial support for forward/backward-sentence movement with
tree-sitter.  Include all statements, and some declarations.  Don't
include the bigger declarations we don't want to jump over too big
blocks of code.

* lisp/progmodes/java-ts-mode.el (java-ts-mode): Add relevant node
types to treesit-sentence-type-regexp.
2023-01-14 23:06:06 +01:00
Eli Zaretskii
a06c13db9e Merge from origin/emacs-29
fd77de542d ; * etc/NEWS: Fix typos.
195afb68e3 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
cd83bc930c ; * lisp/htmlfontify.el (hfy-exclude-file-rules): Fix :ve...
8d7ad65665 Fix indent and font-lock for annotation_type

# Conflicts:
#	etc/NEWS
2023-01-14 13:56:58 -05:00
Theodor Thornhill
8d7ad65665 Fix indent and font-lock for annotation_type
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Indent
inside body.
(java-ts-mode--font-lock-settings): Add rule for name in
annotation_type_element_declaration.
2023-01-14 15:20:49 +01:00
Stefan Monnier
d9a2673ee9 Merge from origin/emacs-29
96601cd90b apropos.el: Fix bug#60628
10032f424c Fix indentation of some declarations and statements
e2e937300f Fix indentation of object_expressions in csharp-ts-mode
0116e27b26 ; Fix NEWS markup
435ba92ccc ; Fix last change in htmlfontify.el
7100ecd7a4 Replace 'hfy-find-cmd' with 'directory-files-recursively'.
f102145d38 ; * etc/PROBLEMS: Describe problems with MuPDF 1.21.  (Bu...
2023-01-14 09:17:24 -05:00
Theodor Thornhill
10032f424c Fix indentation of some declarations and statements
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Add new
rules so that we don't anchor at col 0.
2023-01-14 12:32:59 +01:00
Stefan Kangas
e2abb95b6b Merge from origin/emacs-29
f4f30ff4c4 Update to Org 9.6.1
09f7a92064 Add support for annotation_type_declaration
4a8891a462 * etc/NEWS: Mention incompatible changes in 'outline-mino...
384504edf3 Ensure VC package names are not empty
70947da708 Handle missing package description when unpacking vc pack...

# Conflicts:
#	etc/NEWS
2023-01-12 06:30:12 +01:00
Theodor Thornhill
09f7a92064 Add support for annotation_type_declaration
* lisp/progmodes/java-ts-mode.el (java-ts-mode--keywords): Add new
keyword.
(java-ts-mode--font-lock-settings): Add font-locking to the type
feature.
2023-01-11 21:49:04 +01:00
Stefan Kangas
55e41707ea Merge from origin/emacs-29
6dd3e352f4 Extract common code into ruby-base-mode to derive from
94e330243e ruby-ts-mode: Indentation fixes
9b24417dda ruby-ts--font-lock-settings: Use more standard faces
9e6536e4d9 ruby-ts-mode: Standardize the string literal highlights
1a9a1fdebf Improve fontification in java-ts-mode (bug#60492)
dfdf9c21cb Fontification improvements in typescript-ts-mode (bug#60500)
68e68dfeef Improve fontification consistency in js-ts-mode (bug#60503)
aef869e74f ; Update tree-sitter manual
4ef12cfb1f ; Fix tree-sitter manual title case
aab8ddca5e ; nt/INSTALL: Update for Emacs 29.
809fbb0e8c ; Update copyright notice in tramp-sh.el
f8f5202487 (typescript/tsx-ts-mode): Split font-lock feature list in...
a86a213e1a js-ts-mode: Move 'string-interpolation' to font-lock level 3
d26b523886 Fix shrinking of the tab-bar
3f7ea621b9 ; Fix typos in ruby-ts-mode.el
9599b05431 ; Skip ruby-ts tests if grammar is not available
ff35ac9dfa Fix default-port regression in erc-select-read-args
b7ad0b4014 ; Clarify doc strings of 'call-process' and 'call-process...
2023-01-03 06:30:17 +01:00
Theodor Thornhill
1a9a1fdebf
Improve fontification in java-ts-mode (bug#60492)
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
Add expression_statement with only identifier support.
2023-01-02 14:29:48 -08:00