|
@ -11,7 +11,7 @@ |
|
|
(if (bobp) |
|
|
(if (bobp) |
|
|
(indent-line-to 0) ; First line is always non-indented |
|
|
(indent-line-to 0) ; First line is always non-indented |
|
|
(let ((not-indented t) cur-indent) |
|
|
(let ((not-indented t) cur-indent) |
|
|
(if (looking-at "^[ \t]*\\(\\\\end\\(song\\|verse\\|chorus\\)\\)") ; If the line we are looking at is the end of a block, then decrease the indentation |
|
|
(if (looking-at "^[ \t]*\\(\\\\end\\)") ; If the line we are looking at is the end of a block, then decrease the indentation |
|
|
(progn |
|
|
(progn |
|
|
(save-excursion |
|
|
(save-excursion |
|
|
(forward-line -1) |
|
|
(forward-line -1) |
|
@ -21,11 +21,11 @@ |
|
|
(save-excursion |
|
|
(save-excursion |
|
|
(while not-indented ; Iterate backwards until we find an indentation hint |
|
|
(while not-indented ; Iterate backwards until we find an indentation hint |
|
|
(forward-line -1) |
|
|
(forward-line -1) |
|
|
(if (looking-at "^[ \t]*\\(\\\\end\\(song\\|verse\\|chorus\\)\\)") ; This hint indicates that we need to indent at the level of the END_ token |
|
|
(if (looking-at "^[ \t]*\\(\\\\end\\)") ; This hint indicates that we need to indent at the level of the END_ token |
|
|
(progn |
|
|
(progn |
|
|
(setq cur-indent (current-indentation)) |
|
|
(setq cur-indent (current-indentation)) |
|
|
(setq not-indented nil)) |
|
|
(setq not-indented nil)) |
|
|
(if (looking-at "^[ \t]*\\(\\\\begin\\(song\\|verse\\|chorus\\)\\)") ; This hint indicates that we need to indent an extra level |
|
|
(if (looking-at "^[ \t]*\\(\\\\begin\\)") ; This hint indicates that we need to indent an extra level |
|
|
(progn |
|
|
(progn |
|
|
(setq cur-indent (+ (current-indentation) 2)) ; Do the actual indenting |
|
|
(setq cur-indent (+ (current-indentation) 2)) ; Do the actual indenting |
|
|
(setq not-indented nil)) |
|
|
(setq not-indented nil)) |
|
@ -33,8 +33,7 @@ |
|
|
(setq not-indented nil))))))) |
|
|
(setq not-indented nil))))))) |
|
|
(if cur-indent |
|
|
(if cur-indent |
|
|
(indent-line-to cur-indent) |
|
|
(indent-line-to cur-indent) |
|
|
(indent-line-to 0)))) ; If we didn't see an indentation hint, then allow no indentation |
|
|
(indent-line-to 0))))) ; If we didn't see an indentation hint, then allow no indentation |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
(defun emacs-format-function () |
|
|
(defun emacs-format-function () |
|
|
"Format the whole buffer." |
|
|
"Format the whole buffer." |
|
|