On Sunday, 10 August 2014 at 18:40:23 UTC, Adam D. Ruppe wrote:
On Sunday, 10 August 2014 at 14:28:33 UTC, Puming wrote:
What do you mean by 'boring'? I think a shell in D would be
awesome.
tbh I think shells are a bit boring too, but like you said in
the other message, they are two different things.
But a terminal emulator isn't much of a gui because all it
displays is text (and mine actually can display pictures too) -
no buttons, text areas, checkboxes, etc. like typically comes
to mind when you think of a desktop gui app.
http://xiki.org/ provides a more GUI like terminal that has more
gui widgets.
xcode's swift language playground also shows a more visiual way
of doing repl.
I've been slowly writing a miniature gui widget library too,
with the goal of zero dependencies and < 300kb compiled
executables... but I just haven't had the time. Whenever I need
a quick gui for a personal project I've actually been
outputting html or something and reading the response with my
cgi.d. html forms cover like 95% of my use cases.
5. MVC style input/output. The out put of commands can be
formated with a template (with color and indentations, even
markdown support). traditional shell outputs are a mess.
I like what Windows Powershell does - it talks in objects which
can be formatted to string or passed to other commands that
understand them.
Wow, I didn't know about that. This is another thing that windows
does better.
For a while, I was toying with doing that in D too. I don't
remember where I put the file (a super-simplified version is in
my book somewhere though)... but the shell commands were
actually just D functions that return strongly typed stuff.
When composing them, it calls the function directly and
communicating with external commands it does some simple
toString serialization and deserialization so that works too.
But I haven't finished it in great part because I find regular
old bash to work well enough for me.
7. autocomplete and auto style. write colorful code in the
repl. Vi/emacs support of inline editing is also a plus.
gnu readline which bash uses allows the editing and
autocomplete which is cool.
Thanks, I'll try that.