mirror of
https://github.com/xxh/xxh
synced 2024-11-26 21:50:25 +00:00
0.7.13
This commit is contained in:
parent
285a6a3071
commit
5c4db9ddb4
2 changed files with 20 additions and 12 deletions
11
README.md
11
README.md
|
@ -55,7 +55,7 @@ Currently supported OS is Linux on x86_64.
|
|||
### Prerun plugins
|
||||
[Prerun plugins](https://github.com/xxh/xxh/wiki#plugins) allow to bring any portable tools, dotfiles, aliases to xxh session before running shell.
|
||||
|
||||
Pinned plugins: [sudo](https://github.com/xxh/xxh-plugin-prerun-sudo), [mc](https://github.com/xxh/xxh-plugin-prerun-mc), [docker](https://github.com/xxh/xxh-plugin-prerun-docker), [python](https://github.com/xxh/xxh-plugin-prerun-python), [vim](https://github.com/xxh/xxh-plugin-prerun-vim), [xxh](https://github.com/xxh/xxh-plugin-prerun-xxh).
|
||||
Pinned plugins: [sudo](https://github.com/xxh/xxh-plugin-prerun-sudo), [dotfiles](https://github.com/xxh/xxh-plugin-prerun-dotfiles), [docker](https://github.com/xxh/xxh-plugin-prerun-docker), [python](https://github.com/xxh/xxh-plugin-prerun-python), [xxh](https://github.com/xxh/xxh-plugin-prerun-xxh), [vim](https://github.com/xxh/xxh-plugin-prerun-vim), [mc](https://github.com/xxh/xxh-plugin-prerun-mc).
|
||||
|
||||
## Usage
|
||||
Use `xxh` as replace `ssh` to connecting to the host without changing ssh arguments:
|
||||
|
@ -147,13 +147,12 @@ Hello from Docker!
|
|||
myhost> xxh-docker-stop
|
||||
```
|
||||
|
||||
### Put the cozy configs to xxh session
|
||||
### Bring dotfiles to xxh session
|
||||
|
||||
For example there is [xxh-plugin-prerun-mc](https://github.com/xxh/xxh-plugin-prerun-mc) which creates
|
||||
[Midnight Commander](https://en.wikipedia.org/wiki/Midnight_Commander) (mc) config when you go to the host using xxh.
|
||||
You can fork it and create your cozy settings for mc once and forever.
|
||||
There is [xxh-plugin-prerun-dotfiles](https://github.com/xxh/xxh-plugin-prerun-dotfiles) which creates config files
|
||||
when you go to the host using xxh. You can fork it and create your cozy settings once and forever.
|
||||
|
||||
### Oh My Zsh seamless SSH ([demo](https://asciinema.org/a/rCiT9hXQ5IdwqOwg6rifyFZzb))
|
||||
### Seamless Oh My Zsh ([demo](https://asciinema.org/a/rCiT9hXQ5IdwqOwg6rifyFZzb))
|
||||
```shell script
|
||||
source xxh.zsh myhost +I xxh-plugin-zsh-ohmyzsh +if +q
|
||||
```
|
||||
|
|
|
@ -7,7 +7,7 @@ from base64 import b64encode
|
|||
from signal import signal, SIGINT
|
||||
from .shell import *
|
||||
|
||||
XXH_VERSION = '0.7.12'
|
||||
XXH_VERSION = '0.7.13'
|
||||
|
||||
def sigint_handler(signal_received, frame):
|
||||
sys.exit(0)
|
||||
|
@ -877,7 +877,8 @@ class xxh:
|
|||
|
||||
|
||||
# Upload files
|
||||
|
||||
bash_wrap_begin = "bash -c 'shopt -s dotglob && "
|
||||
bash_wrap_end = "'"
|
||||
if which('rsync') and host_info['rsync']:
|
||||
self.eprint('First time upload using rsync (this will be omitted on the next connections)')
|
||||
|
||||
|
@ -891,7 +892,9 @@ class xxh:
|
|||
progress=('' if self.quiet or not self.verbose else '--progress')
|
||||
)
|
||||
|
||||
self.S("{rsync} {shell_build_dir}/ {host}:{host_xxh_shell_build_dir}/ 1>&2".format(
|
||||
self.S("{bb}{rsync} {shell_build_dir}/ {host}:{host_xxh_shell_build_dir}/ 1>&2{be}".format(
|
||||
bb=bash_wrap_begin,
|
||||
be=bash_wrap_end,
|
||||
rsync=rsync,
|
||||
host=A(host),
|
||||
shell_build_dir=shell_build_dir,
|
||||
|
@ -900,7 +903,9 @@ class xxh:
|
|||
for local_plugin_dir in list(local_plugins_dir.glob(f'xxh-plugin-prerun-*')) + list(local_plugins_dir.glob(f'xxh-plugin-{self.short_shell_name}-*')):
|
||||
local_plugin_build_dir = local_plugin_dir/'build'
|
||||
local_plugin_name = local_plugin_dir.name
|
||||
self.S("{rsync} {local_plugin_build_dir}/* {host}:{host_xxh_plugins_dir}/{local_plugin_name}/build/ 1>&2".format(
|
||||
self.S("{bb}{rsync} {local_plugin_build_dir}/* {host}:{host_xxh_plugins_dir}/{local_plugin_name}/build/ 1>&2{be}".format(
|
||||
bb=bash_wrap_begin,
|
||||
be=bash_wrap_end,
|
||||
rsync=rsync,
|
||||
host=A(host),
|
||||
local_plugin_build_dir=local_plugin_build_dir,
|
||||
|
@ -915,7 +920,9 @@ class xxh:
|
|||
ssh_arguments=A(self.ssh_arguments),
|
||||
arg_q=A(arg_q)
|
||||
)
|
||||
self.S('{scp} {shell_build_dir} {host}:{host_xxh_shell_dir}/ 1>&2'.format(
|
||||
self.S('{bb}{scp} {shell_build_dir} {host}:{host_xxh_shell_dir}/ 1>&2{be}'.format(
|
||||
bb=bash_wrap_begin,
|
||||
be=bash_wrap_end,
|
||||
scp=scp,
|
||||
shell_build_dir=shell_build_dir,
|
||||
host=host,
|
||||
|
@ -925,7 +932,9 @@ class xxh:
|
|||
for local_plugin_dir in list(local_plugins_dir.glob(f'xxh-plugin-{self.short_shell_name}-*')) + list(local_plugins_dir.glob(f'xxh-plugin-{self.short_shell_name}-*')):
|
||||
local_plugin_build_dir = local_plugin_dir/'build'
|
||||
local_plugin_name = local_plugin_dir.name
|
||||
self.S('{scp} {local_plugin_build_dir}/* {host}:{host_xxh_plugins_dir}/{local_plugin_name}/build/ 1>&2'.format(
|
||||
self.S('{bb}{scp} {local_plugin_build_dir}/* {host}:{host_xxh_plugins_dir}/{local_plugin_name}/build/ 1>&2{be}'.format(
|
||||
bb=bash_wrap_begin,
|
||||
be=bash_wrap_end,
|
||||
scp=scp,
|
||||
local_plugin_build_dir=local_plugin_build_dir,
|
||||
host=host,
|
||||
|
|
Loading…
Reference in a new issue