ANTs icon indicating copy to clipboard operation
ANTs copied to clipboard

Wishlist: Create a unified "proxy" command line utility (ants?) to execute the plethora of ANTS commands

Open yarikoptic opened this issue 11 years ago • 5 comments

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.

yarikoptic avatar Aug 16 '13 14:08 yarikoptic

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 .

stnava avatar Aug 18 '13 16:08 stnava

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 .

stnava avatar Aug 18 '13 16:08 stnava

it is pitty to see this lovely discussion die off ;)

yarikoptic avatar Dec 12 '13 14:12 yarikoptic

This, or what I proposed in #27 (i.e. a prefix ants- for all excutables) would indeed be very nice.

gerddie avatar Feb 12 '14 13:02 gerddie

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

yarikoptic avatar Apr 05 '18 17:04 yarikoptic