Live data from Hacker News

Show HN: clip – Embeddable, composable [c]ommand [l]ine [i]nterface [p]arsing

github.com

1–10 of 15 posts

Re: Show HN: clip – Embeddable, composable [c]ommand [l]ine [i]nterface [p]arsing

#2
Seems neat, but to be honest, I had a really hard time reading the example because of all the encheferizer text. The funky, hard-to-read text is distracting me from understanding and appreciating the overall simplicity and elegance of things (in a kind of ironic way).

But, aside from that, I'm coveting this right now as I hack away with adding new options to my C++ program...

Re: Show HN: clip – Embeddable, composable [c]ommand [l]ine [i]nterface [p]arsing

#3

Seems neat, but to be honest, I had a really hard time reading the example because of all the encheferizer text. The funky, hard-to-read text is distracting me from understanding and appreciating the overall simplicity and elegance of things (in a kind of ironic way). But, aside from that, I'm coveting this right now as I hack away with adding new options to my C++ program...

I was thinking the exact same thing. I had to read the text out loud in a European chef accent to understand what it was talking about. It really obfuscated the underlying meaning/simplicity of it for me.

Re: Show HN: clip – Embeddable, composable [c]ommand [l]ine [i]nterface [p]arsing

#7

How is this different from click? http://click.pocoo.org/

EpicDavi linked this doc: https://github.com/willyg302/clip.py/blob/master/docs/main.m...

> For example, Click has integrations for fetching terminal dimensions and setting environment variables. This may be useful, but it also means trying to use Click for an embedded CLI (say, one running in a text editor communicating via websockets) is extremely difficult.

Re: Show HN: clip – Embeddable, composable [c]ommand [l]ine [i]nterface [p]arsing

#8
I like it! Simplest use case it saves on boilerplate required by argparse. [1] But the potential for embedded apps is the real draw for me. I have a CLI app I'd like to provide a notebook GUI for... This would be perfect. Just swap out argparse for clip.py, write the embed script and the GUI can use the same methods. No need to code additional logic to handle GUI widgets.

I wonder how hard it would be to make my 'shkeleton' CLI parser embeddable -- it's basically argparse for bash scripting right now. [2]

[1] https://docs.python.org/2/howto/argparse.html

[2] https://github.com/joseph8th/shkeleton

Re: Show HN: clip – Embeddable, composable [c]ommand [l]ine [i]nterface [p]arsing

#9

Seems neat, but to be honest, I had a really hard time reading the example because of all the encheferizer text. The funky, hard-to-read text is distracting me from understanding and appreciating the overall simplicity and elegance of things (in a kind of ironic way). But, aside from that, I'm coveting this right now as I hack away with adding new options to my C++ program...

You raise a fair point. The only reason I encheferized the readme example was to have a little fun with it, as one of its goals is to demonstrate help screens...but that ends up making the code look like a wall of text no matter what "language" the messages are in.

Anyway, once I think of a better example I'll swap it in. Thanks for your input!

Re: Show HN: clip – Embeddable, composable [c]ommand [l]ine [i]nterface [p]arsing

#10

I like it! Simplest use case it saves on boilerplate required by argparse. [1] But the potential for embedded apps is the real draw for me. I have a CLI app I'd like to provide a notebook GUI for... This would be perfect. Just swap out argparse for clip.py, write the embed script and the GUI can use the same methods. No need to code additional logic to handle GUI widgets. I wonder how hard it would be to make my 'shk…

shkeleton looks pretty neat too! Amazing that it's 100% bash, as someone who shies away from bash scripting for all but the simplest scripts I can't imagine recreating argparse in it :)

Well, my definition of "embeddable" is a very loose one. All you really need to be able to do is allow the user to specify in/out/err streams, so that they could be anything: a log file, a socket, a Python function, etc. So maybe keep a var for each of these and redirect the echos to them?

Post reply on HN