nixpkgs/pkgs/applications/editors/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
..
elisp-packages Merge pull request #220529 from kira-bruneau/emacsPackages.acm-terminal 2023-03-12 11:24:01 -04:00
28.nix emacs: provide functional default for patches argument 2022-10-15 19:23:56 +02:00
generic.nix emacs: Add basic tree-sitter support (#219559) 2023-03-15 16:51:29 +13:00
macport.nix emacs: integrate macport into generic drv 2022-10-15 19:31:53 +02:00
native-comp-driver-options-28.patch emacs: change substituteInPlace invocation to an aligning patch 2022-11-30 11:37:12 -08:00
native-comp-driver-options.patch emacs: change substituteInPlace invocation to an aligning patch 2022-11-30 11:37:12 -08:00
site-start.el emacs: populate load-path recursively 2022-02-22 20:03:35 -06:00