summaryrefslogtreecommitdiff
path: root/src/elisp/urweb-mode.el
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-10-16 16:15:17 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-10-16 16:15:17 -0400
commit0a66597b3498f5863620c3ca5e2713e45eed47f8 (patch)
tree3d989c71c000d7324852e4d03d417d29e91b3f0c /src/elisp/urweb-mode.el
parent22236f78bf5acb81d9c404ab71be9aa3d9e3bf26 (diff)
Indenting SELECT sub-clauses properly
Diffstat (limited to 'src/elisp/urweb-mode.el')
-rw-r--r--src/elisp/urweb-mode.el11
1 files changed, 11 insertions, 0 deletions
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))