-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Let user exit raw mode #146
Comments
You might want to take a look at the fork done for Joker (a Clojure interpreter implemented in Go): That might answer some of your questions. |
Found it here: https://github.com/candid82/liner |
Ah is this commit what you mean: candid82@8e336a7? I will use that fork now. Hooray for open source! |
I can confirm it works! Hooray! Are you going to make a PR, @jcburley (the commit being yours) or would you like me to? |
I don't plan to do it, it was actually a PR for Roman's fork of liner. I don't know whether he'd be interested in trying to push it upstream, especially given his fork having other changes (to suit Joker) in which Peter might have little or no interest. But I'm happy for you to give it a try! (Sorry for the bad link a few messages back; glad you figured it out while I was AFK.) Yeah, open source is great!! |
I guess making a PR and then letting Peter decide to merge it or not would work too. In that case, would you like to make a PR? Also, is it possible for me to make a PR that still shows you as the author of the commit? |
You can save and restore the terminal mode with https://pkg.go.dev/github.com/peterh/liner#TerminalMode |
I don't see a way to set the mode...? Besides, how do you feel about having this as default behavior? |
I'm not sure @peterh wants |
Hmm but the reason I'm involved in this is because I'm making a shell. When raw mode is enabled, programs ran through the shell I'm making can't get any input. |
Oh, good point! I might be misremembering some other discussion from awhile back. |
Ah. On a side note, what does https://github.com/jcburley/echo do? |
Basically it just echoes input, after prompting for and the reading it using I recently added supporting e.g. "30s" (anything accepted by So it's just a test harness of sorts. |
Ah cool. I see it connecting to servers too. |
Yeah, I'm not sure how useful that actually is. I was trying to better understand how these things (like line-readers) work when reading from a socket, as in a server configuration, versus a terminal. Didn't get far. But it's not currently an important use case for me ATM, though it has (at times) been in the past; mostly a matter of curiosity on my part. |
Another thing that "we" might put in our fork of This seems like a good idea, but again I'm not entirely sure it's necessary (in Joker's case anyway) if, as I suspect, input always ends up being "unmolested" despite temporary things like automatically adding a close-paren when typing an open-paren and then positioning the cursor just after the open-paren. |
golang.com/x/term has stuff related to bracketed pastes. Bracketed paste mode is implemented by all major shells so I think Peter would be happy with a PR for that. |
Nice, thanks, I'll look into that package!
On January 19, 2021 7:06:35 AM EST, Ishan Goel ***@***.***> wrote:
[golang.com/x/term](https://pkg.go.dev/golang.org/x/term#Terminal.SetBracketedPasteMode)
has stuff related to bracketed pastes. Bracketed paste mode is
implemented by all major shells so I think Peter would be happy with a
PR for that.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#146 (comment)
James Craig Burley, Software Architect
|
Assuming "this" refers to liner returning to sad mode whenever it isn't inside |
But @peterh isn't that what happens with regular shells? |
Yes, that happens with regular shells. And I hate it every time it happens. I do not want to see my input interspersed with the output of the application. |
At least one other person has requested bracketed pastes. I'd be happy to look at a pull request for them. |
Wait but then I'm trying to build an actual shell and it's not able to give the commands run input from stdin. I found this was when raw mode was enabled. |
Shells do need to give commands input. |
At least there being an option would do no harm. |
If you're trying to build an actual shell, you don't want liner. Sorry, but liner is not (and was never intended to be) suitable for all use cases. |
Oh. I don't see what harm adding an option would do, but you're the owner! |
Can we let the user exit raw mode through some public function (and then get back to it)? How would this be implemented?
The text was updated successfully, but these errors were encountered: