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
Minor fixes to shell integation in repl. #5701
Conversation
Added CMD_FINISHED_MARKER to be emitted when command finishes. Also switched the names PRE_EXECUTE_MARKER and PRE_PROMPT_MARKER as the old names were confusing/wrong.
What terminals have you tested these changes with? I'd like to maintain support with iterm2, kitty, and wezterm at a minimum. |
I've primarily tested on DomTerm because I think DomTerm's rich/html output would be a great match for NuShell. See issue #1570 - I'm looking into how to get rich output working. I did a little bit of sanity test of Kitty and tried some things here. Right now I'm out in the boonies so I have no access to a Mac (hence no way to test iterm2) - and WezTerm is taking forever to download. |
I briefly tested all 3 and nothing jumped out at me so let's land this and pretend it's well tested. LOL. Also, I'd love for you to walk me through setting up DomTerm sometime. It would be great if you could jump on Discord sometime. Thanks for your contribution, and I agree I got the other MARKERS backwards when I implemented this. LOL, thanks for fixing it. |
Actually, the iTerm2/FinalTerm shell integration protocol is rather limited. I've designed and implemented more full-featured protocol - see this article and the specification. For now I'm trying to just get the basics working using the existing NuShell support - I'll see if further changes are needed later. |
@PerBothner thanks. I've referred to that article while writing the first of these changes. That was you who authored that? wow. I'm impressed. :) Anything you could help with on improving this would be helpful. |
I'll be happy to help you set up DomTerm. (I just checked in some fixes to make Nushell work better.) |
Added CMD_FINISHED_MARKER to be emitted when command finishes. Also switched the names PRE_EXECUTE_MARKER and PRE_PROMPT_MARKER as the old names were confusing/wrong.
I've created simplified instructions for building DomTerm on macOS. Please let me know if they are unclear or you run into problems. I've also created a page for macOS-specific issues. That is a suitable place to report or discuss mac-specific problems or blemishes. I haven't actually tried NuShell on macOS yet - I've been focusing on simplfying and testing the build instructions and general sanity testing for DomTerm. |
Thanks. I got it compiled. I had to edit the configure script. Kind of a royal pain to get it going LOL. Then I launched it with -Bwry and couldn't move the window. Then I tried with -Bqt and couldn't move the window. Fonts weren't good. Looks like it prefers a light background. Had problems with openssl, qmake, Mac. |
Thanks for the feedback! If you had to edit the configure script, please report it as a bug and I'll try to fix it. I've been working today on issues relating to the titllebar and moving the window. It's almost ready to check in, but as a workaround you can start start domterm with the I do notice fonts having line-spacing issues. There may be other problems. You can specify |
Somebody in the past reported a problem with openssl - you can see a possible workaround mentioned here. I didn't mention it since I didn't run into it, so I didn't realize it was still an issue. DomTerm only needs openssl when it is being run as a web server, which isn't the preferred way to use it remotely. (But that's a different discussion. You also mentioned problems with "qmake, Mac [???]". It couldn't find a suitable qmake? I tested with homebrew, Qt 6, and Monterrey (on an old MacBook Air). |
oh, I got around the openssl issue by editing the configure script. It was looking for openssl in a native directory versus the home-brew directory. I had to do this to get it to compile after I changed the configure script |
Windows should now be movable (draggable) on all tested platforms (Electron, Qt, Wry). However, dragging subwindow ("panes") only seems to work on Electron. |
I changed the font order so "Menlo" is preferred over "Monospace". That seems to work better, at least when tested using "mc" (Midnight Commander). |
Have you tried a command like:
What do you think? Note the "floating table header" (assuming output is more than one screenful), as mentioned on Discourse. I'm not expecting you to switch to DomTerm as your primary terminal - iterm2 is probably both more stable and has more features you're used to. But I am hoping I can (in time) make the integration so appealing that you'll want to! |
domterm: don't seem to be running under DomTerm - use --force to force |
"domterm: don't seem to be running under DomTerm - use --force to force" Strange. Did it work if you try I just did a |
I tried |
Sorry, it looks like That should probably be more more user-friendly. You could also try commenting out these lines in the
That would let us know it's an environment-variable issue. |
Added
CMD_FINISHED_MARKER
to be emitted when command finishes.Also switched the names
PRE_EXECUTE_MARKER
andPRE_PROMPT_MARKER
as the old names were confusing/wrong.I've run
cargo fmt
andcargo tests
.