nixpkgs/pkgs/build-support/emacs
Chris Hodapp 1a8edfe192
emacs: Add basic tree-sitter support (#219559)
This commit adds basic support for tree-sitter in the emacs build,
such that (if the user opts into tree-sitter support), tree-sitter
will be enabled and binary library files for tree-sitter can be
included in the `lib` directory of packages passed to
`emacsWithPackages`. The libraries will be aggregated and included in
treesit-extra-load-path.

The previous pattern for this in the community was to add tree-sitter
libaries by patching emacs's `RUNPATH` with `patchelf` in a post-fixup
phase. However, this has the substantial drawback that two different
emacs installations with different lists of available tree-sitter
libraries must be entirely separate builds. By supplying the
tree-sitter libraries in the wrapping layer of `emacsWithpackages`, it
becomes possible to share a single, more-cacheable "core emacs".

This support defaults to "on" only in emacs 29 and up, since previous
versions do not support tree-sitter out of the box.
2023-03-15 16:51:29 +13:00
..
buffer.nix
elpa.nix elpa-packages: deprecate phases 2021-08-16 21:34:58 +02:00
elpa2nix.el
emacs-funcs.sh emacs: add currently compiling package dirs to load-path 2021-02-19 16:46:31 +01:00
generic.nix emacs: remove warning of xargs when doing AOT native-comp 2022-10-04 02:53:55 +08:00
melpa.nix package-build: don't use mtime when creating tarballs 2022-09-18 10:02:53 +01:00
melpa2nix.el emacsPackages.melpaBuild: Update package-build, avoid monkey-patch 2022-05-23 12:52:17 -07:00
mk-wrapper-subdirs.el emacs: resolve wrapper load-path at build time 2021-11-14 22:31:48 +01:00
package-build-dont-use-mtime.patch package-build: don't use mtime when creating tarballs 2022-09-18 10:02:53 +01:00
trivial.nix emacs.pkgs.trivialBuild: add missing stdenv argument 2021-01-26 16:15:03 +01:00
wrapper.nix emacs: Add basic tree-sitter support (#219559) 2023-03-15 16:51:29 +13:00
wrapper.sh emacsWithPackages: Rely on package.el for autoloads 2022-07-11 20:22:20 -05:00