Variable: zig-ts--indent-rules

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

Value

((zig ((parent-is "source_file") column-0 0)
      ((node-is ")") parent-bol 0) ((node-is "]") parent-bol 0)
      ((node-is "}") parent-bol 0)
      ((parent-is "multiline_string") prev-line 0)
      ((node-is ";") parent-bol 0) ((match "else" "if") parent-bol 0)
      ((parent-is "if") parent-bol zig-ts-indent-offset)
      ((parent-is "else") parent-bol zig-ts-indent-offset)
      ((parent-is "while") parent-bol zig-ts-indent-offset)
      ((parent-is "for") parent-bol zig-ts-indent-offset)
      ((parent-is "switch") parent-bol zig-ts-indent-offset)
      ((parent-is "assignment_expression") parent-bol 0)
      ((parent-is "field_expression") parent-bol zig-ts-indent-offset)
      ((parent-is "variable_declaration") parent-bol
       zig-ts-indent-offset)
      ((parent-is "struct_declaration") parent-bol
       zig-ts-indent-offset)
      ((parent-is "enum_declaration") parent-bol zig-ts-indent-offset)
      ((parent-is "union_declaration") parent-bol zig-ts-indent-offset)
      ((parent-is "opaque_declaration") parent-bol
       zig-ts-indent-offset)
      ((parent-is "container_field") parent-bol zig-ts-indent-offset)
      ((parent-is "initializer_list") parent-bol zig-ts-indent-offset)
      ((parent-is "block") parent-bol zig-ts-indent-offset)
      ((parent-is "arguments") parent-bol zig-ts-indent-offset)
      ((parent-is "parameters") parent-bol zig-ts-indent-offset)
      (no-node parent-bol 0)))

Documentation

treesit-simple-indent-rules for zig-ts-mode.

Source Code

;; Defined in /nix/store/jxyx97fhclw4jb395hn97pz60n2rh0hs-emacs-packages-deps/share/emacs/site-lisp/elpa/zig-ts-mode-20260921.1554/zig-ts-mode.el
;;;; Indentation
;;
;; Tree-sitter indentation rules for Zig
;;
;; Adapted from nvim indentation queries in nvim-treesitter

(defvar zig-ts--indent-rules
  `((zig
     ;; Top-level definitions: column 0
     ((parent-is "source_file") column-0 0)

     ;; Closing delimiters align with the opening construct
     ((node-is ")") parent-bol 0)
     ((node-is "]") parent-bol 0)
     ((node-is "}") parent-bol 0)

     ((parent-is "multiline_string") prev-line 0)

     ((node-is ";") parent-bol 0)

     ((match "else" "if") parent-bol 0)
     ((parent-is "if") parent-bol zig-ts-indent-offset)
     ((parent-is "else") parent-bol zig-ts-indent-offset)

     ((parent-is "while") parent-bol zig-ts-indent-offset)

     ((parent-is "for") parent-bol zig-ts-indent-offset)

     ((parent-is "switch") parent-bol zig-ts-indent-offset)

     ((parent-is "assignment_expression") parent-bol 0)
     ((parent-is "field_expression") parent-bol zig-ts-indent-offset)

     ((parent-is "variable_declaration") parent-bol zig-ts-indent-offset)
     ((parent-is "struct_declaration") parent-bol zig-ts-indent-offset)
     ((parent-is "enum_declaration") parent-bol zig-ts-indent-offset)
     ((parent-is "union_declaration") parent-bol zig-ts-indent-offset)
     ((parent-is "opaque_declaration") parent-bol zig-ts-indent-offset)
     ((parent-is "container_field") parent-bol zig-ts-indent-offset)
     ((parent-is "initializer_list") parent-bol zig-ts-indent-offset)

     ((parent-is "block") parent-bol zig-ts-indent-offset)
     ((parent-is "arguments") parent-bol zig-ts-indent-offset)
     ((parent-is "parameters") parent-bol zig-ts-indent-offset)

     (no-node parent-bol 0)))
  "`treesit-simple-indent-rules' for `zig-ts-mode'.")