mirror of
				https://github.com/tmux-plugins/tmux-resurrect.git
				synced 2025-11-04 00:46:04 +00:00 
			
		
		
		
	Merge pull request #284 from rummik/mosh-client-strategy
Add mosh-client default strategy
This commit is contained in:
		@@ -2,6 +2,7 @@
 | 
			
		||||
  - [General instructions](#general-instructions)
 | 
			
		||||
  - [Clarifications](#clarifications)
 | 
			
		||||
  - [Working with NodeJS](#nodejs)
 | 
			
		||||
  - [Restoring Mosh](#mosh)
 | 
			
		||||
 | 
			
		||||
### General instructions <a name="general-instructions"></a>
 | 
			
		||||
Only a conservative list of programs is restored by default:<br/>
 | 
			
		||||
@@ -169,3 +170,10 @@ A work around, for this problem until it's fixed, is:
 | 
			
		||||
 | 
			
		||||
      ... node:node /path/to/yarn gulp "test-it"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Restoring Mosh <a name="#mosh"></a>
 | 
			
		||||
Mosh spawns a `mosh-client` process, so we need to specify that as the process to be resurrected.
 | 
			
		||||
 | 
			
		||||
    set -g @resurrect-processes 'mosh-client'
 | 
			
		||||
 | 
			
		||||
Additionally a mosh-client strategy is provided to handle extracting the original arguments and re-run Mosh.
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,7 @@ set_restore_bindings() {
 | 
			
		||||
 | 
			
		||||
set_default_strategies() {
 | 
			
		||||
	tmux set-option -gq "${restore_process_strategy_option}irb" "default_strategy"
 | 
			
		||||
	tmux set-option -gq "${restore_process_strategy_option}mosh-client" "default_strategy"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
set_script_path_options() {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								strategies/mosh-client_default_strategy.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								strategies/mosh-client_default_strategy.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
# "mosh-client default strategy"
 | 
			
		||||
#
 | 
			
		||||
# Example mosh-client process:
 | 
			
		||||
#   mosh-client -# charm tmux at | 198.199.104.142 60001
 | 
			
		||||
#
 | 
			
		||||
# When executed, the above will fail. This strategy handles that.
 | 
			
		||||
 | 
			
		||||
ORIGINAL_COMMAND="$1"
 | 
			
		||||
DIRECTORY="$2"
 | 
			
		||||
 | 
			
		||||
mosh_command() {
 | 
			
		||||
	local args="$ORIGINAL_COMMAND"
 | 
			
		||||
 | 
			
		||||
	args="${args#*-#}"
 | 
			
		||||
	args="${args%|*}"
 | 
			
		||||
 | 
			
		||||
	echo "mosh $args"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main() {
 | 
			
		||||
	echo "$(mosh_command)"
 | 
			
		||||
}
 | 
			
		||||
main
 | 
			
		||||
		Reference in New Issue
	
	Block a user