summarylogtreecommitdiffstats
path: root/atom-beta
diff options
context:
space:
mode:
Diffstat (limited to 'atom-beta')
-rw-r--r--atom-beta141
1 files changed, 141 insertions, 0 deletions
diff --git a/atom-beta b/atom-beta
new file mode 100644
index 000000000000..a6054ac8d7c2
--- /dev/null
+++ b/atom-beta
@@ -0,0 +1,141 @@
+#!/bin/bash
+while getopts ":wtfvh-:" opt; do
+ case "$opt" in
+ -)
+ case "${OPTARG}" in
+ wait)
+ WAIT=1
+ ;;
+ help|version)
+ REDIRECT_STDERR=1
+ EXPECT_OUTPUT=1
+ ;;
+ foreground|test)
+ EXPECT_OUTPUT=1
+ ;;
+ esac
+ while getopts ":wtfvh-:" opt; do
+ case "$opt" in
+ -)
+ case "${OPTARG}" in
+ wait)
+ WAIT=1
+ ;;
+ help|version)
+ REDIRECT_STDERR=1
+ EXPECT_OUTPUT=1
+ ;;
+ foreground|test)
+ EXPECT_OUTPUT=1
+ ;;
+ esac
+ ;;
+ w)
+ WAIT=1
+ ;;
+ h|v)
+ REDIRECT_STDERR=1
+ EXPECT_OUTPUT=1
+ ;;
+ f|t)
+ EXPECT_OUTPUT=1
+ ;;
+ esac
+ done
+
+ if [ $REDIRECT_STDERR ]; then
+ exec 2> /dev/null
+ fi
+
+ if [ $EXPECT_OUTPUT ]; then
+ export ELECTRON_ENABLE_LOGGING=1
+ fi
+
+ SCRIPT=$(readlink -f "$0")
+ USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
+
+ ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
+
+ ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
+ mkdir -p "$ATOM_HOME"
+
+ if [ $EXPECT_OUTPUT ]; then
+ "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
+ exit $?
+ else
+ (
+ nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+ if [ $? -ne 0 ]; then
+ cat "$ATOM_HOME/nohup.out"
+ exit $?
+ fi
+ ) &
+ fi
+
+ # Exits this process when Atom is used as $EDITOR
+ on_die() {
+ exit 0
+ }
+ trap 'on_die' SIGQUIT SIGTERM
+
+ # If the wait flag is set, don't exit this process until Atom tells it to.
+ if [ $WAIT ]; then
+ while true; do
+ sleep 1
+ done
+ fi
+ ;;
+ w)
+ WAIT=1
+ ;;
+ h|v)
+ REDIRECT_STDERR=1
+ EXPECT_OUTPUT=1
+ ;;
+ f|t)
+ EXPECT_OUTPUT=1
+ ;;
+ esac
+done
+
+if [ $REDIRECT_STDERR ]; then
+ exec 2> /dev/null
+fi
+
+if [ $EXPECT_OUTPUT ]; then
+ export ELECTRON_ENABLE_LOGGING=1
+fi
+
+SCRIPT=$(readlink -f "$0")
+USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
+
+ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
+
+ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
+mkdir -p "$ATOM_HOME"
+
+if [ $EXPECT_OUTPUT ]; then
+ "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
+ exit $?
+else
+ (
+ nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+ if [ $? -ne 0 ]; then
+ cat "$ATOM_HOME/nohup.out"
+ exit $?
+ fi
+ ) &
+fi
+
+# Exits this process when Atom is used as $EDITOR
+on_die() {
+ exit 0
+}
+trap 'on_die' SIGQUIT SIGTERM
+
+# If the wait flag is set, don't exit this process until Atom tells it to.
+if [ $WAIT ]; then
+ while true; do
+ sleep 1
+ done
+fi