Variable: nix-ts-mode-indent-rules

nix-ts-mode-indent-rules is a variable defined in nix-ts-mode.el.

Value

Large value
((nix ((parent-is "^source_code$") column-0 0)
      ((n-p-gp nil "^string_fragment$" "^string_expression$")
       no-indent 0)
      ((match "^\"$" "^string_expression$" nil nil nil) no-indent 0)
      ((n-p-gp nil "^string_fragment$" "^indented_string_expression$")
       nix-ts-indent-multiline-string 0)
      ((match "^interpolation$" "^indented_string_expression$" nil nil
	      nil)
       nix-ts-indent-multiline-string 0)
      ((match "^;$" "^inherit\\(_from\\)?$" nil nil nil) parent-bol
       nix-ts-mode-indent-offset)
      ((node-is "^)$") parent-bol 0) ((node-is "^,$") parent-bol 0)
      ((node-is "^]$") parent-bol 0) ((node-is "^;$") parent-bol 0)
      ((node-is "^else$") parent-bol 0)
      ((node-is "^in$") parent-bol 0)
      ((node-is "^then$") parent-bol 0) ((node-is "^}$") parent-bol 0)
      ((match nil "^let_expression" "^body$" nil nil) parent-bol 0)
      ((parent-is "^apply_expression$") parent-bol
       nix-ts-mode-indent-offset)
      ((parent-is "^\\(?:rec_\\)?attrset_expression$") parent-bol
       nix-ts-mode-indent-offset)
      ((parent-is "^binding$") parent-bol nix-ts-mode-indent-offset)
      ((parent-is "^formals$") parent-bol nix-ts-mode-indent-offset)
      ((parent-is "^if_expression$") parent-bol
       nix-ts-mode-indent-offset)
      ((parent-is "^inherit\\(_from\\)?$") parent-bol
       nix-ts-mode-indent-offset)
      ((parent-is "^interpolation$") parent-bol
       nix-ts-mode-indent-offset)
      ((parent-is "^let_expression$") parent-bol
       nix-ts-mode-indent-offset)
      ((parent-is "^list_expression$") parent-bol
       nix-ts-mode-indent-offset)
      ((parent-is "^parenthesized_expression$") parent-bol
       nix-ts-mode-indent-offset)
      ((and (parent-is "^binding_set$") prev-sibling)
       nix-ts-mode--prev-sibling-not-comment 0)
      (catch-all parent-bol 0)))

Documentation

Tree-sitter indent rules for nix-ts-mode.

Source Code

;; Defined in /nix/store/gfg1ybfpvhh7fr396dh1axr72lcm71n0-emacs-packages-deps/share/emacs/site-lisp/elpa/nix-ts-mode-20260705.1600/nix-ts-mode.el
(defvar nix-ts-mode-indent-rules
  `((nix
     ((parent-is "^source_code$") column-0 0)

     ;; Non-indented strings are untouched.
     ((n-p-gp nil "^string_fragment$" "^string_expression$") no-indent 0)
     ((match "^\"$" "^string_expression$" nil nil nil) no-indent 0)

     ((n-p-gp nil "^string_fragment$" "^indented_string_expression$") nix-ts-indent-multiline-string 0)
     ((match "^interpolation$" "^indented_string_expression$" nil nil nil) nix-ts-indent-multiline-string 0)

     ;; Unlike in every other place, a semicolon in an inherit node should be indented.
     ((match "^;$" "^inherit\\(_from\\)?$" nil nil nil) parent-bol nix-ts-mode-indent-offset)

     ((node-is "^)$") parent-bol 0)
     ((node-is "^,$") parent-bol 0)
     ((node-is "^]$") parent-bol 0)
     ((node-is "^;$") parent-bol 0)
     ((node-is "^else$") parent-bol 0)
     ((node-is "^in$") parent-bol 0)
     ((node-is "^then$") parent-bol 0)
     ((node-is "^}$") parent-bol 0)
     ((match nil "^let_expression" "^body$" nil nil) parent-bol 0)

     ((parent-is "^apply_expression$") parent-bol nix-ts-mode-indent-offset)
     ((parent-is "^\\(?:rec_\\)?attrset_expression$") parent-bol nix-ts-mode-indent-offset)
     ((parent-is "^binding$") parent-bol nix-ts-mode-indent-offset)
     ((parent-is "^formals$") parent-bol nix-ts-mode-indent-offset)
     ((parent-is "^if_expression$") parent-bol nix-ts-mode-indent-offset)
     ((parent-is "^inherit\\(_from\\)?$") parent-bol nix-ts-mode-indent-offset)
     ((parent-is "^interpolation$") parent-bol nix-ts-mode-indent-offset)
     ((parent-is "^let_expression$") parent-bol nix-ts-mode-indent-offset)
     ((parent-is "^list_expression$") parent-bol nix-ts-mode-indent-offset)
     ((parent-is "^parenthesized_expression$") parent-bol nix-ts-mode-indent-offset)

     ((and (parent-is "^binding_set$") prev-sibling) nix-ts-mode--prev-sibling-not-comment 0)

     (catch-all parent-bol 0)))
  "Tree-sitter indent rules for `nix-ts-mode'.")