From e7d4f74e5fd9bca75906c7b2c2e68695a09cbd78 Mon Sep 17 00:00:00 2001 From: Oleh Krehel Date: Thu, 18 Dec 2014 13:19:32 +0100 Subject: [PATCH] Add indentation for \if...-\else-\fi statements * latex.el (LaTeX-end-regexp): "\else" and "\fi" will now subtract from indentation. (LaTeX-indent-level-count): add a special case for "\else", since it ends an indentation block and starts a new one at the same time. "\if" will now add to indentation level, unless there's a "{" on the same line. Note that there's no "\\b", so: \ifdefinded will add indentation \ifwindows will add indentation \ifstrequal{#4}{} will not add indentation --- latex.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/latex.el b/latex.el index 477ef66..e2d1f68 100644 --- a/latex.el +++ b/latex.el @@ -2917,7 +2917,7 @@ indentation level in columns." :group 'LaTeX-indentation :type 'regexp) -(defcustom LaTeX-end-regexp "end\\b" +(defcustom LaTeX-end-regexp "\\(?:end\\|else\\|fi\\)\\b" "*Regexp matching macros considered ends." :group 'LaTeX-indentation :type 'regexp) @@ -3129,7 +3129,13 @@ outer indentation in case of a commented line. The symbols ((looking-at "right\\b") (setq count (- count LaTeX-left-right-indent-level))) ((looking-at LaTeX-begin-regexp) - (setq count (+ count LaTeX-indent-level))) + (setq count (+ count LaTeX-indent-level))) + ((and (looking-at "if") + (not + (save-excursion + (search-forward "{" (line-end-position) t)))) + (setq count (+ count LaTeX-indent-level))) + ((looking-at "else\\b")) ((looking-at LaTeX-end-regexp) (setq count (- count LaTeX-indent-level))) ((looking-at (regexp-quote TeX-esc)) -- 1.8.4