Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Christian Salzmann-Jaeckel
tmux-resurrect
Commits
b8b87a6e
Unverified
Commit
b8b87a6e
authored
Aug 29, 2014
by
Bruno Sutic
Browse files
Improve `irb` restore strategy
Fixes #21
parent
8cbc18e1
Changes
6
Show whitespace changes
Inline
Side-by-side
CHANGELOG.md
View file @
b8b87a6e
...
...
@@ -5,6 +5,7 @@
sure vim does not contain
`-S`
flag
-
enable restoring programs with arguments (e.g. "rails console") and also
processes that contain program name
-
improve
`irb`
restore strategy
### v0.1.0, 2014-08-28
-
refactor checking if saved tmux session exists
...
...
scripts/process_restore_helpers.sh
View file @
b8b87a6e
# default processes that are restored
default_proc_list_option
=
"@session-saver-default-processes"
default_proc_list
=
'vi vim emacs man less more tail top htop irssi irb pry "~rails console"'
# User defined processes that are restored
# 'false' - nothing is restored
# ':all:' - all processes are restored
#
# user defined list of programs that are restored:
# 'my_program foo another_program'
restore_processes_option
=
"@session-saver-processes"
restore_processes
=
""
# Defines part of the user variable. Example usage:
# set -g @session-saver-strategy-vim "session"
restore_process_strategy_option
=
"@session-saver-strategy-"
restore_pane_processes_enabled
()
{
local
restore_processes
=
"
$(
get_tmux_option
"
$restore_processes_option
"
"
$restore_processes
"
)
"
if
[
"
$restore_processes
"
==
"false"
]
;
then
...
...
scripts/session_restorer.sh
View file @
b8b87a6e
...
...
@@ -2,6 +2,7 @@
CURRENT_DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
source
"
$CURRENT_DIR
/variables.sh"
source
"
$CURRENT_DIR
/helpers.sh"
source
"
$CURRENT_DIR
/process_restore_helpers.sh"
source
"
$CURRENT_DIR
/spinner_helpers.sh"
...
...
scripts/variables.sh
0 → 100644
View file @
b8b87a6e
# key bindings
default_save_key
=
"M-s"
save_option
=
"@session-saver-save"
default_restore_key
=
"M-r"
restore_option
=
"@session-saver-restore"
# default processes that are restored
default_proc_list_option
=
"@session-saver-default-processes"
default_proc_list
=
'vi vim emacs man less more tail top htop irssi irb pry "~rails console"'
# User defined processes that are restored
# 'false' - nothing is restored
# ':all:' - all processes are restored
#
# user defined list of programs that are restored:
# 'my_program foo another_program'
restore_processes_option
=
"@session-saver-processes"
restore_processes
=
""
# Defines part of the user variable. Example usage:
# set -g @session-saver-strategy-vim "session"
restore_process_strategy_option
=
"@session-saver-strategy-"
session_saver.tmux
View file @
b8b87a6e
...
...
@@ -2,14 +2,9 @@
CURRENT_DIR
=
"
$(
cd
"
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
"
&&
pwd
)
"
source
"
$CURRENT_DIR
/scripts/variables.sh"
source
"
$CURRENT_DIR
/scripts/helpers.sh"
default_save_key
=
"M-s"
save_option
=
"@session-saver-save"
default_restore_key
=
"M-r"
restore_option
=
"@session-saver-restore"
set_save_bindings
()
{
local
key_bindings
=
$(
get_tmux_option
"
$save_option
"
"
$default_save_key
"
)
local
key
...
...
@@ -26,8 +21,13 @@ set_restore_bindings() {
done
}
set_default_strategies
()
{
tmux set-option
-g
"
${
restore_process_strategy_option
}
irb"
"default_strategy"
}
main
()
{
set_save_bindings
set_restore_bindings
set_default_strategies
}
main
strategies/irb_default_strategy.sh
0 → 100755
View file @
b8b87a6e
#!/usr/bin/env bash
# "irb default strategy"
#
# Example irb process with junk variables:
# irb RBENV_VERSION=1.9.3-p429 GREP_COLOR=34;47 TERM_PROGRAM=Apple_Terminal
#
# When executed, the above will fail. This strategy handles that.
ORIGINAL_COMMAND
=
"
$1
"
DIRECTORY
=
"
$2
"
original_command_wo_junk_vars
()
{
echo
"
$ORIGINAL_COMMAND
"
|
sed
's/RBENV_VERSION[^ ]*//'
|
sed
's/GREP_COLOR[^ ]*//'
|
sed
's/TERM_PROGRAM[^ ]*//'
}
main
()
{
echo
"
$(
original_command_wo_junk_vars
)
"
}
main
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment