jroimartin / gocui

Minimalist Go package aimed at creating Console User Interfaces.
BSD 3-Clause "New" or "Revised" License
9.92k stars 608 forks source link

Made it configurable how to handle cr/lf in the input data. #17

Closed zond closed 9 years ago

jroimartin commented 10 years ago

Thank you. I will review the PR asap. Currently I am working on other projects, but I plan to come back to the gocui development really soon.

zond commented 10 years ago

Cool :)

I'll just continue using my branch until then.

Great work on gocui by the way - it is completely fantastic compared to ncurses and friends :D

On Tue, Apr 29, 2014 at 1:10 AM, Roi Martin notifications@github.comwrote:

Thank you. I will review the PR asap. Currently I am working on other projects, but I plan to come back to the gocui development really soon.

— Reply to this email directly or view it on GitHubhttps://github.com/jroimartin/gocui/pull/17#issuecomment-41625509 .

jroimartin commented 9 years ago

First of all, sorry for the BIG delay. Could you please check commit 17f7615184739fbeb00ec824f6f894d22558e92e to see if it solves this issue? :)

Edit: BTW I made this behaviour "mandatory", so fmt.Print, fmt.Println, etc. work as expected.

zond commented 9 years ago

It looks like it would solve my problem, even if I gave up when I realized that another and much harder problem remained: ANSI control codes :O

I ended up building a distributed app where one terminal runs the input window and several others run output windows that just print everything on stdout and letting the terminal handle all rendering...

jroimartin commented 9 years ago

Why would you use ANSI control codes if you control the output? Of course, if you are not generating this output, that would be a problem. Anyway you could filter/replace them, couldn't you?

BTW I'm planning to give color support to gocui in the next days, but probably using some human-friendly syntax (issue #9).

zond commented 9 years ago

Why would you use ANSI control codes if you control the output? Of course, if you are not generating this output, that would be a problem.

I was building a MUD client, and it was important to render the incoming data exactly as the server software intended.

Anyway you could filter/replace them, couldn't you?

I built a MUD client like this before, in Ruby, and that time around I used ncurses and intercepted all incoming ANSI escape codes and replaced them with ncurses commands.

That was easily the least interesting and most work intensive part of that client, so I'd rather not do it again ;)

BTW I'm planning to give color support to gocui in the next days, but probably using some human-friendly syntax (issue #9).

Cool, but consider rendering ANSI commands properly as well, it might come in handy :)

— Reply to this email directly or view it on GitHub.

jroimartin commented 9 years ago

I'll take it into account, thanks!