Commit graph

3390 commits

Author SHA1 Message Date
Stefan Kangas f25c15ceb7 ; Fix typos 2023-02-03 18:03:18 +01:00
Yuan Fu 8a6bdf88b4
Call treesit_record_change in insert_from_gap_1
Before this change, insert_from_gap calls treesit_record_change but
insert_from_gap_1 doesn't.  However, insert_from_gap_1 is a public
function and is called in many other places outside of insdel.c.  This
could lead to tree-sitter's parse tree becoming out-of-sync with the
buffer content.

This change might fix bug#60650.

* src/insdel.c (insert_from_gap_1): Call treesit_record_change.
(insert_from_gap): Remove call to treesit_record_change.

* admin/notes/tree-sitter/treesit_record_change: New file.
2023-02-02 18:31:19 -08:00
Randy Taylor 00675aa724
Add support for building tree-sitter modules with MinGW
* admin/notes/tree-sitter/build-module/build.sh: Add support for
building tree-sitter modules with MinGW.
2023-01-25 23:14:35 -08:00
Juri Linkov 6b5831c696 Tree-sitter doc fixes (bug#60524)
* doc/lispref/modes.texi (Parser-based Font Lock):
Replace :lang with :language.

* doc/lispref/parsing.texi (Language Grammar): Replace
treesit-load-suffixes with dynamic-library-suffixes.
(Retrieving Nodes): Fix function names.
(Tree-sitter Major Modes): Fix treesit-ready-p args.
Fix pxref to Parser-based Indentation.
(Tree-sitter C API): Fix function names.

* lisp/treesit.el (treesit--simple-indent-eval): Remove cond BODY
duplicated from CONDITION.
(treesit)<define-short-documentation-group>: Fix function names.
2023-01-04 09:57:06 +02:00
Gregory Heytings 4520f09dd8 ; * admin/git-bisect-start: Update failing commits 2023-01-02 11:01:36 +01:00
Eli Zaretskii cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Stefan Kangas 9292f595a7 ; Fix typos 2022-12-31 12:43:32 +01:00
Stefan Kangas 2608e5edcc ; Fix typos
(cherry picked from commit a5d39e1144)
2022-12-26 10:42:02 +01:00
Sean Whitton 5a34e7c86c ; * admin/notes/git-workflow: Adding "Backport:" is optional. 2022-12-22 13:38:58 -07:00
Gregory Heytings 12e26cc0c1 ; * admin/git-bisect-start: Add mistakenly ommitted commits to skip 2022-12-19 02:08:23 +01:00
Gregory Heytings c2375e7791 Improve and extend admin/git-bisect-start
* admin/git-bisect-start: Use 'git bisect skip' instead of 'git
bisect good' for merges of external trees, which is equivalent but
faster in some cases.  Improve the explanation on external tree
merges.  Add list of commits in the last six years on which
building Emacs fails, and call 'git bisect skip' on them.  Also
document how the script can be called automatically when 'git
bisect start' is called in the Emacs repository.

* admin/notes/repo (Bisecting): Adapt the explanation of the
script accordingly.
2022-12-18 11:48:58 +01:00
Randy Taylor 4f9bccef55
Add yaml-ts-mode (Bug#60105)
* admin/notes/tree-sitter/build-module/batch.sh:
* admin/notes/tree-sitter/build-module/build.sh: Add yaml support.
* etc/NEWS: Mention it.
* lisp/textmodes/yaml-ts-mode.el: New major mode with
tree-sitter support.
* lisp/progmodes/eglot.el (eglot-server-programs): Add it.
2022-12-16 14:55:02 -08:00
Randy Taylor fee2efe1b0
Add go-ts-mode and go-mod-ts-mode (Bug#60025)
* admin/notes/tree-sitter/build-module/batch.sh:
* admin/notes/tree-sitter/build-module/build.sh: Add go-mod support.
* etc/NEWS: Mention them.
* lisp/progmodes/eglot.el (eglot-server-programs): Add them.
* lisp/progmodes/go-ts-mode.el: New major modes with
tree-sitter support.
2022-12-15 17:20:50 -08:00
Jostein Kjønigsen 1985762fbd
Introduce support for TOML config-format
This commit introduces support for the semi-popular TOML
config-format[1] through a new major-mode: toml-ts-mode.

I've read through the full spec[2], and from what I can see this
major-mode should provide correct syntax-highligting for every sort of
config-declaration which adheres to the specification.

Besides that it also adds support for imenu and basic tree-sitter
based navigation.

[1] https://toml.io/en/
[2] https://toml.io/en/v1.0.0
2022-12-14 14:24:09 -08:00
Yuan Fu 91b8d9b7db
; * admin/notes/tree-sitter/build-module/build.sh: Minor name change. 2022-12-13 18:04:32 -08:00
lu4nx 5d4274d9b6
; * admin/notes/tree-sitter/build-module/build.sh: Add -fPIC.
(bug#59967)
2022-12-12 15:08:54 -08:00
Randy Taylor ca67d988d8
Add cmake-ts-mode
* admin/notes/tree-sitter/build-module/batch.sh:
* admin/notes/tree-sitter/build-module/build.sh: Add cmake support.
* etc/NEWS: Mention it.
* lisp/progmodes/cmake-ts-mode.el: New major mode with
tree-sitter support.
* lisp/progmodes/eglot.el (eglot-server-programs): Add it.
2022-12-12 15:08:54 -08:00
Gregory Heytings 79659416f9 ; * admin/git-bisect-start: Fix commit hash 2022-12-11 00:35:26 +01:00
Yuan Fu 5a092c8e46
; * admin/notes/tree-sitter/starter-guide (Indent): Minor fix. 2022-12-09 20:55:43 -08:00
Randy Taylor 8f49137c9b
Add dockerfile-ts-mode (Bug#59894)
* admin/notes/tree-sitter/build-module/batch.sh: Add dockerfile support.
* admin/notes/tree-sitter/build-module/build.sh: Support different
namespaces and add dockerfile support.
* etc/NEWS: Mention it.
* lisp/progmodes/dockerfile-ts-mode.el: New major mode with
tree-sitter support.
* lisp/progmodes/eglot.el (eglot-server-programs): Add it.
2022-12-09 16:46:01 -08:00
Mattias Engdegård 465a9e78b9 Better test-custom-opts diagnostics
Make it easier to understand errors from the test-custom-opts test by
reporting variable values and types that didn't match.

* admin/cus-test.el (cus-test-errors): Richer contents.
(cus-test--format-error): New.
(cus-test-apropos, cus-test-errors-display, cus-test-opts):
Use new format.
2022-12-09 12:07:01 +01:00
Stefan Kangas d3d9676bf8 New script admin/check-man-pages
* admin/check-man-pages: New file with script used to check man pages
for errors.  (Bug#59631)
* admin/make-tarball.txt: Document when to use the above script.
2022-12-09 11:15:21 +01:00
Stefan Kangas e950f5a663 Merge branch 'feature/use-package' into emacs-29 2022-12-08 18:01:30 +01:00
Stefan Kangas 6bb4267a54 * admin/git-bisect-start: Prune use-package merge commits. 2022-12-08 17:50:05 +01:00
Stefan Kangas 8fb2afe051 ; Fix typos 2022-12-08 07:17:47 +01:00
Yuan Fu 6acf95cbea
Fix admin/notes/tree-sitter/build-module/build.sh (bug#59789)
Besides the problem mentioned by Juri, which is fixed by removing

-cp tree-sitter-lang.in "tree-sitter-${lang}/src"
-cp emacs-module.h "tree-sitter-${lang}/src"

(we removed those files in an earlier commit, because they are not
used anymore.)

Now it also more parameterized and builds typescript and tsx
separately.

* admin/notes/tree-sitter/build-module/build.sh (topdir)
(repo, sourcedir, grammardir): New variables.
(Build): Make it parametric.
(Copy out): Use absolute path.

* admin/notes/tree-sitter/build-module/batch.sh (languages): Add tsx.
2022-12-06 16:11:35 -08:00
Eli Zaretskii c6cb6d8506 Cut the emacs-29 release branch
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 29.0.60.

* admin/admin.el (set-version): Fix regexp for configure.ac.

* lisp/cus-edit.el (customize-changed-options-previous-release):
Bump last version to 28.2.
2022-11-28 19:47:35 +02:00
Juanma Barranquero ea73fd69f0 ; Fix typos in tree-sitter files
* admin/notes/tree-sitter/starter-guide (Font-lock)
(Debugging queries, Indent, Navigation, Which-func)
(More features?):
* lisp/treesit.el (treesit--merge-ranges)
(treesit-font-lock-feature-list, treesit-font-lock-rules)
(treesit-font-lock-fontify-region, treesit--font-lock-notifier)
(treesit-simple-indent-presets, treesit--font-lock-fast-mode)
(treesit--indent-region-batch-size)
(treesit--indent-rules-optimize, treesit-ready-p): Fix typos.
2022-11-22 04:40:49 +01:00
Stefan Kangas 40539c7587 ; Fix typos 2022-11-22 02:24:20 +01:00
Yuan Fu eb1a35adc1
; Update tree-sitter starter guide
* admin/notes/tree-sitter/starter-guide: Reflect recent changes.
* admin/notes/tree-sitter/html-manual/Using-Parser.html:
* admin/notes/tree-sitter/html-manual/Tree_002dsitter-C-API.html:
* admin/notes/tree-sitter/html-manual/Parsing-Program-Source.html:
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Indentation.html:
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Font-Lock.html:
* admin/notes/tree-sitter/html-manual/Multiple-Languages.html:
* admin/notes/tree-sitter/html-manual/Language-Definitions.html: Update.
2022-11-21 13:33:03 -08:00
Yuan Fu aaeaa310f0
Merge remote-tracking branch 'savannah/master' into feature/tree-sitter 2022-11-21 12:54:35 -08:00
Stefan Kangas 16318bfb51 ; Fix typos 2022-11-20 12:59:39 +01:00
Yuan Fu eecc2d45b9
; Update tree-sitter HTML manuals in admin/notes
* admin/notes/tree-sitter/html-manual/Language-Definitions.html
* admin/notes/tree-sitter/html-manual/Multiple-Languages.html
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Font-Lock.html
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Indentation.html
* admin/notes/tree-sitter/html-manual/Retrieving-Node.html: Update.
2022-11-09 15:51:13 -08:00
Stefan Kangas 5890e40a27 * admin/authors.el: Don't recommend deprecated fgrep. 2022-11-04 14:58:05 +01:00
Yuan Fu 5416ae5990
; Update guides in /admin/notes/tree-sitter
* admin/notes/tree-sitter/html-manual/Language-Definitions.html
* admin/notes/tree-sitter/html-manual/Multiple-Languages.html
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Font-Lock.html
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Indentation.html
* admin/notes/tree-sitter/html-manual/Parsing-Program-Source.html
* admin/notes/tree-sitter/html-manual/Pattern-Matching.html
* admin/notes/tree-sitter/html-manual/Retrieving-Node.html
* admin/notes/tree-sitter/html-manual/Tree_002dsitter-C-API.html
* admin/notes/tree-sitter/html-manual/Using-Parser.html
* admin/notes/tree-sitter/starter-guide: Update to reflect changes
made recently.
2022-11-03 11:43:44 -07:00
Gregory Heytings b035db7a31 ; * admin/git-bisect-start: Improve commentary. 2022-11-02 15:22:33 +01:00
Eli Zaretskii a762cb4f8c ; * admin/git-bisect-start: Improve commentary. 2022-11-02 15:47:58 +02:00
Gregory Heytings bec2b542c5 ; * admin/git-bisect-start: Use a full reference. 2022-11-02 14:08:27 +01:00
Gregory Heytings 208f0578d1 Add a script to ease bisecting.
* admin/git-bisect-start: New script.

* admin/notes/repo (Bisecting): Mention the script.

* admin/emake: Add a Copyright blurb.
2022-11-01 19:21:38 +01:00
Gerd Möllmann e7c105fd73 ; Mention git bisect's --first-parent in admin/notes/repo 2022-11-01 10:25:28 +01:00
Stefan Kangas 636322cfe0 * admin/notes/repo: Document feature and scratch branches. 2022-10-22 12:18:34 +02:00
Stefan Kangas a9111d8670 Add admin/emacs-shell-lib for shared bash code
* admin/emacs-shell-lib: New file for shared bash code.
* admin/automerge:
* admin/diff-tar-files:
* admin/emacs-shell-lib:
* admin/make-manuals:
* admin/update_autogen:
* admin/upload-manuals: Simplify and improve using above new library.
2022-10-19 13:26:54 +02:00
Stefan Kangas 3187225416 ; Prefer HTTPS to HTTP in many URLs 2022-10-15 13:06:45 +02:00
Stefan Kangas 2b7fefdef1 Merge from origin/emacs-28
4b4b093ab3 ; * admin/make-tarball.txt: Fix typo.
2022-10-13 06:31:52 +02:00
Stefan Kangas 4b4b093ab3 ; * admin/make-tarball.txt: Fix typo. 2022-10-13 04:46:32 +02:00
Yuan Fu 2f6b017e3d
* admin/notes/tree-sitter/starter-guide (Navigation): Improve demo. 2022-10-10 11:00:51 -07:00
Yuan Fu 861e1fb595
Fix tree-sitter build script in admin/notes
* admin/notes/tree-sitter/build-module/README: Add explaination.
* admin/notes/tree-sitter/build-module/build.sh: change
typescript to tsx.
2022-10-10 09:14:30 -07:00
Yuan Fu c88a1631e3
Make tree-sitter font-lock support decoration levels
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Font-Lock.html:
Update.
* admin/notes/tree-sitter/html-manual/Parsing-Program-Source.html:
Update.
* doc/lispref/modes.texi: Mention the new :level option.
* lisp/treesit.el (treesit-font-lock-settings): Update docstring.
(treesit-font-lock-rules): Support :level.  Relayout the let form.
(treesit-font-lock-fontify-region): Support :level.
2022-10-09 17:20:28 -07:00
Yuan Fu 9f7c359f40
Add note on tree-sitter's naming convention
* admin/notes/tree-sitter/starter-guide: Add note.
* doc/lispref/parsing.texi: Add note.
2022-10-09 17:20:26 -07:00
Yuan Fu 8bc6e31502
Add a :toggle option for tree-sitter font-lock
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Font-Lock.html:
Update html manual.
* admin/notes/tree-sitter/html-manual/build-manual.sh: Fix manual
path.
* admin/notes/tree-sitter/starter-guide: Mention :toggle.
* doc/lispref/modes.texi: Mention :toggle.
* lisp/treesit.el (treesit-font-lock-settings): Update docstring.
(treesit-font-lock-rules): Handle :toggle.  Also change
some wrong-type-argument signal to treesit-font-lock-error which is
easier to understand.
(treesit-font-lock-fontify-region): Handle :toggle.
2022-10-07 01:21:09 -07:00