From 83fd594a3d7abb88f55819d18778112a252e137d Mon Sep 17 00:00:00 2001 From: "Thomas G. Lockhart" <lockhart@fourpalms.org> Date: Wed, 2 Feb 2000 16:25:04 +0000 Subject: [PATCH] Add short chapter in developer's guide on formatting source code. --- doc/src/sgml/postgres.sgml | 2 + doc/src/sgml/programmer.sgml | 11 ++++-- doc/src/sgml/sources.sgml | 76 ++++++++++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 doc/src/sgml/sources.sgml diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index 19e5c52807f..2546ef0d79d 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -91,6 +91,7 @@ <!entity page SYSTEM "page.sgml"> <!entity protocol SYSTEM "protocol.sgml"> <!entity signals SYSTEM "signals.sgml"> +<!entity sources SYSTEM "sources.sgml"> ]> <!-- entity manpages SYSTEM "man/manpages.sgml" subdoc --> <Book Id="postgres"> @@ -268,6 +269,7 @@ Your name here... suggestions for future development. </Para> </PartIntro> + &sources; &arch-dev; &options; &geqo; diff --git a/doc/src/sgml/programmer.sgml b/doc/src/sgml/programmer.sgml index f6c465af284..8f26bb4c3ef 100644 --- a/doc/src/sgml/programmer.sgml +++ b/doc/src/sgml/programmer.sgml @@ -1,9 +1,12 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/Attic/programmer.sgml,v 1.20 1999/12/06 16:37:11 thomas Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/Attic/programmer.sgml,v 1.21 2000/02/02 16:25:04 thomas Exp $ Postgres Programmer's Guide. $Log: programmer.sgml,v $ +Revision 1.21 2000/02/02 16:25:04 thomas +Add short chapter in developer's guide on formatting source code. + Revision 1.20 1999/12/06 16:37:11 thomas Remove references to PostgreSQL as "public-domain" since that has a specific meaning wrt copyright (or lack thereof). @@ -81,6 +84,7 @@ Make new file current.sgml to hold release info for the current release. <!entity page SYSTEM "page.sgml"> <!entity protocol SYSTEM "protocol.sgml"> <!entity signals SYSTEM "signals.sgml"> +<!entity sources SYSTEM "sources.sgml"> ]> <book id="programmer"> @@ -187,6 +191,7 @@ Disable it until we put in some info. <!-- development --> + &sources; &arch-dev; &options; &geqo; @@ -214,7 +219,7 @@ Disable it until we put in some info. <!-- Keep this comment at the end of the file Local variables: -mode: sgml +mode:sgml sgml-omittag:nil sgml-shorttag:t sgml-minimize-attributes:nil @@ -224,7 +229,7 @@ sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"./reference.ced" sgml-exposed-tags:nil -sgml-local-catalogs:"/usr/lib/sgml/CATALOG" +sgml-local-catalogs:("/usr/lib/sgml/CATALOG") sgml-local-ecat-files:nil End: --> diff --git a/doc/src/sgml/sources.sgml b/doc/src/sgml/sources.sgml new file mode 100644 index 00000000000..08a5e6073f0 --- /dev/null +++ b/doc/src/sgml/sources.sgml @@ -0,0 +1,76 @@ + <chapter> + <title>Postgres Source Code</title> + + <sect1> + <title>Formatting</title> + + <para> + Source code formatting uses a 4 column tab spacing, currently with + tabs preserved (i.e. tabs are not expanded to spaces). + </para> + + <para> + For emacs, add the following (or something similar) + to your <filename>~/.emacs</filename> + initialization file: + + <programlisting> +;; check for files with a path containing "postgres" or "pgsql" +(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 Postgres 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 + </programlisting> + </para> + + <para> + For <application>vi</application>, your + <filename>~/.vimrc</filename> or equivalent file should contain + the following: + + <programlisting> +set tabstop=4 + </programlisting> + + or equivalently from within vi, try + + <programlisting> +:set ts=4 + </programlisting> + </para> + + <para> + The text browsing tools <application>more</application> and + <application>less</application> can be invoked as + + <programlisting> +more -x4 +less -x4 + </programlisting> + </para> + </sect1> + </chapter> + +<!-- Keep this comment at the end of the file +Local variables: +mode:sgml +sgml-omittag:nil +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"./reference.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:("/usr/lib/sgml/CATALOG") +sgml-local-ecat-files:nil +End: +--> -- GitLab