ANTs
ANTs copied to clipboard
Wishlist: Create a unified "proxy" command line utility (ants?) to execute the plethora of ANTS commands
Now that you are in git world, you must be familiar with e.g. "git commit", "git add" being gatewayed into calling actual "git-commit" and "git-add" command lines shipped in private directory (e.g. /usr/lib/git-core/ on Debian systems). ATM ANTs provides ~80 command line tools, which either need to be in the PATH (but having such generic names as sa, bl, PrintHeader forbids that) or relying on user adjusting their PATHs to once again possibly shadowing other utilities available within their PATH space (what I currently do in Debian package shipping them under /usr/lib/ants).
Thus I recommend to unify command line interface to have a single user-visible command line utility which would proxy calls to underlying specialized command line tools. I know that you already have "ANTS" command line tool, thus the unified proxy command names "ants" would collide on case insensitive file system (and you do support Windows, right?). But may be such cmdline API breakage would be worth it for the name "ants" being taking for the proxy cmd.
Among related projects, you might look at CMTK (http://www.nitrc.org/projects/cmtk/) where similar approach was adopted a year or so ago -- it looks wonderful. "cmtk --help" provides outline of existing "commands", while "cmtk COMMAND --help" provides help for the corresponding tool.
shrinidhi and i put something together for this a while ago but i am unable to locate it
is there an easy / maintainable at least osx/linux approach for this?
previously, we did something along these lines:
http://stackoverflow.com/questions/427472/line-completion-with-custom-commands
but it seems hard to maintain.
brian
On Fri, Aug 16, 2013 at 10:51 AM, Yaroslav Halchenko < [email protected]> wrote:
Now that you are in git world, you must be familiar with e.g. "git commit", "git add" being gatewayed into calling actual "git-commit" and "git-add" command lines shipped in private directory (e.g. /usr/lib/git-core/ on Debian systems). ATM ANTs provides ~80 command line tools, which either need to be in the PATH (but having such generic names as sa, bl, PrintHeader forbids that) or relying on user adjusting their PATHs to once again possibly shadowing other utilities available within their PATH space (what I currently do in Debian package shipping them under /usr/lib/ants).
Thus I recommend to unify command line interface to have a single user-visible command line utility which would proxy calls to underlying specialized command line tools. I know that you already have "ANTS" command line tool, thus the unified proxy command names "ants" would collide on case insensitive file system (and you do support Windows, right?). But may be such cmdline API breakage would be worth it for the name "ants" being taking for the proxy cmd.
Among related projects, you might look at CMTK ( http://www.nitrc.org/projects/cmtk/) where similar approach was adopted a year or so ago -- it looks wonderful. "cmtk --help" provides outline of existing "commands", while "cmtk COMMAND --help" provides help for the corresponding tool.
— Reply to this email directly or view it on GitHubhttps://github.com/stnava/ANTs/issues/42 .
this is clearer
http://www.debian-administration.org/article/An_introduction_to_bash_completion_part_2
brian
On Sun, Aug 18, 2013 at 12:35 PM, brian avants [email protected] wrote:
shrinidhi and i put something together for this a while ago but i am unable to locate it
is there an easy / maintainable at least osx/linux approach for this?
previously, we did something along these lines:
http://stackoverflow.com/questions/427472/line-completion-with-custom-commands
but it seems hard to maintain.
brian
On Fri, Aug 16, 2013 at 10:51 AM, Yaroslav Halchenko < [email protected]> wrote:
Now that you are in git world, you must be familiar with e.g. "git commit", "git add" being gatewayed into calling actual "git-commit" and "git-add" command lines shipped in private directory (e.g. /usr/lib/git-core/ on Debian systems). ATM ANTs provides ~80 command line tools, which either need to be in the PATH (but having such generic names as sa, bl, PrintHeader forbids that) or relying on user adjusting their PATHs to once again possibly shadowing other utilities available within their PATH space (what I currently do in Debian package shipping them under /usr/lib/ants).
Thus I recommend to unify command line interface to have a single user-visible command line utility which would proxy calls to underlying specialized command line tools. I know that you already have "ANTS" command line tool, thus the unified proxy command names "ants" would collide on case insensitive file system (and you do support Windows, right?). But may be such cmdline API breakage would be worth it for the name "ants" being taking for the proxy cmd.
Among related projects, you might look at CMTK ( http://www.nitrc.org/projects/cmtk/) where similar approach was adopted a year or so ago -- it looks wonderful. "cmtk --help" provides outline of existing "commands", while "cmtk COMMAND --help" provides help for the corresponding tool.
— Reply to this email directly or view it on GitHubhttps://github.com/stnava/ANTs/issues/42 .
it is pitty to see this lovely discussion die off ;)
This, or what I proposed in #27 (i.e. a prefix ants- for all excutables) would indeed be very nice.
could be a nice hackathon project (we started to tag such issues with a dedicated label, you might like to adopt the same strategy). I will add it as a possible project for upcoming BrainHack Global (Dartmouth site): https://github.com/dartmouthbrainhack/dartmouthbrainhack2018.github.io/issues/4