Commit 984cbd52 authored by Francois Marier's avatar Francois Marier

Imported Upstream version 1.35

parents
Stefan Kamphausen <http://www.skamphausen.de>
I started this project and whenever there is an
I-narrator it's me :).
Claus Brunzema <mail@cbrunzema.de>
Cleaned the code, gave hints, is user no.2
introduced autoconf/automake and m4 to this
project and more...
Other Contributors: see the THANKS file :-)
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
COMPILATION
===========
Installation is easy, do:
$ configure
$ make
then become root and do:
# make install-strip
If you're not content with the displayed width of the description you
might want to change cdargs.cc. Look for the lines
# define DESCRIPTION_MAXLENGTH 18
# define DESCRIPTION_BROWSELENGTH 8
and change the numbers according to your taste.
CREATE SHELL FUNCTION(S)
========================
For Versions 1.19 And Newer (bash)
----------------------------------
Simply copy the file contrib/cdargs-bash.sh somewhere into your $PATH
and put a line like
source cdargs-bash.sh
in your ~/.bashrc. This loads some very useful functions into your shell.
(Please note that these functions could be improved but I don't have
enough bash knowledge for that.)
For Versions 1.20 And Newer (tcsh)
----------------------------------
Copy the file contrib/cdargs-tcsh.csh to a place that you like and
source it from your ~/.cshrc (or ~/.tcsh ?).
Please note that I don't know much about tcsh (im bashi-ish) and thus
this might be quite quirky... Any help appreciated in making the tcsh
expansion as powerfull as Dan's bash functions.
For Older Versions
------------------
Put a line like the following into your shell startup-script
(.profile, .bashrc, .zshrc, whatever) to create a shell function:
function cv () { cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`" }
If you want to you can remove the file in your homedirectory after successfully
using cdargs:
function cv () { cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`" && rm -f "$HOME/.cdargsresult" }
or you can echo the directory you changed to:
function cv () { cdargs "$1" && cd "`cat "$HOME/.cdargsresult"`" && pwd ; }
Another thing you might find useful is an alias for adding paths:
function ca () { cdargs --add="$1" ; }
function capwd () { cdargs --add=":$1:"`pwd` ; }
(Note that the '&&' is just possible since version 1.11 which
introduced a reasonable return code to cdargs. Both version should work.)
WRAPPING
========
If you do not like the cursor wrapping around on the top and the
bottom of the list, start cdargs with the additional option --nowrap:
Example:
function cb () { cdargs --nowrap "$1" && cd `cat $HOME/.cdargsresult` ; }
MORE HELP
=========
For more information try:
$ configure --help
$ cdargs --help
or press 'H' or '?' while running cdargs.
Additionally since version 1.16 cdargs comes with a manpage.
GNU/X Emacs
===========
Since version 1.24 there is a cdargs.el which you just put somewhere
where Emacs can find it (see variable load-path) and the require it in
your personal init file (may be one of ~/.emacs, ~/.xemacs/init.el
~/.xemacs/my/config/personal.el or something else):
(require 'cdargs)
Appendix:
=========
Creating an RPM (thanks Oron!)
------------------------------
First way (assuming all directories relative to /usr/src/redhat):
- Put the .spec file in the SPECS directories
- Put the tar.gz file in the SOURCES directory
- From the SPECS directory run:
rpm -bb cdargs.spec # to build only binary RPM
rpm -bs cdargs.spec # to build only source RPM
rpm -ba cdargs.spec # to build both
Second way (assuming the tar.gz file contains .spec file):
- Simply run:
rpm -ta cdargs-<version>.tar.gz
The resulting binary RPM will be below the RPMS directory (e.g:
RPMS/i386).
Signing The Tarball
-------------------
The whole thing, including the tarball:
gpg -a --sign cdargs-<version>.tar.gz
Just the signature:
gpg -ab --default-key 0BA0A295 --sign cdargs-<version>.tar.gz
EXTRA_DIST = autogen.sh configure cdargs.spec cdargs.spec.in
SUBDIRS = contrib doc src m4
This diff is collapsed.
please see ChangeLog...
Cdargs - Copyright (c) 2001-2003 Stefan Kamphausen <http://www.skamphausen.de>
You may use, alter and distribute it under the terms of the
GNU General Public License (see file COPYING).
* Description:
Keep you hotspots of the filesystem in a bookmark list and warp there
easily or browse the filesystem with a few fast keystrokes.
inspired by the CDBM script written by Michael Schili for the german
iX-Magazin and the derived scripts in the discussion thread to that
script. This is a complete rewrite of the whole thing in C++ with a
bunch of features added to it.
For an explanation see file INSTALL, start cdargs:
./cdargs
and press 'H' to get to the help screen.
Michael Schilli http://www.perlmeister.com
- initial idea (written in perl)
see: http://www.heise.de/ix/artikel/2001/01/179/
(german article)
The guys in the iX forum who enhanced the script thus provding
good ideas for the user interface.
Forum (german) is at:
http://www.heise.de/ix/foren/go.shtml?list=1&g=200101179
Dan Allen <dan_at_mojavelinux.com>
For more feedback and suggestions from the world
(on version 1.14 and the following).
He wanted:
- mutt/vim style keybindings for movement
- resolving the list if only one entry
- from other requests the Needle magic was born
- don't use A_BOLD for highlighting of current entry
(I took A_STANDOUT instead)
- ask user for a description and remove capitalize in default
- adding of entries from the command line.
- AND MUCH MORE...
Plus he found most of the bugs and he provided the bash shell
functions (check out the completion with cv [TAB]!!)!
This was most valuable input, Dan.
Damjan Lango <damjan.lango_at_hermes.si>
first feedback from the world wishing two features:
- history
- add function to add to the list current directory, not only
the selected.
Tomi Ollila <Tomi.Ollila_at_sonera.com>
For more feedback and suggestions from the world
- return code != null for quitting
- suggested introducing configurable keymaps
Stephen Gildea and Juhapekka Tolvanen <juhtolv_at_st.jyu.fi>
for corrections with quoting and portability of the shell functions.
Oron Pered for correcting my asumptions about the backticks and
terminal/curses things. I'm pretty sure that I'll use that in an
upcoming project :). Plus the .spec file and instructions how to use
it to build the RPM package.
R"udiger Goetz <http://www.r-goetz.de> for tcsh completion
Petra Malik <Petra.Malik_at_xtra.co.nz> for the Debian packaging and
bugfixes.
Robi Malik <robi.malik_at_nexgo.de> for improvements to the bash completion
code.
Richard Lammers <Richard.Lammers_at_unh.edu> for highlight current
directory in list feature idea and much more feedback
Randy Chamberlin <littlemanrkc_at_subdimension.com> for whitespaces in
paths (and descriptions) bug report
Maximiliano Pin for suggestions to the user interface and bug
reporting.
Oscar Fernandez Sierra <oscar_at_el-mundo.net> for the patch that enables
a variable width/length for the description (in contrast to the
hardcoded 8 before that)
Miki Tebeka <miki.tebeka_at_zoran.com> and Claus for the Cygwin things.
Geert Jan Bex <http://uhasselt.be/~gjb> for changes to
cdargs-bash.sh
Damon Harper <ds+dev-cdargs_at_usrbin.ca> for subdirectory completion
in bash.
Peace and Pleasure to you all!
+ www.skamphausen.de __ __ _ __ __ -+
| <` \____// |__| |_ |_| | |_ |
| \ ~~~ / | |__ | | |__ |__ |
+- `-ll-' May The Open Source Be With You! -+
TODO List for cdargs
Time-stamp: <17-Feb-2003 20:41:53 ska>
Bugs
====
1. TAB Completion with (for awk) special characters
I'd even extent this to the general shell plugin and completion:
- option -u[--user] works with the binary but not with the shell
plugin
- AWK compreply generation
I'd like to see common cd completion when a bookmark could be
resolved (of course the binary had to act in an appropriate way)
These are the things on my personal ToDo List for this leetle
project:
[ ] Spacers in the list?
[ ] TOTAL REWRITE FROM SCRATCH for cleaner design and code!
I'd really to see this done, but alas! who's got the time for it?
[ ] new keys to scroll long directory listings (SPACE and BACKSPACE or
should SPACE be finish-using-the-currently-shown-directory ?
[ ] search modus: in BROWSE mode it would be quite cool to just type
'/ et' and automatically end up in the etc directory.
[ ] automatic installation of shell script files and add a line to
source them at the end of ~/.bashrc? Well, maybe
[ ] Fix everything for different terminals than xterm;
Example: in (some version of) konsole KEY_HOME and KEY_END don't
work properly
[ ] And when that is done I WANT COLORS ($LS_COLORS...)!
[?] The Legal Stuff
[?] Some good ideas for the User Interface anybody?
[ ] remove the GNU_SOURCES to be compilable on other platforms?
Here come the things I probably (or definetly) won't do myself.
Feel free to get into the game
[ ] Internationalization
[ ] the usual security flaws (buffer, printf, whatever)
[ ] compile, run, test on various platforms (I have only linux boxes)
[x] make a debian package - thanks to Petra Malik
[ ] fix m4 macro setup (make barfs if you change configure.in. you
have to run autogen.sh in this case).
Explanation:
===========
[ ] open subject
[x] done (and will be removed later)
[?] is this OK yet? (maybe needs some debugging)
[-] action cancelled
\ No newline at end of file
dnl aclocal.m4 generated automatically by aclocal 1.4-p5
dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
# serial 1
dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
VERSION=[$2]
AC_SUBST(VERSION)
dnl test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
ifelse([$3],,
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM])
dnl FIXME This is truly gross.
missing_dir=`cd $ac_aux_dir && pwd`
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
AC_REQUIRE([AC_PROG_MAKE_SET])])
#
# Check to make sure that the build environment is sane.
#
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftestfile
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
if test "[$]*" = "X"; then
# -L didn't work.
set X `ls -t $srcdir/configure conftestfile`
fi
if test "[$]*" != "X $srcdir/configure conftestfile" \
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
test "[$]2" = conftestfile
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
rm -f conftest*
AC_MSG_RESULT(yes)])
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
dnl The program must properly implement --version.
AC_DEFUN([AM_MISSING_PROG],
[AC_MSG_CHECKING(for working $2)
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
if ($2 --version) < /dev/null > /dev/null 2>&1; then
$1=$2
AC_MSG_RESULT(found)
else
$1="$3/missing $2"
AC_MSG_RESULT(missing)
fi
AC_SUBST($1)])
dnl Source: http://www.gnu.org/software/ac-archive/htmldoc/mp_with_curses.html
dnl
AC_DEFUN([MP_WITH_CURSES],
[AC_ARG_WITH(ncurses, [ --with-ncurses Force the use of ncurses over curses],,)
mp_save_LIBS="$LIBS"
CURSES_LIB=""
if test "$with_ncurses" != yes
then
AC_CACHE_CHECK([for working curses], mp_cv_curses,
[LIBS="$LIBS -lcurses"
AC_TRY_LINK(
[#include <curses.h>],
[chtype a; int b=A_STANDOUT, c=KEY_LEFT; initscr(); ],
mp_cv_curses=yes, mp_cv_curses=no)])
if test "$mp_cv_curses" = yes
then
AC_DEFINE(HAVE_CURSES_H)
CURSES_LIB="-lcurses"
fi
fi
if test ! "$CURSES_LIB"
then
AC_CACHE_CHECK([for working ncurses], mp_cv_ncurses,
[LIBS="$mp_save_LIBS -lncurses"
AC_TRY_LINK(
[#include <ncurses.h>],
[chtype a; int b=A_STANDOUT, c=KEY_LEFT; initscr(); ],
mp_cv_ncurses=yes, mp_cv_ncurses=no)])
if test "$mp_cv_ncurses" = yes
then
AC_DEFINE(HAVE_NCURSES_H)
CURSES_LIB="-lncurses"
fi
fi
LIBS="$mp_save_LIBS"
])dnl
#! /bin/sh
SRCDIR=`dirname $0`
rm -f $SRCDIR/config.cache
echo "aclocal"
aclocal -I m4
echo "autoconf"
autoconf
echo "automake"
automake --add-missing --copy
echo "configure"
$SRCDIR/configure
exit
%define profiledir %{_sysconfdir}/profile.d
Name: cdargs
Version: 1.35
Release: 1
Vendor: Stefan Kamphausen <http://www.skamphausen.de>
License: GPL
Group: Applications/File
Packager: Oron Peled <oron@actcom.co.il>
Summary: The Shell cd with bookmarks and browser
Source: http://www.skamphausen.de/software/cdargs/%name-%version.tar.gz
URL: http://www.skamphausen.de/software/cdargs/
Buildroot: %{_tmppath}/%{name}-%{version}-root
%description
Navigate cd Arguments/expand the shell built-in cd with bookmarks and browser
%prep
%setup
%build
%configure
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p $RPM_BUILD_ROOT%{profiledir}
install -m 755 contrib/cdargs-bash.sh $RPM_BUILD_ROOT%{profiledir}/cdargs.sh
install -m 755 contrib/cdargs-tcsh.csh $RPM_BUILD_ROOT%{profiledir}/cdargs.csh
%files
%defattr(-, root, root)
%{_bindir}/cdargs
%{profiledir}/cdargs.*
%doc %{_mandir}/man1/cdargs.1*
%doc AUTHORS ChangeLog COPYING INSTALL NEWS README THANKS TODO
%doc contrib/cdargs.el
%clean
rm -rf $RPM_BUILD_ROOT
%define profiledir %{_sysconfdir}/profile.d
Name: @PACKAGE@
Version: @VERSION@
Release: 1
Vendor: Stefan Kamphausen <http://www.skamphausen.de>
License: GPL
Group: Applications/File
Packager: Oron Peled <oron@actcom.co.il>
Summary: The Shell cd with bookmarks and browser
Source: http://www.skamphausen.de/software/cdargs/%name-%version.tar.gz
URL: http://www.skamphausen.de/software/cdargs/
Buildroot: %{_tmppath}/%{name}-%{version}-root
%description
Navigate cd Arguments/expand the shell built-in cd with bookmarks and browser
%prep
%setup
%build
%configure
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p $RPM_BUILD_ROOT%{profiledir}
install -m 755 contrib/cdargs-bash.sh $RPM_BUILD_ROOT%{profiledir}/cdargs.sh
install -m 755 contrib/cdargs-tcsh.csh $RPM_BUILD_ROOT%{profiledir}/cdargs.csh
%files
%defattr(-, root, root)
%{_bindir}/cdargs
%{profiledir}/cdargs.*
%doc %{_mandir}/man1/cdargs.1*
%doc AUTHORS ChangeLog COPYING INSTALL NEWS README THANKS TODO
%doc contrib/cdargs.el
%clean
rm -rf $RPM_BUILD_ROOT
This diff is collapsed.
AC_INIT(autogen.sh)
AM_INIT_AUTOMAKE(cdargs, 1.35)
AC_PROG_CXX
AC_STDC_HEADERS
dnl AC_CHECK_CURSES
dnl if test "$has_curses" = "false" ; then
dnl AC_MSG_ERROR([Fatal error: couldn't find ncurses/curses.])
dnl fi
MP_WITH_CURSES
if test "x$CURSES_LIB" = "x" ; then
AC_MSG_ERROR([Fatal error: couldn't find ncurses/curses.])
fi
AC_SUBST(CURSES_LIB)
AC_OUTPUT(Makefile contrib/Makefile doc/Makefile src/Makefile m4/Makefile cdargs.spec)
EXTRA_DIST = cdargs-bash.sh cdargs-tcsh.csh cdargs.el
# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
CURSES_LIB = @CURSES_LIB@
CXX = @CXX@
MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
EXTRA_DIST = cdargs-bash.sh cdargs-tcsh.csh cdargs.el
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps contrib/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
tags: TAGS
TAGS:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = contrib
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
mostlyclean-am: mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
#!/bin/sh
# (C) 2002-2003 Dan Allen and Stefan Kamphausen
# Written by Dan Allen <dan@mojavelinux.com>
# - small additions by Stefan Kamphausen
# - better completion code by Robi Malik robi.malik@nexgo.de
# - trailing path support by Damon Harper <ds+dev-cdargs@usrbin.ca> Feb 2006
# Globals
CDARGS_SORT=0 # set to 1 if you want mark to sort the list
CDARGS_NODUPS=1 # set to 1 if you want mark to delete dups
# --------------------------------------------- #
# Run the cdargs program to get the target #
# directory to be used in the various context #
# This is the fundamental core of the #
# bookmarking idea. An alias or substring is #
# expected and upon receiving one it either #
# resolves the alias if it exists or opens a #
# curses window with the narrowed down options #
# waiting for the user to select one. #
# #
# @param string alias #
# #
# @access private #
# @return 0 on success, >0 on failure #
# --------------------------------------------- #
function _cdargs_get_dir ()