From c6c2d25cb561946e993e5dc5919afed8017cd087 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Thu, 8 Dec 2022 20:18:23 -0500 Subject: add etherpads to wiki pages --- 2022/talks/eshell.md | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) (limited to '2022/talks/eshell.md') diff --git a/2022/talks/eshell.md b/2022/talks/eshell.md index 54320a52..b30a7059 100644 --- a/2022/talks/eshell.md +++ b/2022/talks/eshell.md @@ -24,6 +24,106 @@ variable that contains the output from the last command? Update from Howard: I wrote an _expanded transcript_ with more code and functional links. See Want _all_ the code? See my literate dotfiles for #emacs at +# Discussion + +## Notes + +- Full code: + +- Longer transcript: + +- Yes eshell is usefull!  Please help polishing and showing this stuff + you found out. +- Alvaro Ramirez has been doing the DWIM stuff +- Regarding the not so well oiled parts of eshell. There are many + efforts doing a better shell. I have the feeling we already have + that in emacs already and it is just unfinished. But maybe that is + just a statment about emacs in general. +- Reach out to me if anyone wants to pair up and make a eshell-ext + with many of the feature improvements I mentioned in my talk, that + probably shouldn\'t clutter up the default eshell implementation. + +## Questions and answers + +- Q: Do you fallback to vterm only when needing terminal emulation + (ncurses/etc)? Or are there use cases or contexts where you use + vterm over eshell beyond just terminal emulation needs? + - A: I do vterm mostly for SSH, but Docker builds and Ansible + commands can cause a real mess of the screen, so I often run + those commands in vterm \... but I\'m not really working with + that output. +- Q: One issue I\'ve had with eshell\'s TRAMP integration is that cd + is host agnostic (as you point out). This means typing \`cd\` on a + remote machine will cd back to \$HOME on your local machine. Is + there a way to cd to \$HOME on the remote machine? + - A: It just isn\'t the way it behaves. While Eshell, with a + Tramp-based cd command, will ssh \"under the hood\", it is + temporary, as all the buffer work is local. I usually don\'t + know what will happen, so I often need to switch to vterm for + all ssh work. Which gets me upset when I encounter something + that I would then like to use Eshell for (like piping the output + back to my local Emacs buffer). +- Q: Thank you for the missing Why eshell. Have you thought about + adding it to the eshell manual? + - A: maybe I should team up with someone and improve on it +- Q:Do you know if the eshell {} can be used from elisp? It could make + for a nice elisp shell interface. + - A: Yes. Start with \`eshell-command\' and some variations on + that. +- Q: How does that interplay with your \"literate-devops\" approach, + where things are done in an org buffer/document first instead of + directly in the shell/terminal? + - A: the 2 are different. I use as REPL to test stuff +- Q: Do you have a strategy for getting around eshell\'s lack of + support for input redirection? (I also miss process substitution.) + - A: I have started sending output to Emacs buffers, where I can + have more fun editing them than trying to get a pipe command + sequence working. I wrote a function to pull a buffer back into + Eshell to pipe back to something else. Pipes are problematic in + Eshell. +- Q: Can you call elisp functions as well (ie, not just commands)? + - A: Yes. Functions that start with eshell/ are called as if they + were commands. However, all functions are available in eshell + \... that is what makes it more interesting than the other + comint-based term shells. +- ~~Q: Aren\'t buffers the superior pipes? \--\> that was meant as a + comment when he was asked about pipes, not a question per se \--\> + alright~~ + - A:Howard: yes +- Q:Do you have a preferred method for getting argument completion for + shell commands in Eshell? + - A: Check out + +- Q: Similarly, is it possible to get Eldoc-based completion for Elisp + calls in Eshell? + - A: dont know. would be great, though +- Q:Do you have thoughts about + + ?  Summary: it effecitly adds a \"\| less\" to every command so you + get to see paged output if needed, except it is built into eshell. + - A: It is a cool idea, but while I tried it when Mickey first + published that idea, it didn\'t stay in my workflow. +- Q: Is \$\$ a built-in feature of eshell or did you add it? + - A: The Eshell built-in version of \$\$ doesn\'t always work, so + I wrote an updated version that seems to work better (see + ) + \... I\'m pretty sure that if you do a command with a lot of + output, it may not work at all, not just get the last of that + output. Mine is just a better hack. :-D +- Q: Do you ever fallback to terminals/shells outside Emacs, and if so + in what circumstances? + - A: I boot up with a Terminal to mount remote file systems, as my + Emacs configuration isn\'t always stored locally on my machine. + I\'ll admit that I sometimes leave the Emacs Garden, but doing + anything interesting become frustrating when you have to leave + the keyboard for the mouse. +- Q: What are the less well-oiled parts of Eshell or edge case issues + that you encounter if any? + - A: We should make a list and start working on them. +- Q:Do you have ways to improve eshell vterm interop like sharing + command history and directory tracking? + - A: I don\'t. If I am going to SSH somewhere, I just start vterm, + and haven\'t thought about any interop. [[!inline pages="internal(2022/info/eshell-after)" raw="yes"]] -- cgit v1.2.3