Variable: treesit-fold-range-alist

treesit-fold-range-alist is a customizable variable defined in treesit-fold.el.

Value

Large value
((actionscript-mode (statement_block . treesit-fold-range-seq)
		    (line_comment . treesit-fold-range-c-like-comment)
		    (block_comment . treesit-fold-range-c-like-comment))
 (agda-mode nil)
 (arduino-mode (compound_statement . treesit-fold-range-seq)
	       (declaration_list . treesit-fold-range-seq)
	       (enumerator_list . treesit-fold-range-seq)
	       (field_declaration_list . treesit-fold-range-seq)
	       (preproc_if . treesit-fold-range-c-preproc-if)
	       (preproc_ifdef . treesit-fold-range-c-preproc-ifdef)
	       (preproc_elif . treesit-fold-range-c-preproc-elif)
	       (preproc_else . treesit-fold-range-c-preproc-else)
	       (comment . treesit-fold-range-c-like-comment))
 (asm-mode (label . treesit-fold-range-asm-label)
	   (block_comment . treesit-fold-range-c-like-comment)
	   (line_comment lambda (node offset)
			 (let ((text (treesit-node-text node)))
			   (cond
			    ((string-prefix-p ";;" text)
			     (treesit-fold-range-line-comment node
							      offset
							      ";;"))
			    ((string-prefix-p "#" text)
			     (treesit-fold-range-line-comment node
							      offset
							      "#"))
			    (t
			     (treesit-fold-range-c-like-comment node
								offset))))))
 (awk-mode (compound_statement . treesit-fold-range-seq)
	   (declaration_list . treesit-fold-range-seq)
	   (enumerator_list . treesit-fold-range-seq)
	   (field_declaration_list . treesit-fold-range-seq)
	   (preproc_if . treesit-fold-range-c-preproc-if)
	   (preproc_ifdef . treesit-fold-range-c-preproc-ifdef)
	   (preproc_elif . treesit-fold-range-c-preproc-elif)
	   (preproc_else . treesit-fold-range-c-preproc-else)
	   (comment . treesit-fold-range-c-like-comment))
 (awk-ts-mode (compound_statement . treesit-fold-range-seq)
	      (declaration_list . treesit-fold-range-seq)
	      (enumerator_list . treesit-fold-range-seq)
	      (field_declaration_list . treesit-fold-range-seq)
	      (preproc_if . treesit-fold-range-c-preproc-if)
	      (preproc_ifdef . treesit-fold-range-c-preproc-ifdef)
	      (preproc_elif . treesit-fold-range-c-preproc-elif)
	      (preproc_else . treesit-fold-range-c-preproc-else)
	      (comment . treesit-fold-range-c-like-comment))
 (editorconfig-conf-mode
  (section . treesit-fold-range-editorconfig-section)
  (comment lambda (node offset)
	   (treesit-fold-range-line-comment node
					    (treesit-fold--cons-add
					     offset '(0 . -1))
					    "#")))
 (fasm-mode (label . treesit-fold-range-asm-label)
	    (block_comment . treesit-fold-range-c-like-comment)
	    (line_comment lambda (node offset)
			  (let ((text (treesit-node-text node)))
			    (cond
			     ((string-prefix-p ";;" text)
			      (treesit-fold-range-line-comment node
							       offset
							       ";;"))
			     ((string-prefix-p "#" text)
			      (treesit-fold-range-line-comment node
							       offset
							       "#"))
			     (t
			      (treesit-fold-range-c-like-comment node
								 offset))))))
 (masm-mode (label . treesit-fold-range-asm-label)
	    (block_comment . treesit-fold-range-c-like-comment)
	    (line_comment lambda (node offset)
			  (let ((text (treesit-node-text node)))
			    (cond
			     ((string-prefix-p ";;" text)
			      (treesit-fold-range-line-comment node
							       offset
							       ";;"))
			     ((string-prefix-p "#" text)
			      (treesit-fold-range-line-comment node
							       offset
							       "#"))
			     (t
			      (treesit-fold-range-c-like-comment node
								 offset))))))
 (nasm-mode (label . treesit-fold-range-asm-label)
	    (block_comment . treesit-fold-range-c-like-comment)
	    (line_comment lambda (node offset)
			  (let ((text (treesit-node-text node)))
			    (cond
			     ((string-prefix-p ";;" text)
			      (treesit-fold-range-line-comment node
							       offset
							       ";;"))
			     ((string-prefix-p "#" text)
			      (treesit-fold-range-line-comment node
							       offset
							       "#"))
			     (t
			      (treesit-fold-range-c-like-comment node
								 offset))))))
 (gas-mode (label . treesit-fold-range-asm-label)
	   (block_comment . treesit-fold-range-c-like-comment)
	   (line_comment lambda (node offset)
			 (let ((text (treesit-node-text node)))
			   (cond
			    ((string-prefix-p ";;" text)
			     (treesit-fold-range-line-comment node
							      offset
							      ";;"))
			    ((string-prefix-p "#" text)
			     (treesit-fold-range-line-comment node
							      offset
							      "#"))
			    (t
			     (treesit-fold-range-c-like-comment node
								offset))))))
 (bash-ts-mode (compound_statement . treesit-fold-range-seq)
	       (do_group treesit-fold-range-seq 1 -3)
	       (comment lambda (node offset)
			(treesit-fold-range-line-comment node offset
							 "#")))
 (beancount-mode
  (transaction . treesit-fold-range-beancount-transaction)
  (comment lambda (node offset)
	   (treesit-fold-range-line-comment node offset ";;")))
 (beancount-ts-mode
  (transaction . treesit-fold-range-beancount-transaction)
  (comment lambda (node offset)
	   (treesit-fold-range-line-comment node offset ";;")))
 (c-mode (compound_statement . treesit-fold-range-seq)
	 (declaration_list . treesit-fold-range-seq)
	 (enumerator_list . treesit-fold-range-seq)
	 (field_declaration_list . treesit-fold-range-seq)
	 (preproc_if . treesit-fold-range-c-preproc-if)
	 (preproc_ifdef . treesit-fold-range-c-preproc-ifdef)
	 (preproc_elif . treesit-fold-range-c-preproc-elif)
	 (preproc_else . treesit-fold-range-c-preproc-else)
	 (comment . treesit-fold-range-c-like-comment))
 (c-ts-mode (compound_statement . treesit-fold-range-seq)
	    (declaration_list . treesit-fold-range-seq)
	    (enumerator_list . treesit-fold-range-seq)
	    (field_declaration_list . treesit-fold-range-seq)
	    (preproc_if . treesit-fold-range-c-preproc-if)
	    (preproc_ifdef . treesit-fold-range-c-preproc-ifdef)
	    (preproc_elif . treesit-fold-range-c-preproc-elif)
	    (preproc_else . treesit-fold-range-c-preproc-else)
	    (comment . treesit-fold-range-c-like-comment))
 (c++-mode (compound_statement . treesit-fold-range-seq)
	   (declaration_list . treesit-fold-range-seq)
	   (enumerator_list . treesit-fold-range-seq)
	   (field_declaration_list . treesit-fold-range-seq)
	   (preproc_if . treesit-fold-range-c-preproc-if)
	   (preproc_ifdef . treesit-fold-range-c-preproc-ifdef)
	   (preproc_elif . treesit-fold-range-c-preproc-elif)
	   (preproc_else . treesit-fold-range-c-preproc-else)
	   (comment . treesit-fold-range-c-like-comment))
 (c++-ts-mode (compound_statement . treesit-fold-range-seq)
	      (declaration_list . treesit-fold-range-seq)
	      (enumerator_list . treesit-fold-range-seq)
	      (field_declaration_list . treesit-fold-range-seq)
	      (preproc_if . treesit-fold-range-c-preproc-if)
	      (preproc_ifdef . treesit-fold-range-c-preproc-ifdef)
	      (preproc_elif . treesit-fold-range-c-preproc-elif)
	      (preproc_else . treesit-fold-range-c-preproc-else)
	      (comment . treesit-fold-range-c-like-comment))
 (caml-mode (comment . treesit-fold-range-ocaml-comment)
	    (module_definition
	     . treesit-fold-range-ocaml-module-definition)
	    (type_definition
	     . treesit-fold-range-ocaml-type-definition)
	    (value_definition
	     . treesit-fold-range-ocaml-value-definition))
 (caml-ts-mode (comment . treesit-fold-range-ocaml-comment)
	       (module_definition
		. treesit-fold-range-ocaml-module-definition)
	       (type_definition
		. treesit-fold-range-ocaml-type-definition)
	       (value_definition
		. treesit-fold-range-ocaml-value-definition))
 (cmake-mode (body . treesit-fold-range-cmake-body)
	     (line_comment lambda (node offset)
			   (treesit-fold-range-line-comment node
							    offset "#")))
 (cmake-ts-mode (body . treesit-fold-range-cmake-body)
		(line_comment lambda (node offset)
			      (treesit-fold-range-line-comment node
							       offset
							       "#")))
 (clojure-mode (list_lit . treesit-fold-range-clojure-function)
	       (map_lit . treesit-fold-range-seq)
	       (str_lit . treesit-fold-range-seq)
	       (comment lambda (node offset)
			(treesit-fold-range-line-comment node
							 (treesit-fold--cons-add
							  offset
							  '(0 . -1))
							 ";;")))
 (clojure-ts-mode (list_lit . treesit-fold-range-clojure-function)
		  (map_lit . treesit-fold-range-seq)
		  (str_lit . treesit-fold-range-seq)
		  (comment lambda (node offset)
			   (treesit-fold-range-line-comment node
							    (treesit-fold--cons-add
							     offset
							     '(0 . -1))
							    ";;")))
 (csharp-mode (block . treesit-fold-range-seq)
	      (accessor_list . treesit-fold-range-seq)
	      (enum_member_declaration_list . treesit-fold-range-seq)
	      (declaration_list . treesit-fold-range-seq)
	      (switch_body . treesit-fold-range-seq)
	      (anonymous_object_creation_expression
	       . treesit-fold-range-seq)
	      (initializer_expression . treesit-fold-range-seq)
	      (comment . treesit-fold-range-c-like-comment))
 (csharp-ts-mode (block . treesit-fold-range-seq)
		 (accessor_list . treesit-fold-range-seq)
		 (enum_member_declaration_list
		  . treesit-fold-range-seq)
		 (declaration_list . treesit-fold-range-seq)
		 (switch_body . treesit-fold-range-seq)
		 (anonymous_object_creation_expression
		  . treesit-fold-range-seq)
		 (initializer_expression . treesit-fold-range-seq)
		 (comment . treesit-fold-range-c-like-comment))
 (css-mode (keyframe_block_list . treesit-fold-range-seq)
	   (block . treesit-fold-range-seq)
	   (comment . treesit-fold-range-c-like-comment))
 (css-ts-mode (keyframe_block_list . treesit-fold-range-seq)
	      (block . treesit-fold-range-seq)
	      (comment . treesit-fold-range-c-like-comment))
 (dart-mode (block . treesit-fold-range-seq)
	    (class_body . treesit-fold-range-seq)
	    (arguments . treesit-fold-range-seq)
	    (comment . treesit-fold-range-c-like-comment)
	    (documentation_comment . treesit-fold-range-c-like-comment)
	    (list_literal . treesit-fold-range-seq))
 (dart-ts-mode (block . treesit-fold-range-seq)
	       (class_body . treesit-fold-range-seq)
	       (arguments . treesit-fold-range-seq)
	       (comment . treesit-fold-range-c-like-comment)
	       (documentation_comment
		. treesit-fold-range-c-like-comment)
	       (list_literal . treesit-fold-range-seq))
 (emacs-lisp-mode
  (macro_definition . treesit-fold-range-elisp-function)
  (function_definition . treesit-fold-range-elisp-function)
  (comment lambda (node offset)
	   (treesit-fold-range-line-comment node offset ";;")))
 (elixir-mode (list . treesit-fold-range-seq)
	      (map . treesit-fold-range-seq)
	      (tuple . treesit-fold-range-seq)
	      (do_block . treesit-fold-range-elixir)
	      (comment lambda (node offset)
		       (treesit-fold-range-line-comment node offset
							"#")))
 (elixir-ts-mode (list . treesit-fold-range-seq)
		 (map . treesit-fold-range-seq)
		 (tuple . treesit-fold-range-seq)
		 (do_block . treesit-fold-range-elixir)
		 (comment lambda (node offset)
			  (treesit-fold-range-line-comment node offset
							   "#")))
 (erlang-mode (list . treesit-fold-range-seq)
	      (clause_body . treesit-fold-range-erlang-clause-body)
	      (type_guards . treesit-fold-range-erlang-type-guards)
	      (comment lambda (node offset)
		       (treesit-fold-range-line-comment node offset
							"%")))
 (erlang-ts-mode (list . treesit-fold-range-seq)
		 (clause_body . treesit-fold-range-erlang-clause-body)
		 (type_guards . treesit-fold-range-erlang-type-guards)
		 (comment lambda (node offset)
			  (treesit-fold-range-line-comment node offset
							   "%")))
 (ess-r-mode (brace_list . treesit-fold-range-seq))
 (fish-mode (function_definition . treesit-fold-range-fish-function)
	    (if_statement . treesit-fold-range-fish-if)
	    (switch_statement . treesit-fold-range-fish-if)
	    (for_statement . treesit-fold-range-fish-if)
	    (while_statement . treesit-fold-range-fish-if)
	    (case_clause . treesit-fold-range-fish-case)
	    (comment lambda (node offset)
		     (treesit-fold-range-line-comment node offset "#")))
 (gdscript-mode (body treesit-fold-range-seq -1 1)
		(comment lambda (node offset)
			 (treesit-fold-range-line-comment node offset
							  "#")))
 (gdscript-ts-mode (body treesit-fold-range-seq -1 1)
		   (comment lambda (node offset)
			    (treesit-fold-range-line-comment node
							     offset
							     "#")))
 (gleam-ts-mode (function . treesit-fold-range-gleam)
		(type_definition . treesit-fold-range-gleam)
		(anonymous_function . treesit-fold-range-gleam)
		(block . treesit-fold-range-gleam)
		(list . treesit-fold-range-seq)
		(module_comment lambda (node offset)
				(treesit-fold-range-line-comment node
								 offset
								 "////"))
		(statement_comment lambda (node offset)
				   (treesit-fold-range-line-comment
				    node offset "///")))
 (glsl-mode (field_declaration_list . treesit-fold-range-seq)
	    (compound_statement . treesit-fold-range-seq)
	    (comment . treesit-fold-range-c-like-comment))
 (go-mode (block . treesit-fold-range-seq)
	  (comment . treesit-fold-range-c-like-comment)
	  (const_declaration lambda (node offset)
			     (treesit-fold-range-markers node offset
							 "(" ")"))
	  (field_declaration_list . treesit-fold-range-seq)
	  (import_spec_list . treesit-fold-range-seq)
	  (interface_type lambda (node offset)
			  (treesit-fold-range-markers node offset "{"
						      "}")))
 (go-ts-mode (block . treesit-fold-range-seq)
	     (comment . treesit-fold-range-c-like-comment)
	     (const_declaration lambda (node offset)
				(treesit-fold-range-markers node
							    offset "("
							    ")"))
	     (field_declaration_list . treesit-fold-range-seq)
	     (import_spec_list . treesit-fold-range-seq)
	     (interface_type lambda (node offset)
			     (treesit-fold-range-markers node offset
							 "{" "}")))
 (go-mod-ts-mode (block . treesit-fold-range-seq)
		 (comment . treesit-fold-range-c-like-comment)
		 (const_declaration lambda (node offset)
				    (treesit-fold-range-markers node
								offset
								"("
								")"))
		 (field_declaration_list . treesit-fold-range-seq)
		 (import_spec_list . treesit-fold-range-seq)
		 (interface_type lambda (node offset)
				 (treesit-fold-range-markers node
							     offset
							     "{" "}")))
 (groovy-mode (block . treesit-fold-range-groovy-block)
	      (line_comment . treesit-fold-range-c-like-comment)
	      (block_comment . treesit-fold-range-c-like-comment))
 (jenkinsfile-mode (block . treesit-fold-range-groovy-block)
		   (line_comment . treesit-fold-range-c-like-comment)
		   (block_comment . treesit-fold-range-c-like-comment))
 (haskell-mode (function . treesit-fold-range-haskell-function)
	       (comment . treesit-fold-range-lua-comment))
 (haskell-ts-mode (function . treesit-fold-range-haskell-function)
		  (comment . treesit-fold-range-lua-comment))
 (haxe-mode (block . treesit-fold-range-seq)
	    (comment . treesit-fold-range-c-like-comment))
 (heex-mode (tag . treesit-fold-range-html)
	    (component . treesit-fold-range-html)
	    (comment treesit-fold-range-seq 1 -1))
 (heex-ts-mode (tag . treesit-fold-range-html)
	       (component . treesit-fold-range-html)
	       (comment treesit-fold-range-seq 1 -1))
 (hlsl-mode (field_declaration_list . treesit-fold-range-seq)
	    (compound_statement . treesit-fold-range-seq)
	    (comment . treesit-fold-range-c-like-comment))
 (hlsl-ts-mode (field_declaration_list . treesit-fold-range-seq)
	       (compound_statement . treesit-fold-range-seq)
	       (comment . treesit-fold-range-c-like-comment))
 (html-mode (element . treesit-fold-range-html)
	    (comment treesit-fold-range-seq 1 -1))
 (html-ts-mode (element . treesit-fold-range-html)
	       (comment treesit-fold-range-seq 1 -1))
 (jai-mode (imperative_scope . treesit-fold-range-seq)
	   (data_scope . treesit-fold-range-seq)
	   (block_comment . treesit-fold-range-block-comment)
	   (inline_comment . treesit-fold-range-c-like-comment))
 (janet-mode (par_tup_lit . treesit-fold-range-seq)
	     (sqr_tup_lit . treesit-fold-range-seq)
	     (comment lambda (node offset)
		      (treesit-fold-range-line-comment node offset "#")))
 (java-mode (switch_block . treesit-fold-range-seq)
	    (block . treesit-fold-range-seq)
	    (element_value_array_initializer . treesit-fold-range-seq)
	    (module_body . treesit-fold-range-seq)
	    (enum_body . treesit-fold-range-seq)
	    (class_body . treesit-fold-range-seq)
	    (constructor_body . treesit-fold-range-seq)
	    (annotation_type_body . treesit-fold-range-seq)
	    (interface_body . treesit-fold-range-seq)
	    (array_initializer . treesit-fold-range-seq)
	    (block_comment . treesit-fold-range-block-comment)
	    (line_comment . treesit-fold-range-c-like-comment))
 (java-ts-mode (switch_block . treesit-fold-range-seq)
	       (block . treesit-fold-range-seq)
	       (element_value_array_initializer
		. treesit-fold-range-seq)
	       (module_body . treesit-fold-range-seq)
	       (enum_body . treesit-fold-range-seq)
	       (class_body . treesit-fold-range-seq)
	       (constructor_body . treesit-fold-range-seq)
	       (annotation_type_body . treesit-fold-range-seq)
	       (interface_body . treesit-fold-range-seq)
	       (array_initializer . treesit-fold-range-seq)
	       (block_comment . treesit-fold-range-block-comment)
	       (line_comment . treesit-fold-range-c-like-comment))
 (javascript-mode (export_clause . treesit-fold-range-seq)
		  (statement_block . treesit-fold-range-seq)
		  (object . treesit-fold-range-seq)
		  (array . treesit-fold-range-seq)
		  (comment . treesit-fold-range-c-like-comment))
 (js-mode (export_clause . treesit-fold-range-seq)
	  (statement_block . treesit-fold-range-seq)
	  (object . treesit-fold-range-seq)
	  (array . treesit-fold-range-seq)
	  (comment . treesit-fold-range-c-like-comment))
 (js-ts-mode (export_clause . treesit-fold-range-seq)
	     (statement_block . treesit-fold-range-seq)
	     (object . treesit-fold-range-seq)
	     (array . treesit-fold-range-seq)
	     (comment . treesit-fold-range-c-like-comment))
 (js2-mode (export_clause . treesit-fold-range-seq)
	   (statement_block . treesit-fold-range-seq)
	   (object . treesit-fold-range-seq)
	   (array . treesit-fold-range-seq)
	   (comment . treesit-fold-range-c-like-comment))
 (js3-mode (export_clause . treesit-fold-range-seq)
	   (statement_block . treesit-fold-range-seq)
	   (object . treesit-fold-range-seq)
	   (array . treesit-fold-range-seq)
	   (comment . treesit-fold-range-c-like-comment))
 (json-mode (object . treesit-fold-range-seq)
	    (array . treesit-fold-range-seq)
	    (comment . treesit-fold-range-c-like-comment))
 (json-ts-mode (object . treesit-fold-range-seq)
	       (array . treesit-fold-range-seq)
	       (comment . treesit-fold-range-c-like-comment))
 (jsonc-mode (object . treesit-fold-range-seq)
	     (array . treesit-fold-range-seq)
	     (comment . treesit-fold-range-c-like-comment))
 (jsonnet-mode (object . treesit-fold-range-seq)
	       (array . treesit-fold-range-seq)
	       (comment . treesit-fold-range-c-like-comment))
 (julia-mode (block_comment treesit-fold-range-seq 1 -1)
	     (for_statement . treesit-fold-range-julia-if)
	     (function_definition . treesit-fold-range-julia-function)
	     (if_statement . treesit-fold-range-julia-if)
	     (let_statement . treesit-fold-range-julia-let)
	     (macro_definition . treesit-fold-range-julia-function)
	     (module_definition . treesit-fold-range-julia-function)
	     (quote_statement . treesit-fold-range-julia-function)
	     (struct_definition . treesit-fold-range-julia-function)
	     (triple_string treesit-fold-range-seq 2 -2)
	     (try_statement treesit-fold-range-seq 2 -2)
	     (while_statement . treesit-fold-range-julia-function)
	     (comment lambda (node offset)
		      (treesit-fold-range-line-comment node offset "#")))
 (julia-ts-mode (block_comment treesit-fold-range-seq 1 -1)
		(for_statement . treesit-fold-range-julia-if)
		(function_definition
		 . treesit-fold-range-julia-function)
		(if_statement . treesit-fold-range-julia-if)
		(let_statement . treesit-fold-range-julia-let)
		(macro_definition . treesit-fold-range-julia-function)
		(module_definition . treesit-fold-range-julia-function)
		(quote_statement . treesit-fold-range-julia-function)
		(struct_definition . treesit-fold-range-julia-function)
		(triple_string treesit-fold-range-seq 2 -2)
		(try_statement treesit-fold-range-seq 2 -2)
		(while_statement . treesit-fold-range-julia-function)
		(comment lambda (node offset)
			 (treesit-fold-range-line-comment node offset
							  "#")))
 (kotlin-mode (function_body . treesit-fold-range-seq)
	      (control_structure_body . treesit-fold-range-seq)
	      (lambda_literal . treesit-fold-range-seq)
	      (enum_class_body . treesit-fold-range-seq)
	      (class_body . treesit-fold-range-seq)
	      (when_expression . treesit-fold-range-kotlin-when)
	      (multiline_comment . treesit-fold-range-c-like-comment)
	      (line_comment . treesit-fold-range-c-like-comment))
 (kotlin-ts-mode (function_body . treesit-fold-range-seq)
		 (control_structure_body . treesit-fold-range-seq)
		 (lambda_literal . treesit-fold-range-seq)
		 (enum_class_body . treesit-fold-range-seq)
		 (class_body . treesit-fold-range-seq)
		 (when_expression . treesit-fold-range-kotlin-when)
		 (multiline_comment
		  . treesit-fold-range-c-like-comment)
		 (line_comment . treesit-fold-range-c-like-comment))
 (latex-mode
  (generic_environment . treesit-fold-range-latex-environment)
  (math_environment . treesit-fold-range-latex-environment)
  (section . treesit-fold-range-latex-section)
  (subsection . treesit-fold-range-latex-section)
  (subsubsection . treesit-fold-range-latex-section)
  (curly_group . treesit-fold-range-seq)
  (line_comment lambda (node offset)
		(treesit-fold-range-line-comment node offset "%")))
 (latex-ts-mode
  (generic_environment . treesit-fold-range-latex-environment)
  (math_environment . treesit-fold-range-latex-environment)
  (section . treesit-fold-range-latex-section)
  (subsection . treesit-fold-range-latex-section)
  (subsubsection . treesit-fold-range-latex-section)
  (curly_group . treesit-fold-range-seq)
  (line_comment lambda (node offset)
		(treesit-fold-range-line-comment node offset "%")))
 (LaTeX-mode
  (generic_environment . treesit-fold-range-latex-environment)
  (math_environment . treesit-fold-range-latex-environment)
  (section . treesit-fold-range-latex-section)
  (subsection . treesit-fold-range-latex-section)
  (subsubsection . treesit-fold-range-latex-section)
  (curly_group . treesit-fold-range-seq)
  (line_comment lambda (node offset)
		(treesit-fold-range-line-comment node offset "%")))
 (lisp-mode (defun . treesit-fold-range-lisp-function)
	    (comment lambda (node offset)
		     (treesit-fold-range-line-comment node
						      (treesit-fold--cons-add
						       offset
						       '(0 . -1))
						      ";;")))
 (lisp-interaction-mode (defun . treesit-fold-range-lisp-function)
			(comment lambda (node offset)
				 (treesit-fold-range-line-comment node
								  (treesit-fold--cons-add
								   offset
								   '(0
								     . -1))
								  ";;")))
 (llvm-mode (function_body . treesit-fold-range-seq)
	    (label . treesit-fold-range-llvm-label)
	    (comment lambda (node offset)
		     (treesit-fold-range-line-comment node offset ";;")))
 (llvm-mir-mode (basic_block . treesit-fold-range-llvm-mir-label)
		(comment lambda (node offset)
			 (treesit-fold-range-line-comment node offset
							  ";;")))
 (lua-mode (expression_list . treesit-fold-range-seq)
	   (function_declaration . treesit-fold-range-lua-function)
	   (if_statement . treesit-fold-range-lua-if)
	   (elseif_statement . treesit-fold-range-lua-elseif)
	   (else_statement . treesit-fold-range-lua-else)
	   (while_statement . treesit-fold-range-lua-do-loop)
	   (for_statement . treesit-fold-range-lua-do-loop)
	   (repeat_statement . treesit-fold-range-lua-repeat)
	   (comment . treesit-fold-range-lua-comment))
 (lua-ts-mode (expression_list . treesit-fold-range-seq)
	      (function_declaration . treesit-fold-range-lua-function)
	      (if_statement . treesit-fold-range-lua-if)
	      (elseif_statement . treesit-fold-range-lua-elseif)
	      (else_statement . treesit-fold-range-lua-else)
	      (while_statement . treesit-fold-range-lua-do-loop)
	      (for_statement . treesit-fold-range-lua-do-loop)
	      (repeat_statement . treesit-fold-range-lua-repeat)
	      (comment . treesit-fold-range-lua-comment))
 (makefile-mode (recipe . treesit-fold-range-make-recipe)
		(comment lambda (node offset)
			 (treesit-fold-range-line-comment node offset
							  "#")))
 (makefile-ts-mode (recipe . treesit-fold-range-make-recipe)
		   (comment lambda (node offset)
			    (treesit-fold-range-line-comment node
							     offset
							     "#")))
 (makefile-automake-mode (recipe . treesit-fold-range-make-recipe)
			 (comment lambda (node offset)
				  (treesit-fold-range-line-comment
				   node offset "#")))
 (makefile-gmake-mode (recipe . treesit-fold-range-make-recipe)
		      (comment lambda (node offset)
			       (treesit-fold-range-line-comment node
								offset
								"#")))
 (makefile-makepp-mode (recipe . treesit-fold-range-make-recipe)
		       (comment lambda (node offset)
				(treesit-fold-range-line-comment node
								 offset
								 "#")))
 (makefile-bsdmake-mode (recipe . treesit-fold-range-make-recipe)
			(comment lambda (node offset)
				 (treesit-fold-range-line-comment node
								  offset
								  "#")))
 (makefile-imake-mode (recipe . treesit-fold-range-make-recipe)
		      (comment lambda (node offset)
			       (treesit-fold-range-line-comment node
								offset
								"#")))
 (markdown-mode
  (fenced_code_block . treesit-fold-range-markdown-code-block)
  (section . treesit-fold-range-markdown-heading)
  (html_block . treesit-fold-range-markdown-html-block))
 (markdown-ts-mode
  (fenced_code_block . treesit-fold-range-markdown-code-block)
  (section . treesit-fold-range-markdown-heading)
  (html_block . treesit-fold-range-markdown-html-block))
 (matlab-mode (expression_list . treesit-fold-range-seq)
	      (function_definition
	       . treesit-fold-range-matlab-function)
	      (properties . treesit-fold-range-matlab-function)
	      (methods . treesit-fold-range-matlab-function)
	      (class_definition . treesit-fold-range-matlab-function)
	      (if_statement . treesit-fold-range-matlab-statements)
	      (elseif_clause . treesit-fold-range-matlab-statements)
	      (else_clause . treesit-fold-range-matlab-statements)
	      (for_statement . treesit-fold-range-matlab-statements)
	      (while_statement . treesit-fold-range-matlab-statements)
	      (switch_statement . treesit-fold-range-matlab-statements)
	      (case_clause . treesit-fold-range-matlab-statements)
	      (otherwise_clause . treesit-fold-range-matlab-statements)
	      (try_statement . treesit-fold-range-matlab-statements)
	      (catch_clause . treesit-fold-range-matlab-statements)
	      (comment . treesit-fold-range-matlab-blocks))
 (mermaid-mode (diagram_flow . treesit-fold-range-mermaid-diagram)
	       (diagram_sequence . treesit-fold-range-mermaid-diagram)
	       (diagram_class . treesit-fold-range-mermaid-diagram)
	       (diagram_er . treesit-fold-range-mermaid-diagram)
	       (class_stmt_class . treesit-fold-range-mermaid-block)
	       (er_stmt_entity_block
		. treesit-fold-range-mermaid-block)
	       (comment lambda (node offset)
			(treesit-fold-range-line-comment node
							 (treesit-fold--cons-add
							  offset
							  '(0 . -1))
							 "%%")))
 (mermaid-ts-mode (diagram_flow . treesit-fold-range-mermaid-diagram)
		  (diagram_sequence
		   . treesit-fold-range-mermaid-diagram)
		  (diagram_class . treesit-fold-range-mermaid-diagram)
		  (diagram_er . treesit-fold-range-mermaid-diagram)
		  (class_stmt_class . treesit-fold-range-mermaid-block)
		  (er_stmt_entity_block
		   . treesit-fold-range-mermaid-block)
		  (comment lambda (node offset)
			   (treesit-fold-range-line-comment node
							    (treesit-fold--cons-add
							     offset
							     '(0 . -1))
							    "%%")))
 (ninja-mode (build treesit-fold-range-seq 4 0)
	     (comment lambda (node offset)
		      (treesit-fold-range-line-comment node
						       (treesit-fold--cons-add
							offset
							'(0 . -1))
						       "#")))
 (noir-mode (body . treesit-fold-range-seq)
	    (comment . treesit-fold-range-c-like-comment))
 (noir-ts-mode (body . treesit-fold-range-seq)
	       (comment . treesit-fold-range-c-like-comment))
 (nix-mode (attrset_expression . treesit-fold-range-seq)
	   (interpolation . treesit-fold-range-seq)
	   (list_expression . treesit-fold-range-seq)
	   (comment lambda (node offset)
		    (if (string-prefix-p "#" (treesit-node-text node))
			(treesit-fold-range-line-comment node offset
							 "#")
		      (treesit-fold-range-c-like-comment node offset))))
 (nix-ts-mode (attrset_expression . treesit-fold-range-seq)
	      (interpolation . treesit-fold-range-seq)
	      (list_expression . treesit-fold-range-seq)
	      (comment lambda (node offset)
		       (if
			   (string-prefix-p "#"
					    (treesit-node-text node))
			   (treesit-fold-range-line-comment node
							    offset "#")
			 (treesit-fold-range-c-like-comment node
							    offset))))
 (ocaml-mode (comment . treesit-fold-range-ocaml-comment)
	     (module_definition
	      . treesit-fold-range-ocaml-module-definition)
	     (type_definition
	      . treesit-fold-range-ocaml-type-definition)
	     (value_definition
	      . treesit-fold-range-ocaml-value-definition))
 (ocaml-ts-mode (comment . treesit-fold-range-ocaml-comment)
		(module_definition
		 . treesit-fold-range-ocaml-module-definition)
		(type_definition
		 . treesit-fold-range-ocaml-type-definition)
		(value_definition
		 . treesit-fold-range-ocaml-value-definition))
 (org-mode (body . treesit-fold-range-org-body)
	   (block . treesit-fold-range-seq)
	   (comment . treesit-fold-range-seq))
 (pascal-mode (comment . treesit-fold-range-pascal-comment))
 (perl-mode (block . treesit-fold-range-seq)
	    (list_expression . treesit-fold-range-seq)
	    (comment lambda (node offset)
		     (treesit-fold-range-line-comment node offset "#")))
 (php-mode (namespace_use_group . treesit-fold-range-seq)
	   (declaration_list . treesit-fold-range-seq)
	   (use_list . treesit-fold-range-seq)
	   (switch_block . treesit-fold-range-seq)
	   (compound_statement . treesit-fold-range-seq)
	   (comment lambda (node offset)
		    (if (string-prefix-p "#" (treesit-node-text node))
			(treesit-fold-range-line-comment node offset
							 "#")
		      (treesit-fold-range-c-like-comment node offset))))
 (php-ts-mode (namespace_use_group . treesit-fold-range-seq)
	      (declaration_list . treesit-fold-range-seq)
	      (use_list . treesit-fold-range-seq)
	      (switch_block . treesit-fold-range-seq)
	      (compound_statement . treesit-fold-range-seq)
	      (comment lambda (node offset)
		       (if
			   (string-prefix-p "#"
					    (treesit-node-text node))
			   (treesit-fold-range-line-comment node
							    offset "#")
			 (treesit-fold-range-c-like-comment node
							    offset))))
 (python-mode (function_definition . treesit-fold-range-python-def)
	      (class_definition . treesit-fold-range-python-def)
	      (list . treesit-fold-range-seq)
	      (dictionary . treesit-fold-range-seq)
	      (parenthesized_expression . treesit-fold-range-seq)
	      (expression_statement
	       . treesit-fold-range-python-expression-statement)
	      (comment lambda (node offset)
		       (treesit-fold-range-line-comment node offset
							"#")))
 (python-ts-mode (function_definition . treesit-fold-range-python-def)
		 (class_definition . treesit-fold-range-python-def)
		 (list . treesit-fold-range-seq)
		 (dictionary . treesit-fold-range-seq)
		 (parenthesized_expression . treesit-fold-range-seq)
		 (expression_statement
		  . treesit-fold-range-python-expression-statement)
		 (comment lambda (node offset)
			  (treesit-fold-range-line-comment node offset
							   "#")))
 (qss-mode (keyframe_block_list . treesit-fold-range-seq)
	   (block . treesit-fold-range-seq)
	   (comment . treesit-fold-range-c-like-comment))
 (rjsx-mode (export_clause . treesit-fold-range-seq)
	    (statement_block . treesit-fold-range-seq)
	    (object . treesit-fold-range-seq)
	    (array . treesit-fold-range-seq)
	    (comment . treesit-fold-range-c-like-comment))
 (rst-mode (body . treesit-fold-range-rst-body)
	   (comment treesit-fold-range-seq 1 0))
 (ruby-mode (class . treesit-fold-range-ruby-class-def)
	    (method . treesit-fold-range-ruby-class-def)
	    (array . treesit-fold-range-seq)
	    (do treesit-fold-range-seq 1 -2)
	    (do_block treesit-fold-range-seq 1 -2)
	    (then . treesit-fold-range-ruby-if)
	    (else treesit-fold-range-ruby-if 4 0)
	    (comment lambda (node offset)
		     (treesit-fold-range-line-comment node offset "#")))
 (ruby-ts-mode (class . treesit-fold-range-ruby-class-def)
	       (method . treesit-fold-range-ruby-class-def)
	       (array . treesit-fold-range-seq)
	       (do treesit-fold-range-seq 1 -2)
	       (do_block treesit-fold-range-seq 1 -2)
	       (then . treesit-fold-range-ruby-if)
	       (else treesit-fold-range-ruby-if 4 0)
	       (comment lambda (node offset)
			(treesit-fold-range-line-comment node offset
							 "#")))
 (rust-mode (declaration_list . treesit-fold-range-seq)
	    (enum_variant_list . treesit-fold-range-seq)
	    (field_declaration_list . treesit-fold-range-seq)
	    (use_list . treesit-fold-range-seq)
	    (field_initializer_list . treesit-fold-range-seq)
	    (match_block . treesit-fold-range-seq)
	    (macro_definition treesit-fold-range-rust-macro 1 -1)
	    (block . treesit-fold-range-seq)
	    (token_tree . treesit-fold-range-seq)
	    (line_comment lambda (node offset)
			  (treesit-fold-range-line-comment node
							   (treesit-fold--cons-add
							    offset
							    '(0 . -1))
							   "///"))
	    (block_comment . treesit-fold-range-block-comment))
 (rust-ts-mode (declaration_list . treesit-fold-range-seq)
	       (enum_variant_list . treesit-fold-range-seq)
	       (field_declaration_list . treesit-fold-range-seq)
	       (use_list . treesit-fold-range-seq)
	       (field_initializer_list . treesit-fold-range-seq)
	       (match_block . treesit-fold-range-seq)
	       (macro_definition treesit-fold-range-rust-macro 1 -1)
	       (block . treesit-fold-range-seq)
	       (token_tree . treesit-fold-range-seq)
	       (line_comment lambda (node offset)
			     (treesit-fold-range-line-comment node
							      (treesit-fold--cons-add
							       offset
							       '(0
								 . -1))
							      "///"))
	       (block_comment . treesit-fold-range-block-comment))
 (rustic-mode (declaration_list . treesit-fold-range-seq)
	      (enum_variant_list . treesit-fold-range-seq)
	      (field_declaration_list . treesit-fold-range-seq)
	      (use_list . treesit-fold-range-seq)
	      (field_initializer_list . treesit-fold-range-seq)
	      (match_block . treesit-fold-range-seq)
	      (macro_definition treesit-fold-range-rust-macro 1 -1)
	      (block . treesit-fold-range-seq)
	      (token_tree . treesit-fold-range-seq)
	      (line_comment lambda (node offset)
			    (treesit-fold-range-line-comment node
							     (treesit-fold--cons-add
							      offset
							      '(0 . -1))
							     "///"))
	      (block_comment . treesit-fold-range-block-comment))
 (scheme-mode (list . treesit-fold-range-seq)
	      (comment lambda (node offset)
		       (treesit-fold-range-line-comment node offset
							";;")))
 (sh-mode (compound_statement . treesit-fold-range-seq)
	  (do_group treesit-fold-range-seq 1 -3)
	  (comment lambda (node offset)
		   (treesit-fold-range-line-comment node offset "#")))
 (scala-mode (import_selectors . treesit-fold-range-seq)
	     (template_body . treesit-fold-range-seq)
	     (block . treesit-fold-range-seq)
	     (comment . treesit-fold-range-c-like-comment))
 (scala-ts-mode (import_selectors . treesit-fold-range-seq)
		(template_body . treesit-fold-range-seq)
		(block . treesit-fold-range-seq)
		(comment . treesit-fold-range-c-like-comment))
 (sql-mode (block . treesit-fold-range-sql-block)
	   (subquery . treesit-fold-range-seq)
	   (list . treesit-fold-range-seq)
	   (column_definitions . treesit-fold-range-seq)
	   (marginalia . treesit-fold-range-c-like-comment)
	   (comment lambda (node offset)
		    (treesit-fold-range-line-comment node offset "--")))
 (svelte-mode (element . treesit-fold-range-html)
	      (comment treesit-fold-range-seq 1 -1)
	      (script_element . treesit-fold-range-html)
	      (style_element . treesit-fold-range-html))
 (swift-mode (function_body . treesit-fold-range-seq)
	     (class_body . treesit-fold-range-seq)
	     (enum_class_body . treesit-fold-range-seq)
	     (protocol_body . treesit-fold-range-seq)
	     (multiline_comment . treesit-fold-range-c-like-comment)
	     (comment . treesit-fold-range-c-like-comment))
 (tablegen-mode (record_body . treesit-fold-range-seq)
		(multiline_comment . treesit-fold-range-c-like-comment)
		(comment . treesit-fold-range-c-like-comment))
 (toml-mode (table . treesit-fold-range-toml-table)
	    (array . treesit-fold-range-seq)
	    (comment lambda (node offset)
		     (treesit-fold-range-line-comment node offset "#")))
 (toml-ts-mode (table . treesit-fold-range-toml-table)
	       (array . treesit-fold-range-seq)
	       (comment lambda (node offset)
			(treesit-fold-range-line-comment node offset
							 "#")))
 (conf-toml-mode (table . treesit-fold-range-toml-table)
		 (array . treesit-fold-range-seq)
		 (comment lambda (node offset)
			  (treesit-fold-range-line-comment node offset
							   "#")))
 (tuareg-mode (comment . treesit-fold-range-ocaml-comment)
	      (module_definition
	       . treesit-fold-range-ocaml-module-definition)
	      (type_definition
	       . treesit-fold-range-ocaml-type-definition)
	      (value_definition
	       . treesit-fold-range-ocaml-value-definition))
 (typescript-mode (export_clause . treesit-fold-range-seq)
		  (statement_block . treesit-fold-range-seq)
		  (object . treesit-fold-range-seq)
		  (array . treesit-fold-range-seq)
		  (comment . treesit-fold-range-c-like-comment)
		  (class_body . treesit-fold-range-seq)
		  (enum_body . treesit-fold-range-seq)
		  (named_imports . treesit-fold-range-seq)
		  (object_type . treesit-fold-range-seq))
 (typescript-ts-mode (export_clause . treesit-fold-range-seq)
		     (statement_block . treesit-fold-range-seq)
		     (object . treesit-fold-range-seq)
		     (array . treesit-fold-range-seq)
		     (comment . treesit-fold-range-c-like-comment)
		     (class_body . treesit-fold-range-seq)
		     (enum_body . treesit-fold-range-seq)
		     (named_imports . treesit-fold-range-seq)
		     (object_type . treesit-fold-range-seq))
 (tsx-ts-mode (export_clause . treesit-fold-range-seq)
	      (statement_block . treesit-fold-range-seq)
	      (object . treesit-fold-range-seq)
	      (array . treesit-fold-range-seq)
	      (comment . treesit-fold-range-c-like-comment)
	      (class_body . treesit-fold-range-seq)
	      (enum_body . treesit-fold-range-seq)
	      (named_imports . treesit-fold-range-seq)
	      (object_type . treesit-fold-range-seq))
 (verilog-mode
  (module_declaration . treesit-fold-range-verilog-module)
  (list_of_port_connections . treesit-fold-range-verilog-list)
  (initial_construct . treesit-fold-range-verilog-initial-construct)
  (comment . treesit-fold-range-c-like-comment))
 (verilog-ts-mode
  (module_declaration . treesit-fold-range-verilog-module)
  (list_of_port_connections . treesit-fold-range-verilog-list)
  (initial_construct . treesit-fold-range-verilog-initial-construct)
  (comment . treesit-fold-range-c-like-comment))
 (vhdl-mode (package_declaration . treesit-fold-range-vhdl-package)
	    (full_type_declaration . treesit-fold-range-vhdl-type)
	    (enumeration_type_definition . treesit-fold-range-seq)
	    (comment . treesit-fold-range-lua-comment))
 (vhdl-ts-mode (package_declaration . treesit-fold-range-vhdl-package)
	       (full_type_declaration . treesit-fold-range-vhdl-type)
	       (enumeration_type_definition . treesit-fold-range-seq)
	       (comment . treesit-fold-range-lua-comment))
 (vimscript-ts-mode
  (function_definition . treesit-fold-range-vimscript-function)
  (if_statement treesit-fold-range-seq 1 -4))
 (nxml-mode (element . treesit-fold-range-html)
	    (Comment treesit-fold-range-seq 3 -2))
 (xml-ts-mode (element . treesit-fold-range-html)
	      (Comment treesit-fold-range-seq 3 -2))
 (yaml-mode
  (comment lambda (node offset)
	   (treesit-fold-range-line-comment node offset "#"))
  (block_mapping_pair
   (lambda (node offset) (treesit-fold-range-markers node offset ":"))
   0 1))
 (yaml-ts-mode
  (comment lambda (node offset)
	   (treesit-fold-range-line-comment node offset "#"))
  (block_mapping_pair
   (lambda (node offset) (treesit-fold-range-markers node offset ":"))
   0 1))
 (k8s-mode
  (comment lambda (node offset)
	   (treesit-fold-range-line-comment node offset "#"))
  (block_mapping_pair
   (lambda (node offset) (treesit-fold-range-markers node offset ":"))
   0 1))
 (zig-mode
  (ErrorSetDecl lambda (node offset)
		(treesit-fold-range-markers node offset "{"))
  (ContainerDecl lambda (node offset)
		 (treesit-fold-range-markers node offset "{"))
  (SwitchExpr lambda (node offset)
	      (treesit-fold-range-markers node offset "{"))
  (Block . treesit-fold-range-seq) (InitList . treesit-fold-range-seq)
  (line_comment . treesit-fold-range-c-like-comment)))

Documentation

An alist of (major-mode . (foldable-node-type . function)).

FUNCTION is used to determine where the beginning and end for FOLDABLE-NODE-TYPE in MAJOR-MODE. It should take a single argument (the syntax node with type FOLDABLE-NODE-TYPE) and return the buffer positions of the beginning and end of the fold in a cons cell. See treesit-fold-range-python-def for an example.

Source Code

;; Defined in /nix/store/mpy1l6b4hlzpp59l4vbahq83hqa821ci-emacs-packages-deps/share/emacs/site-lisp/elpa/treesit-fold-0.2.1/treesit-fold.el
;; TODO(everyone): This is a bit messy, but try to keep this alist
;; alphabetically sorted
(defcustom treesit-fold-range-alist
  `((actionscript-mode      . ,(treesit-fold-parsers-actionscript))
    (agda-mode              . ,(treesit-fold-parsers-agda))
    (arduino-mode           . ,(treesit-fold-parsers-arduino))
    (asm-mode               . ,(treesit-fold-parsers-asm))
    (awk-mode               . ,(treesit-fold-parsers-awk))
    (awk-ts-mode            . ,(treesit-fold-parsers-awk))
    (editorconfig-conf-mode . ,(treesit-fold-parsers-editorconfig))
    (fasm-mode              . ,(treesit-fold-parsers-asm))
    (masm-mode              . ,(treesit-fold-parsers-asm))
    (nasm-mode              . ,(treesit-fold-parsers-asm))
    (gas-mode               . ,(treesit-fold-parsers-asm))
    (bash-ts-mode           . ,(treesit-fold-parsers-bash))
    (beancount-mode         . ,(treesit-fold-parsers-beancount))
    (beancount-ts-mode      . ,(treesit-fold-parsers-beancount))
    (c-mode                 . ,(treesit-fold-parsers-c))
    (c-ts-mode              . ,(treesit-fold-parsers-c))
    (c++-mode               . ,(treesit-fold-parsers-c++))
    (c++-ts-mode            . ,(treesit-fold-parsers-c++))
    (caml-mode              . ,(treesit-fold-parsers-ocaml))
    (caml-ts-mode           . ,(treesit-fold-parsers-ocaml))
    (cmake-mode             . ,(treesit-fold-parsers-cmake))
    (cmake-ts-mode          . ,(treesit-fold-parsers-cmake))
    (clojure-mode           . ,(treesit-fold-parsers-clojure))
    (clojure-ts-mode        . ,(treesit-fold-parsers-clojure))
    (csharp-mode            . ,(treesit-fold-parsers-csharp))
    (csharp-ts-mode         . ,(treesit-fold-parsers-csharp))
    (css-mode               . ,(treesit-fold-parsers-css))
    (css-ts-mode            . ,(treesit-fold-parsers-css))
    (dart-mode              . ,(treesit-fold-parsers-dart))
    (dart-ts-mode           . ,(treesit-fold-parsers-dart))
    (emacs-lisp-mode        . ,(treesit-fold-parsers-elisp))
    (elixir-mode            . ,(treesit-fold-parsers-elixir))
    (elixir-ts-mode         . ,(treesit-fold-parsers-elixir))
    (erlang-mode            . ,(treesit-fold-parsers-erlang))
    (erlang-ts-mode         . ,(treesit-fold-parsers-erlang))
    (ess-r-mode             . ,(treesit-fold-parsers-r))
    (fish-mode              . ,(treesit-fold-parsers-fish))
    (gdscript-mode          . ,(treesit-fold-parsers-gdscript))
    (gdscript-ts-mode       . ,(treesit-fold-parsers-gdscript))
    (gleam-ts-mode          . ,(treesit-fold-parsers-gleam))
    (glsl-mode              . ,(treesit-fold-parsers-glsl))
    (go-mode                . ,(treesit-fold-parsers-go))
    (go-ts-mode             . ,(treesit-fold-parsers-go))
    (go-mod-ts-mode         . ,(treesit-fold-parsers-go))
    (groovy-mode            . ,(treesit-fold-parsers-groovy))
    (jenkinsfile-mode       . ,(treesit-fold-parsers-groovy))
    (haskell-mode           . ,(treesit-fold-parsers-haskell))
    (haskell-ts-mode        . ,(treesit-fold-parsers-haskell))
    (haxe-mode              . ,(treesit-fold-parsers-haxe))
    (heex-mode              . ,(treesit-fold-parsers-heex))
    (heex-ts-mode           . ,(treesit-fold-parsers-heex))
    (hlsl-mode              . ,(treesit-fold-parsers-hlsl))
    (hlsl-ts-mode           . ,(treesit-fold-parsers-hlsl))
    (html-mode              . ,(treesit-fold-parsers-html))
    (html-ts-mode           . ,(treesit-fold-parsers-html))
    (jai-mode               . ,(treesit-fold-parsers-jai))
    (janet-mode             . ,(treesit-fold-parsers-janet))
    (java-mode              . ,(treesit-fold-parsers-java))
    (java-ts-mode           . ,(treesit-fold-parsers-java))
    (javascript-mode        . ,(treesit-fold-parsers-javascript))
    (js-mode                . ,(treesit-fold-parsers-javascript))
    (js-ts-mode             . ,(treesit-fold-parsers-javascript))
    (js2-mode               . ,(treesit-fold-parsers-javascript))
    (js3-mode               . ,(treesit-fold-parsers-javascript))
    (json-mode              . ,(treesit-fold-parsers-json))
    (json-ts-mode           . ,(treesit-fold-parsers-json))
    (jsonc-mode             . ,(treesit-fold-parsers-json))
    (jsonnet-mode           . ,(treesit-fold-parsers-jsonnet))
    (julia-mode             . ,(treesit-fold-parsers-julia))
    (julia-ts-mode          . ,(treesit-fold-parsers-julia))
    (kotlin-mode            . ,(treesit-fold-parsers-kotlin))
    (kotlin-ts-mode         . ,(treesit-fold-parsers-kotlin))
    (latex-mode             . ,(treesit-fold-parsers-latex))
    (latex-ts-mode          . ,(treesit-fold-parsers-latex))
    (LaTeX-mode             . ,(treesit-fold-parsers-latex))
    (lisp-mode              . ,(treesit-fold-parsers-lisp))
    (lisp-interaction-mode  . ,(treesit-fold-parsers-lisp))
    (llvm-mode              . ,(treesit-fold-parsers-llvm))
    (llvm-mir-mode          . ,(treesit-fold-parsers-llvm-mir))
    (lua-mode               . ,(treesit-fold-parsers-lua))
    (lua-ts-mode            . ,(treesit-fold-parsers-lua))
    (makefile-mode          . ,(treesit-fold-parsers-make))
    (makefile-ts-mode       . ,(treesit-fold-parsers-make))
    (makefile-automake-mode . ,(treesit-fold-parsers-make))
    (makefile-gmake-mode    . ,(treesit-fold-parsers-make))
    (makefile-makepp-mode   . ,(treesit-fold-parsers-make))
    (makefile-bsdmake-mode  . ,(treesit-fold-parsers-make))
    (makefile-imake-mode    . ,(treesit-fold-parsers-make))
    (markdown-mode          . ,(treesit-fold-parsers-markdown))
    (markdown-ts-mode       . ,(treesit-fold-parsers-markdown))
    (matlab-mode            . ,(treesit-fold-parsers-matlab))
    (mermaid-mode           . ,(treesit-fold-parsers-mermaid))
    (mermaid-ts-mode        . ,(treesit-fold-parsers-mermaid))
    (ninja-mode             . ,(treesit-fold-parsers-ninja))
    (noir-mode              . ,(treesit-fold-parsers-noir))
    (noir-ts-mode           . ,(treesit-fold-parsers-noir))
    (nix-mode               . ,(treesit-fold-parsers-nix))
    (nix-ts-mode            . ,(treesit-fold-parsers-nix))
    (ocaml-mode             . ,(treesit-fold-parsers-ocaml))
    (ocaml-ts-mode          . ,(treesit-fold-parsers-ocaml))
    (org-mode               . ,(treesit-fold-parsers-org))
    (pascal-mode            . ,(treesit-fold-parsers-pascal))
    (perl-mode              . ,(treesit-fold-parsers-perl))
    (php-mode               . ,(treesit-fold-parsers-php))
    (php-ts-mode            . ,(treesit-fold-parsers-php))
    (python-mode            . ,(treesit-fold-parsers-python))
    (python-ts-mode         . ,(treesit-fold-parsers-python))
    (qss-mode               . ,(treesit-fold-parsers-qss))
    (rjsx-mode              . ,(treesit-fold-parsers-javascript))
    (rst-mode               . ,(treesit-fold-parsers-rst))
    (ruby-mode              . ,(treesit-fold-parsers-ruby))
    (ruby-ts-mode           . ,(treesit-fold-parsers-ruby))
    (rust-mode              . ,(treesit-fold-parsers-rust))
    (rust-ts-mode           . ,(treesit-fold-parsers-rust))
    (rustic-mode            . ,(treesit-fold-parsers-rust))
    (scheme-mode            . ,(treesit-fold-parsers-scheme))
    (sh-mode                . ,(treesit-fold-parsers-bash))
    (scala-mode             . ,(treesit-fold-parsers-scala))
    (scala-ts-mode          . ,(treesit-fold-parsers-scala))
    (sql-mode               . ,(treesit-fold-parsers-sql))
    (svelte-mode            . ,(treesit-fold-parsers-svelte))
    (swift-mode             . ,(treesit-fold-parsers-swift))
    (tablegen-mode          . ,(treesit-fold-parsers-tablegen))
    (toml-mode              . ,(treesit-fold-parsers-toml))
    (toml-ts-mode           . ,(treesit-fold-parsers-toml))
    (conf-toml-mode         . ,(treesit-fold-parsers-toml))
    (tuareg-mode            . ,(treesit-fold-parsers-ocaml))
    (typescript-mode        . ,(treesit-fold-parsers-typescript))
    (typescript-ts-mode     . ,(treesit-fold-parsers-typescript))
    (tsx-ts-mode            . ,(treesit-fold-parsers-typescript))
    (verilog-mode           . ,(treesit-fold-parsers-verilog))
    (verilog-ts-mode        . ,(treesit-fold-parsers-verilog))
    (vhdl-mode              . ,(treesit-fold-parsers-vhdl))
    (vhdl-ts-mode           . ,(treesit-fold-parsers-vhdl))
    (vimscript-ts-mode      . ,(treesit-fold-parsers-vimscript))
    (nxml-mode              . ,(treesit-fold-parsers-xml))
    (xml-ts-mode            . ,(treesit-fold-parsers-xml))
    (yaml-mode              . ,(treesit-fold-parsers-yaml))
    (yaml-ts-mode           . ,(treesit-fold-parsers-yaml))
    (k8s-mode               . ,(treesit-fold-parsers-yaml))
    (zig-mode               . ,(treesit-fold-parsers-zig)))
  "An alist of (major-mode . (foldable-node-type . function)).

FUNCTION is used to determine where the beginning and end for FOLDABLE-NODE-TYPE
in MAJOR-MODE.  It should take a single argument (the syntax node with type
FOLDABLE-NODE-TYPE) and return the buffer positions of the beginning and end of
the fold in a cons cell.  See `treesit-fold-range-python-def' for an example."
  :type '(alist :key-type symbol
                :value-type (alist :key-type symbol :value-type function))
  :group 'treesit-fold)