aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tools/editors/emacs.samples78
-rw-r--r--src/tools/editors/vim.samples18
2 files changed, 96 insertions, 0 deletions
diff --git a/src/tools/editors/emacs.samples b/src/tools/editors/emacs.samples
new file mode 100644
index 00000000000..a4d00bedc4f
--- /dev/null
+++ b/src/tools/editors/emacs.samples
@@ -0,0 +1,78 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;
+;;; This file contains several examples of how to set up emacs and/or xemacs
+;;; to edit PostgreSQL code.
+;;;
+;;; Whichever set you choose would go in your .emacs file or equivalent.
+;;;
+;;; You only need one of these.
+;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; This set is known to work with old versions of emacs
+
+(setq auto-mode-alist
+ (cons '("\\(postgres\\|pgsql\\).*\\.[ch]\\'" . pgsql-c-mode)
+ auto-mode-alist))
+(setq auto-mode-alist
+ (cons '("\\(postgres\\|pgsql\\).*\\.cc\\'" . pgsql-c-mode)
+ auto-mode-alist))
+
+(defun pgsql-c-mode ()
+ ;; sets up formatting for PostgreSQL C code
+ (interactive)
+ (c-mode)
+ (setq-default tab-width 4)
+ (c-set-style "bsd") ; set c-basic-offset to 4, plus other stuff
+ (c-set-offset 'case-label '+) ; tweak case indent to match PG custom
+ (setq indent-tabs-mode t)) ; make sure we keep tabs when indenting
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Similar approach, known to work with xemacs
+;;; Use of a named style makes it easy to use the style elsewhere
+
+(c-add-style "pgsql"
+ '("bsd"
+ (indent-tabs-mode . t)
+ (c-basic-offset . 4)
+ (tab-width . 4)
+ (c-offsets-alist .
+ ((case-label . +)))
+ )
+ nil ) ; t = set this mode, nil = don't
+
+(defun pgsql-c-mode ()
+ (c-mode)
+ (c-set-style "pgsql")
+)
+
+(setq auto-mode-alist
+ (cons '("\\(postgres\\|pgsql\\).*\\.[chyl]\\'" . pgsql-c-mode)
+ auto-mode-alist))
+(setq auto-mode-alist
+ (cons '("\\(postgres\\|pgsql\\).*\\.cc\\'" . pgsql-c-mode)
+ auto-mode-alist))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Slightly different approach - use a hook instead of a mode
+
+(add-hook 'c-mode-hook
+ (function
+ (lambda nil
+ (if (string-match "pgsql" buffer-file-name)
+ (progn
+ (c-set-style "bsd")
+ (setq c-basic-offset 4)
+ (setq tab-width 4)
+ (c-set-offset 'case-label '+)
+ (setq indent-tabs-mode t)
+ )
+ ))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/src/tools/editors/vim.samples b/src/tools/editors/vim.samples
new file mode 100644
index 00000000000..210d9a360aa
--- /dev/null
+++ b/src/tools/editors/vim.samples
@@ -0,0 +1,18 @@
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"
+" These settings are appropriate for editing PostgreSQL code with vim
+"
+" You would copy this into your .vimrc or equivalent
+"
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+:if match(getcwd(), "/pgsql") >=0 || match(getcwd(), "/postgresql") >= 0
+
+: set cinoptions=(0
+: set tabstop=4
+: set shiftwidth=4
+
+:endif
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""