* [PATCH] Add support reading default options from conf file
@ 2005-06-09 1:00 Jonas Fonseca
2005-06-09 8:32 ` Petr Baudis
0 siblings, 1 reply; 3+ messages in thread
From: Jonas Fonseca @ 2005-06-09 1:00 UTC (permalink / raw)
To: Dan Holmsand; +Cc: git, Petr Baudis
Reply-To:
In-Reply-To: <42A754D5.10705@gmail.com>
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.
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
---
Documentation/make-cogito-asciidoc | 12 ++++++++++++
cg | 6 +++++-
2 files changed, 17 insertions(+), 1 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,18 @@ FILE::
Indicates an already existing filename - always relative to the root
of the repository.
+FILES
+-----
+~/.cogito.conf::
+ This file is read when running the \`cg\` wrapper program and
+ contains information about default options. Each line consists
+ of a command name and a list of options. Empty lines and lines
+ starting with '#' are ignored. To always have \`cg log\` and
+ \`cg diff\` output colored put the following in ~/.cogito.conf:
+
+ log -c
+ diff -c
+
COPYRIGHT
---------
Copyright (C) Petr Baudis, 2005.
diff --git a/cg b/cg
--- a/cg
+++ b/cg
@@ -3,5 +3,9 @@
cmd="$1"; shift
[ x"$cmd" = x"--help" ] && cmd="help"
+if [ -e "$HOME/.cogito.conf" ]; then
+ defaults="$(grep "^$cmd" "$HOME/.cogito.conf" | sed "s/^$cmd //")"
+fi
+
exe="cg-$cmd"
-exec $exe "$@"
+exec $exe "$defaults" "$@"
--
Jonas Fonseca
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Add support reading default options from conf file
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 ` [PATCH] Read default options from config file Jonas Fonseca
0 siblings, 1 reply; 3+ messages in thread
From: Petr Baudis @ 2005-06-09 8:32 UTC (permalink / raw)
To: Jonas Fonseca; +Cc: Dan Holmsand, git
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...
> Reply-To:
> In-Reply-To: <42A754D5.10705@gmail.com>
>
> 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.
>
> Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
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. ;-)
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
<Espy> be careful, some twit might quote you out of context..
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] Read default options from config file
2005-06-09 8:32 ` Petr Baudis
@ 2005-06-11 1:09 ` Jonas Fonseca
0 siblings, 0 replies; 3+ messages in thread
From: Jonas Fonseca @ 2005-06-11 1:09 UTC (permalink / raw)
To: Petr Baudis; +Cc: Dan Holmsand, git
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-06-11 1:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH] Read default options from config file Jonas Fonseca
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.