MicroEmacs / PlpgSQLMode
Motivation
Editing large chunks of plpgsql code can be a pain if you are hunting for your procedure and function definitions.
Add the following lines to your own file mysql.emf which should be in our personal microemacs/user directory:
set-variable .fhook-sql.collapse-open "\\$\\$$" set-variable .fhook-sql.collapse-close "^\\$\\$" set-variable .fhook-sql.collapse-mclose "1" set-variable .fhook-sql.collapse-mnext "-1" buffer-bind-key "collapse-current" "f2" buffer-bind-key "collapse-all" "f3" set-variable .fhook-sql.item-list-s1 "^CREATE .+FUNCTION[\t ]+\\([A-Za-z0-9_]*\\)[\t ]*" set-variable .fhook-sql.item-list-r1 "Func \ecB\\1\ecA" set-variable .fhook-sql.item-list-s2 "^CREATE .+VIEW[\t ]+\\([A-Za-z0-9_]*\\)[\t ]*" set-variable .fhook-sql.item-list-r2 "View \ecB\\1\ecA" set-variable .fhook-sql.item-list-s3 "^CREATE +TYPE[\t ]+\\([A-Za-z0-9_]*\\)[\t ]*" set-variable .fhook-sql.item-list-r3 "Type \ecB\\1\ecA" hilight .hilight.sql 1 "replace" .scheme.keyword hilight .hilight.sql 1 "returns" .scheme.keyword hilight .hilight.sql 1 "return" .scheme.keyword hilight .hilight.sql 1 "setof" .scheme.keyword hilight .hilight.sql 1 "elsif" .scheme.keyword hilight .hilight.sql 1 "raise" .scheme.keyword hilight .hilight.sql 1 "notice" .scheme.keyword hilight .hilight.sql 1 "loop" .scheme.keyword define-macro sql-copy-function set-alpha-mark "p" search-backward "^CREATE" beginning-of-line set-mark search-forward "^$$" exchange-point-and-mark copy-region goto-alpha-mark "p" !emacro