diff --git a/node_modules/ace/lib/ace/mode/javascript_highlight_rules.js b/node_modules/ace/lib/ace/mode/javascript_highlight_rules.js index 64de72d5..0161b8ca 100644 --- a/node_modules/ace/lib/ace/mode/javascript_highlight_rules.js +++ b/node_modules/ace/lib/ace/mode/javascript_highlight_rules.js @@ -171,6 +171,9 @@ var JavaScriptHighlightRules = function(options) { token : "punctuation.operator", regex : /[.](?![.])/, next : "property" + }, { + token : "storage.type", + regex : /=>/ }, { token : "keyword.operator", regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/, diff --git a/package.json b/package.json index 3ea15a58..0c04bf13 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "connect": "~2.12.0", "debug": "~0.7.4", "ejs": "~1.0.0", - "emmet": "git://github.com/cloud9ide/emmet-core.git#2ff6dc06ad", + "emmet": "git+https://github.com/cloud9ide/emmet-core.git#2ff6dc06ad", "engine.io": "1.6.9", "engine.io-client": "1.6.9", "jsonm": "1.0.6", @@ -25,15 +25,15 @@ "mime": "~1.2.9", "mkdirp": "~0.3.5", "msgpack-js-browser": "~0.1.4", - "nak": "https://github.com/cloud9ide/nak.git#6deef931594", + "nak": "git+https://github.com/cloud9ide/nak.git#6deef931594", "netutil": "~0.0.2", "optimist": "~0.6.0", "qs": "0.6.6", "rusha": "^0.8.3", "send": "~0.1.4", "simple-mime": "~0.0.8", - "tern": "https://github.com/cloud9ide/tern.git#39015d544d4c00c7899fea4c95c2e5bc2720e68e", - "tern_from_ts": "https://github.com/cloud9ide/tern_from_ts.git#84d51dcb9b16b126a206789d4d4237cde2801fe4", + "tern": "git+https://github.com/cloud9ide/tern.git#39015d544d4c00c7899fea4c95c2e5bc2720e68e", + "tern_from_ts": "git+https://github.com/cloud9ide/tern_from_ts.git#84d51dcb9b16b126a206789d4d4237cde2801fe4", "through": "2.2.0", "tmp": "~0.0.20", "uglify-js": "~2.6.2", @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#0fe92d6f46", - "c9.ide.collab": "#39fc27d13f", + "c9.ide.collab": "#c94a0ac61d", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", diff --git a/plugins/c9.ide.ace/ace.js b/plugins/c9.ide.ace/ace.js index 3f896011..da050694 100644 --- a/plugins/c9.ide.ace/ace.js +++ b/plugins/c9.ide.ace/ace.js @@ -589,33 +589,26 @@ define(function(require, exports, module) { new Divider({ position: 60 }, handle) ] }, handle); + menus.addItemByPath("context/ace/", mnuAce, 0, handle); - mnuGutter = new Menu({ + menus.addItemByPath("context/ace-gutter/", mnuGutter = new Menu({ id: "menuGutter", items: [ new Divider({ position: 1000 }, handle), - new MenuItem({ - position: 1000, - caption: "Gutter Options", - submenu: new Menu({ - items: [ - new MenuItem({ - position: 10, - caption: "Show Line Numbers", - type: "check", - checked: "user/ace/@showLineNumbers" - }, handle), - new MenuItem({ - position: 10, - caption: "Show Fold Widgets", - type: "check", - checked: "user/ace/@showFoldWidgets" - }, handle), - ] - }) - }, handle), ] - }, handle); + }, handle), 0, handle); + menus.addItemByPath("context/ace-gutter/Gutter Options/", new ui.menu({}), 1100, handle); + menus.addItemByPath("context/ace-gutter/Gutter Options/Show Line Numbers", new ui.item({ + caption: "Show Line Numbers", + type: "check", + checked: "user/ace/@showLineNumbers" + }, handle), 100, handle); + menus.addItemByPath("context/ace-gutter/Gutter Options/Show Fold Widgets", new ui.item({ + caption: "Show Fold Widgets", + type: "check", + checked: "user/ace/@showFoldWidgets" + }, handle), 200, handle); + mnuGutter.on("show", function(e) { var ace = tabs.focussedTab.editor.ace; var region = ace.renderer.$gutterLayer.getRegion(e); diff --git a/plugins/c9.ide.tree/tree.js b/plugins/c9.ide.tree/tree.js index 4dfb3dbc..6d28ceac 100644 --- a/plugins/c9.ide.tree/tree.js +++ b/plugins/c9.ide.tree/tree.js @@ -551,6 +551,7 @@ define(function(require, exports, module) { var mnuCtxTree = plugin.getElement("mnuCtxTree"); menus.decorate(mnuCtxTree); plugin.addElement(mnuCtxTree); + menus.addItemByPath("context/tree/", mnuCtxTree, 0, plugin); menus.addItemToMenu(mnuCtxTree, new ui.item({ match: "file", diff --git a/plugins/c9.ide.ui/menus.js b/plugins/c9.ide.ui/menus.js index 0c06c306..e4266d09 100644 --- a/plugins/c9.ide.ui/menus.js +++ b/plugins/c9.ide.ui/menus.js @@ -466,14 +466,14 @@ define(function(require, exports, module) { return; } + if (!plugin) + plugin = menu, menu = null; if (index && typeof index == "object") plugin = index, index = null; - else if (menu instanceof Menu) + else if (!plugin && menu && menu.aml) menu = menu.aml; - else if (menu && !menu.nodeFunc) - plugin = menu, menu = null; - if (menuItem instanceof MenuItem || menuItem instanceof Divider) + if (menuItem && menuItem.aml) menuItem = menuItem.aml; assert(plugin !== undefined, "addItemByPath requires a plugin argument"); diff --git a/scripts/install-sdk.sh b/scripts/install-sdk.sh index 52fb07b9..739ae5e7 100755 --- a/scripts/install-sdk.sh +++ b/scripts/install-sdk.sh @@ -15,8 +15,8 @@ else exit 1 fi -cd `dirname $0`/.. -SOURCE=`pwd` +cd "$(dirname "$0")/.." +SOURCE=$(pwd) uname="$(uname -a)" os= @@ -44,37 +44,38 @@ blue=$'\e[01;34m' magenta=$'\e[01;35m' resetColor=$'\e[0m' -NO_PULL= -NO_GLOBAL_INSTALL= -FORCE= +# NO_PULL= +# NO_GLOBAL_INSTALL= +# FORCE= updatePackage() { name=$1 + cd "$SOURCE" REPO=https://github.com/c9/$name echo "${green}checking out ${resetColor}$REPO" - if ! [[ -d ./plugins/$name ]]; then - mkdir -p ./plugins/$name + if ! [[ -d ./plugins/"$name" ]]; then + mkdir -p ./plugins/"$name" fi - pushd ./plugins/$name + pushd ./plugins/"$name" if ! [[ -d .git ]]; then git init # git remote rm origin || true - git remote add origin $REPO + git remote add origin "$REPO" fi - version=`"$NODE" -e 'console.log((require("../../package.json").c9plugins["'$name'"].substr(1) || "origin/master"))'`; - rev=`git rev-parse --revs-only $version` + version=$("$NODE" -e 'console.log((require("../../package.json").c9plugins["'"$name"'"].substr(1) || "origin/master"))'); + rev=$(git rev-parse --revs-only "$version") if [ "$rev" == "" ]; then git fetch origin fi - status=`git status --porcelain --untracked-files=no` - if [ "$status" == "" ]; then - git reset $version --hard + status=$(git status --porcelain --untracked-files=no) + if [ "$status" == "" ] || [ "$FORCE" == "1" ]; then + git reset "$version" --hard else echo "${yellow}$name ${red}contains uncommited changes.${yellow} Skipping...${resetColor}" fi @@ -82,22 +83,23 @@ updatePackage() { } updateAllPackages() { - c9packages=`"$NODE" -e 'console.log(Object.keys(require("./package.json").c9plugins).join(" "))'`; + c9packages=$("$NODE" -e 'console.log(Object.keys(require("./package.json").c9plugins).join(" "))'); count=${#c9packages[@]} i=0 - for m in ${c9packages[@]}; do echo $m; - i=$(($i + 1)) + for m in "${c9packages[@]}"; do + echo "$m" + i=$((i + 1)) echo "updating plugin ${blue}$i${resetColor} of ${blue}$count${resetColor}" - updatePackage $m + updatePackage "$m" || updatePackage "$m" done } updateNodeModules() { echo "${magenta}--- Running npm install --------------------------------------------${resetColor}" safeInstall(){ - deps=`"$NODE" -e 'console.log(Object.keys(require("./package.json").dependencies).join(" "))'`; - for m in ${deps[@]}; do echo $m; - "$NPM" install --loglevel warn $m || true + deps=$("$NODE" -e 'console.log(Object.keys(require("./package.json").dependencies).join(" "))'); + for m in "${deps[@]}"; do echo "$m"; + "$NPM" install --loglevel warn "$m" done } "$NPM" install || safeInstall @@ -144,7 +146,7 @@ installGlobalDeps() { ############################################################################ export C9_DIR="$HOME"/.c9 -if ! [[ `which npm` ]]; then +if ! [[ $(which npm) ]]; then if [[ $os == "windows" ]]; then export PATH="$C9_DIR:$C9_DIR/node_modules/.bin:$PATH" else