Function: jinja2-calculate-indent-backward

jinja2-calculate-indent-backward is a natively compiled function defined in jinja2-mode.el.

Signature

(jinja2-calculate-indent-backward DEFAULT)

Documentation

Return indent column based on previous lines

Source Code

;; Defined in /nix/store/w823rz5zs434n18ps4jcyc02giqk4dgd-emacs-packages-deps/share/emacs/site-lisp/elpa/jinja2-mode-20220117.807/jinja2-mode.el
(defun jinja2-calculate-indent-backward (default)
  "Return indent column based on previous lines"
  (let ((indent-width sgml-basic-offset) (default (sgml-indent-line-num)))
    (forward-line -1)
    (if (looking-at "^[ \t]*{%-? *end") ; Don't indent after end
        (current-indentation)
      (if (looking-at (concat "^[ \t]*{%-? *.*?{%-? *end" (regexp-opt (jinja2-indenting-keywords))))
          (current-indentation)
        (if (looking-at (concat "^[ \t]*{%-? *" (regexp-opt (jinja2-indenting-keywords)))) ; Check start tag
            (+ (current-indentation) indent-width)
          (if (looking-at "^[ \t]*<") ; Assume sgml block trust sgml
              default
            (if (bobp)
                0
              (jinja2-calculate-indent-backward default))))))))