piotrmurach / tty

Toolkit for developing sleek command line apps.
https://ttytoolkit.org
MIT License
2.5k stars 78 forks source link

Teletype: inconsistent file naming in case a module's named with a dash #43

Closed msg7086 closed 6 years ago

msg7086 commented 6 years ago
teletype new a-b
a-b/lib/a/b/cli.rb
a-b/lib/a-b/commands/.gitkeep

I assume this is not correct.

msg7086 commented 6 years ago

Also module A-b in the code.

Or I suppose I should not name my application with a dash?

piotrmurach commented 6 years ago

Hi Xinyue,

Thanks for trying the gem out. I would say that this a bug and I will look into it unless you have time to contribute?

As far as executables go I cannot recall easily any Unix utility that has a dash in its name... I think if you were to have a dash, it would make it a bit difficult for people to use. However, it doesn't mean that this gem shouldn't support nested module names. I can imagine a situation where running new generator creates a different name for the exec file(even for single names):

teletype new foo-bar-baz --name foo

teletype new bundler --name bundle
msg7086 commented 6 years ago

Unfortunately I later figured out TTY was not what I'm going to use (I went to arguments style instead) but I thought I should still let you know if it's an unexpected behavior.

A lot of tools have dash in their names. redis-cli, ssh-keygen, transmission-create, just to name a few. In my case, I wrote a small SDK library, and would like to create a command line tool for it, thus naturally be named as whateversdk-tools.

A different name for the binary is a good point. I can name it whatever-cli or even whatever.

piotrmurach commented 6 years ago

Again, thanks for raising the issue! Agree there are tools with dashes and it's totally up to you what you prefer. My preference is to stay away from long-winded and cumbersome names such as redis-cli and expose users to more concise and short names. Each to their own as they say 😄

piotrmurach commented 6 years ago

Fixed main cli generation to allow for namespaced application names https://github.com/piotrmurach/tty/commit/5312026bd86fee31503e6d718490c2d11c5def33

piotrmurach commented 6 years ago

This is fixed :shipit: