]> git.eshelyaron.com Git - emacs.git/commitdiff
Mention 'tree-sitter' in user manual and NEWS
authorEli Zaretskii <eliz@gnu.org>
Thu, 15 Dec 2022 08:47:11 +0000 (10:47 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 15 Dec 2022 08:47:11 +0000 (10:47 +0200)
* doc/emacs/programs.texi (Program Modes): Mention tree-sitter and
the modes supported by it.
* etc/NEWS: Mention tree-sitter in the Installation Changes
section.

doc/emacs/programs.texi
etc/NEWS

index ba8475e86ac1c3df65c308069393ada15c70647a..954f4c892e2276515e49b3d60422c357cf78119d 100644 (file)
@@ -88,6 +88,10 @@ mode for the C programming language is @code{c-mode}.
 @cindex JSON mode
 @cindex SQL mode
 @cindex TypeScript mode
+@cindex CSS mode
+@cindex Dockerfile mode
+@cindex CMake mode
+@cindex TOML mode
   Emacs has programming language modes for Lisp, Scheme, the
 Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, C#,
 Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, M4, Makefiles,
@@ -97,13 +101,20 @@ Python, Ruby, Simula, SQL, Tcl, TypeScript, Verilog, and VHDL@.  An
 alternative mode for Perl is called CPerl mode.  Modes are also
 available for the scripting languages of the common GNU and Unix
 shells, and MS-DOS/MS-Windows @samp{BAT} files, JSON, DNS master
-files, and various sorts of configuration files.
+files, CSS (Cascading Style Sheets), Dockerfiles, CMake files, and various sorts of configuration files.
 
   Ideally, Emacs should have a major mode for each programming
 language that you might want to edit.  If it doesn't have a mode for
 your favorite language, the mode might be implemented in a package not
 distributed with Emacs (@pxref{Packages}); or you can contribute one.
 
+@cindex tree-sitter library, supported major modes
+  If Emacs has been compiled with the @samp{tree-sitter} library, it
+offers several optional editing modes based on that library, which
+utilize the incremental parsing capabilities provided by
+@samp{tree-sitter}.  These modes have @samp{-ts-} in their names; for
+example @code{c-ts-mode}, @code{python-ts-mode}, etc.
+
 @kindex DEL @r{(programming modes)}
 @findex backward-delete-char-untabify
   In most programming languages, indentation should vary from line to
index ccaf111f6a64df06afe0912c6a05ba2272ce9c6b..6f0d1f65bf2b652a15826152681e9624b0a1763d 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -30,6 +30,16 @@ Use '--with-native-compilation=aot' to specify that all the Lisp files
 in the Emacs tree should be natively compiled ahead of time.  (This is
 slow on most machines.)
 
++++
+** Emacs can be built with the 'tree-sitter' parsing library.
+This library, together with grammar libraries, provides incremental
+parsing capabilities for several popular programming languages and
+other formatted files.  Emacs built with this library offers major
+modes, described elsewhere in this file, that are based on the
+'tree-sitter's parsers.  If you have the 'tree-sitter' library
+installed, the configure script will automatically include it in the
+build; use '--without-tree-sitter' at configure time to disable that.
+
 +++
 ** Emacs can be built with built-in support for accessing SQLite databases.
 This uses the popular sqlite3 library, and can be disabled by using