From: Ken Manheimer Date: Tue, 26 Jan 2016 06:02:38 +0000 (-0500) Subject: multishell - Refine documentation a bit. X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/bd088d08cc09a36e324467e0f1ef370fe12bfcbd multishell - Refine documentation a bit. --- diff --git a/README.md b/README.md index bb6724ed5..4004e5187 100644 --- a/README.md +++ b/README.md @@ -32,18 +32,18 @@ facilities, use a `multishell` (customization-activated) key binding to: * `#ex/ssh:example.net|sudo:root@example.net:/etc` for a root shell starting in /etc on example.net named "*#ex*". - * 'interior/ssh:gateway.corp.com|ssh:interior.corp.com:' to go via + * `interior/ssh:gateway.corp.com|ssh:interior.corp.com:` to go via gateway.corp.com to your homedir on interior.corp.com. The buffer will be named "*interior*". You could append a sudo hop, and so on. -* Thanks to tramp, file visits from the shell will seamlessly be in - the auspices of the target account, and relative to the current - directory, on the host where the shell is running. +* Thanks to tramp, file visits from the shell will seamlessly be on the + host where the shell is running, in the auspices of the target account. See the `multishell-pop-to-shell` docstring (in [multishell.el](multishell.el)) for details, and [getting-to-a-shell.md](getting-to-a-shell.md) for the nitty-gritty -decision tree that determines where different hits of the keybinding go. +decision tree that determines where the keybinding according to the various +conditions. Customize-group `multishell' to select and activate a keybinding and set various behaviors. Customize-group `savehist' to preserve buffer diff --git a/multishell.el b/multishell.el index c19ba29a6..9dfa09321 100644 --- a/multishell.el +++ b/multishell.el @@ -27,14 +27,14 @@ ;; ... and use a path with Emacs tramp syntax to launch a remote shell - ;; for example: ;; -;; * `#root/sudo:root@localhost:/etc` for a buffer named "#root" with a +;; * `#root/sudo:root@localhost:/etc` for a buffer named "*#root*" with a ;; root shell starting in /etc. ;; -;; * `/ssh:example.net:/` for a shell buffer in / on example.net. +;; * `/ssh:example.net:` for a shell buffer in your homedir on example.net. ;; The buffer will be named "*example.net*". ;; -;; * `#ex/ssh:example.net|sudo:root@example.net:/etc` for a root shell -;; starting in /etc on example.net named "*#ex*". +;; * `#ex/ssh:example.net|sudo:root@example.net:/var/log` for a root shell +;; starting in /var/log on example.net named "*#ex*". ;; ;; * 'interior/ssh:gateway.corp.com|ssh:interior.corp.com:' to go via ;; gateway.corp.com to your homedir on interior.corp.com. The buffer @@ -96,6 +96,17 @@ ;; - some way for user to toggle between presenting just buffer names vs ;; full buffer/path ;; - without cutting user off from easy editing of path +;; - maybe use keybindings that wrap minibuffer completion keys +;; - minibuffer-local-completion-map, minibuffer-local-must-match-map +;; - setup minibuffer with these vars just before doing completions +;; - minibuffer exit reverts these vars, if necessary +;; - toggles between name and name/path if last command was one of them +;; - and an instruction in the completion buffer +;; - "complete again immediately to toggle name vs name/path completions" +;; * Add custom shell launch prep actions +;; - shell commands to execute when shell name or path matches a regexp +;; - list of [regexp, which (name, path, or both), command] +;; - for, eg, knock commands or interface activations, whatever ;; * Try minibuffer field boundary at beginning of tramp path, to see whether ;; the field boundary magically enables tramp path completion. ;; * Assess whether deletion of history entry via kill-buffer is sufficient. @@ -209,8 +220,9 @@ path) will be conveyed between emacs sessions." This is adjusted by `multishell-pop-to-shell' when it is invoked (with doubled universal argument) to set the default. -To preserve changes to this setting across emacs restarts, add it -to `savehist-additional-variables' by customizing the latter.") +To track the current primary across emacs restarts, add the name +of this variable to `savehist-additional-variables' by +customizing the latter.") ;;; Can't just add multishell-primary-name to savehist-additional-variables ;;; - it'll be lost any time the user runs emacs without loading @@ -322,14 +334,14 @@ the buffer name. Otherwise, the host, domain, or path is used. For example: -* '#root/sudo:root@localhost:/etc' for a buffer named \"#root\" with a +* '#root/sudo:root@localhost:/etc' for a buffer named \"*#root*\" with a root shell starting in /etc. -* '/ssh:example.net:/' for a shell buffer in / on example.net; the buffer - will be named \"*example.net*\". +* '/ssh:example.net:' for a shell buffer in your homedir on example.net. + The buffer will be named \"*example.net*\". -* '#ex/ssh:example.net|sudo:root@example.net:/etc' for a root shell - starting in /etc on example.net named \"*#ex*\". +* '#ex/ssh:example.net|sudo:root@example.net:/var/log' for a root shell + starting in /var/log on example.net named \"*#ex*\". * 'interior/ssh:gateway.corp.com|ssh:interior.corp.com:' to go via gateway.corp.com to your homedir on interior.corp.com. The