From: Jonas Fonseca <fonseca@diku.dk>
To: Petr Baudis <pasky@ucw.cz>
Cc: Dan Holmsand <holmsand@gmail.com>, git@vger.kernel.org
Subject: [PATCH] Read default options from config file
Date: Sat, 11 Jun 2005 03:09:31 +0200 [thread overview]
Message-ID: <20050611010931.GA13272@diku.dk> (raw)
In-Reply-To: <20050609083243.GD29665@pasky.ji.cz>
Petr Baudis <pasky@ucw.cz> wrote Thu, Jun 09, 2005:
> Dear diary, on Thu, Jun 09, 2005 at 03:00:56AM CEST, I got a letter
> where Jonas Fonseca <fonseca@diku.dk> told me that...
> >
> > Dan Holmsand <holmsand@gmail.com> wrote Wed, Jun 08, 2005:
> > > - Automatic color if the COGITO_AUTO_COLOR environment variable is set.
> >
> > [ This has been discussed before. Default arguments. The 'new' cg
> > wrapper makes this very easy. Not as smart as your env variable
> > handling tho'. ]
> >
> > The default options are read only for Cogito calls going through the new
> > cg wrapper which makes it trivial to 'overwrite' them by just calling
> > cg-COMMAMD.
>
> No, this is the wrong way. The 'cg' wrapper must not really do anything
> special on its own. It's not a _replacement_ for direct calling of the
> cg-scripts, it's just an aid for people who don't want to get used to
> it. So please do this in cg-Xlib.
>
> Also, I'd prefer the config file to be something like ~/.cgrc. I want to
> reserve the .conf file for something more sophisticated. ;-)
With the optparse stuff in things got a lot easier. I took the idea to
check for stole from Dan Holmsands patches to only read it when stdout
is a terminal. So the file is really only for interactive usage.
---
Introduce ~/.cgrc config file. The file is read on startup if stdout is
a terminal and may contain information about default command line
options. Each line consists of a command name and a list of options.
Lines not starting with a 'Cogito' command name are ignored.
To always have cg-log and cg-diff colorize the output put the followig
in ~/.cgrc:
log -c
diff -c
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
Documentation/make-cogito-asciidoc | 13 +++++++++++++
cg-Xlib | 7 +++++++
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/Documentation/make-cogito-asciidoc b/Documentation/make-cogito-asciidoc
--- a/Documentation/make-cogito-asciidoc
+++ b/Documentation/make-cogito-asciidoc
@@ -140,6 +140,19 @@ FILE::
Indicates an already existing filename - always relative to the root
of the repository.
+FILES
+-----
+~/.cgrc::
+ This file is read on startup if \`stdout\` is a terminal and may
+ contain information about default command line options. Each line
+ consists of a command name and a list of options. Lines not
+ starting with a 'Cogito' command name are ignored. To have
+ \`cg-log\` and \`cg-diff\` colorize the output put the following
+ in ~/.cgrc:
+
+ log -c
+ diff -c
+
COPYRIGHT
---------
Copyright (C) Petr Baudis, 2005.
diff --git a/cg-Xlib b/cg-Xlib
--- a/cg-Xlib
+++ b/cg-Xlib
@@ -150,6 +150,13 @@ done
ARGS=("$@")
ARGPOS=0
+if [ -t 1 -a -e "$HOME/.cgrc" ]; then
+ _cg_name=${_cg_cmd#cg-}
+ _cg_defaults="$(sed -n "/^$_cg_name/s/^$_cg_name //p" < $HOME/.cgrc)"
+ ARGS=($_cg_defaults "${ARGS[@]}")
+fi
+
+
optshift() {
unset ARGS[$ARGPOS]
ARGS=("${ARGS[@]}")
--
Jonas Fonseca
prev parent reply other threads:[~2005-06-11 1:06 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-09 1:00 [PATCH] Add support reading default options from conf file Jonas Fonseca
2005-06-09 8:32 ` Petr Baudis
2005-06-11 1:09 ` Jonas Fonseca [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050611010931.GA13272@diku.dk \
--to=fonseca@diku.dk \
--cc=git@vger.kernel.org \
--cc=holmsand@gmail.com \
--cc=pasky@ucw.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).