From 0a66597b3498f5863620c3ca5e2713e45eed47f8 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Thu, 16 Oct 2008 16:15:17 -0400 Subject: Indenting SELECT sub-clauses properly --- src/elisp/urweb-mode.el | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/elisp/urweb-mode.el') diff --git a/src/elisp/urweb-mode.el b/src/elisp/urweb-mode.el index 9bfa0c96..5e217e1a 100644 --- a/src/elisp/urweb-mode.el +++ b/src/elisp/urweb-mode.el @@ -512,6 +512,12 @@ If anyone has a good algorithm for this..." (beginning-of-line) (current-indentation))) +(defconst urweb-sql-starters + '("FROM" "WHERE" "GROUP" "ORDER" "HAVING" "LIMIT" "OFFSET")) + +(defconst urweb-sql-starters-re + (urweb-syms-re urweb-sql-starters)) + (defun urweb-calculate-indentation () (save-excursion (beginning-of-line) (skip-chars-forward "\t ") @@ -566,6 +572,11 @@ If anyone has a good algorithm for this..." (urweb-indent-default 'noindent) (current-column)))) + (and (looking-at urweb-sql-starters-re) + (save-excursion + (and (re-search-backward urweb-sql-starters-re nil t) + (current-indentation)))) + (and (setq data (assoc sym urweb-close-paren)) (urweb-indent-relative sym data)) -- cgit v1.2.3