diff --git a/.travis.yml b/.travis.yml
index 27928a8..101b8be 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,8 @@
language: objective-c
-osx_image: beta-xcode6.2
+osx_image: xcode7.3
+
+sudo: false
git:
depth: 10
@@ -19,7 +21,11 @@ notifications:
script: sh build-package.sh
env:
+ global:
- APM_TEST_PACKAGES="language-marko language-html-swig language-svg language-d mavensmate-atom"
+ matrix:
+ - ATOM_CHANNEL=stable
+ - ATOM_CHANNEL=beta
cache:
- pip: true
diff --git a/build-package.sh b/build-package.sh
index 02457dd..b135968 100644
--- a/build-package.sh
+++ b/build-package.sh
@@ -1,27 +1,61 @@
#!/bin/sh
echo "Downloading latest Atom release..."
-curl -s -L "https://atom.io/download/mac" \
- -H 'Accept: application/octet-stream' \
- -o atom.zip
+ATOM_CHANNEL="${ATOM_CHANNEL:=stable}"
+
+if [ "$TRAVIS_OS_NAME" = "osx" ]; then
+ curl -s -L "https://atom.io/download/mac?channel=$ATOM_CHANNEL" \
+ -H 'Accept: application/octet-stream' \
+ -o "atom.zip"
+ mkdir atom
+ unzip -q atom.zip -d atom
+ if [ "$ATOM_CHANNEL" = "stable" ]; then
+ export ATOM_APP_NAME="Atom.app"
+ export ATOM_SCRIPT_NAME="atom.sh"
+ export ATOM_SCRIPT_PATH="./atom/${ATOM_APP_NAME}/Contents/Resources/app/atom.sh"
+ else
+ export ATOM_APP_NAME="Atom ${ATOM_CHANNEL}.app"
+ export ATOM_SCRIPT_NAME="atom-${ATOM_CHANNEL}"
+ export ATOM_SCRIPT_PATH="./atom-${ATOM_CHANNEL}"
+ ln -s "./atom/${ATOM_APP_NAME}/Contents/Resources/app/atom.sh" "${ATOM_SCRIPT_PATH}"
+ fi
+ export PATH="$PWD/atom/${ATOM_APP_NAME}/Contents/Resources/app/apm/bin:$PATH"
+ export ATOM_PATH="./atom"
+ export APM_SCRIPT_PATH="./atom/${ATOM_APP_NAME}/Contents/Resources/app/apm/node_modules/.bin/apm"
+else
+ curl -s -L "https://atom.io/download/deb?channel=$ATOM_CHANNEL" \
+ -H 'Accept: application/octet-stream' \
+ -o "atom.deb"
+ /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16
+ export DISPLAY=":99"
+ dpkg-deb -x atom.deb "$HOME/atom"
+ if [ "$ATOM_CHANNEL" = "stable" ]; then
+ export ATOM_SCRIPT_NAME="atom"
+ export APM_SCRIPT_NAME="apm"
+ else
+ export ATOM_SCRIPT_NAME="atom-$ATOM_CHANNEL"
+ export APM_SCRIPT_NAME="apm-$ATOM_CHANNEL"
+ fi
+ export ATOM_SCRIPT_PATH="$HOME/atom/usr/bin/$ATOM_SCRIPT_NAME"
+ export APM_SCRIPT_PATH="$HOME/atom/usr/bin/$APM_SCRIPT_NAME"
+fi
-mkdir atom
-unzip -q atom.zip -d atom
-export PATH=$PWD/atom/Atom.app/Contents/Resources/app/apm/bin:$PATH
echo "Using Atom version:"
-ATOM_PATH=./atom ./atom/Atom.app/Contents/Resources/app/atom.sh -v
+"$ATOM_SCRIPT_PATH" -v
+echo "Using APM version:"
+"$APM_SCRIPT_PATH" -v
echo "Downloading package dependencies..."
-atom/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm clean
-atom/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm install
+"$APM_SCRIPT_PATH" clean
+"$APM_SCRIPT_PATH" install
TEST_PACKAGES="${APM_TEST_PACKAGES:=none}"
if [ "$TEST_PACKAGES" != "none" ]; then
echo "Installing atom package dependencies..."
for pack in $TEST_PACKAGES ; do
- atom/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm install $pack
+ "$APM_SCRIPT_PATH" install $pack
done
fi
@@ -29,16 +63,20 @@ if [ -f ./node_modules/.bin/coffeelint ]; then
if [ -d ./src ]; then
echo "Linting package..."
./node_modules/.bin/coffeelint src
- rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
+ rc=$?; if [ $rc -ne 0 ]; then exit $rc; fi
fi
if [ -d ./spec ]; then
echo "Linting package specs..."
./node_modules/.bin/coffeelint spec
- rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
+ rc=$?; if [ $rc -ne 0 ]; then exit $rc; fi
fi
fi
-echo "Running specs..."
-ATOM_PATH=./atom atom/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm test --path atom/Atom.app/Contents/Resources/app/atom.sh
-
+if [ -d ./spec ]; then
+ echo "Running specs..."
+ "$ATOM_SCRIPT_PATH" --test spec
+else
+ echo "Missing spec folder! Please consider adding a test suite in `./spec`"
+ exit 1
+fi
exit
diff --git a/examples/nested-jsbeautifyrc/riotjs/expected/test.tag b/examples/nested-jsbeautifyrc/riotjs/expected/test.tag
new file mode 100644
index 0000000..4baf564
--- /dev/null
+++ b/examples/nested-jsbeautifyrc/riotjs/expected/test.tag
@@ -0,0 +1,21 @@
+
+ { message }
+
+
+
+
+
+
diff --git a/examples/nested-jsbeautifyrc/riotjs/original/test.tag b/examples/nested-jsbeautifyrc/riotjs/original/test.tag
new file mode 100644
index 0000000..29e9ead
--- /dev/null
+++ b/examples/nested-jsbeautifyrc/riotjs/original/test.tag
@@ -0,0 +1,21 @@
+
+{ message }
+
+
+
+
+
+
diff --git a/src/beautifiers/phpcbf.coffee b/src/beautifiers/phpcbf.coffee
index 9cd2392..1f88c27 100644
--- a/src/beautifiers/phpcbf.coffee
+++ b/src/beautifiers/phpcbf.coffee
@@ -14,8 +14,6 @@ module.exports = class PHPCBF extends Beautifier
if (standard) then \
standard else "PEAR"
]
- phpcbf_path: (phpcbf_path) -> phpcbf_path or @which('phpcbf')
-
PHP: true
}
diff --git a/src/languages/apex.coffee b/src/languages/apex.coffee
index 5757f4c..c5ad08d 100644
--- a/src/languages/apex.coffee
+++ b/src/languages/apex.coffee
@@ -15,6 +15,7 @@ module.exports = {
###
extensions: [
"cls"
+ "trigger"
]
options: