Передача потока вывода консольной команды в Sublime Text 2
Передать поток вывода (результат работы команды) в Sublime Text 2 можно только через временный файл!
Создайте bash скрипт sublime-text-pipe
:
#!/bin/bash
# Allow piping to Sublime Text. Doesn't interfere with normal use.
# Is stdin a terminal?
if test -t 0; then
# Stdin is a terminal.
# Open sublime normally.
# sublime-text "$@"
# Run without
# Run command in silent mode and detach a process from terminal
(sublime-text "$@" &) 2> /dev/null > /dev/null
else
# Stdin is not a terminal, it must be a pipe.
# Pipe stdin to a temporary file, and open it in sublime.
tmp_file=$(tempfile)
cat > $tmp_file # читаем поток во временный файл
# cat >"$tmp_file" && sublime-text "$tmp_file" "$@"
(sublime-text "$@" $tmp_file &) 2> /dev/null > /dev/null
fi
Передайте ему результат работы команды или файл:
sublime-text-pipe ./some_file.txt
ls -la | sublime-text-pipe
#pipeling, #sublime text 2, #run sublime text in silent mode