From e4cc358b76b527d246a6e471e3141e552f7344f6 Mon Sep 17 00:00:00 2001 From: Nikolai Onken Date: Mon, 21 Mar 2016 09:04:48 +0000 Subject: [PATCH 01/19] Return if element doesn't exist --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8fd1346e..21790510 100644 --- a/package.json +++ b/package.json @@ -118,6 +118,6 @@ "c9.ide.undo": "#b028bcb4d5", "c9.ide.upload": "#0bd010d3dc", "c9.ide.welcome": "#5b86c44e92", - "c9.ide.guide": "#d2e406b5e3" + "c9.ide.guide": "#5eafce7709" } } \ No newline at end of file From cae251bdc79429c0456a58e9a0eb41aecd036fdf Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 21 Mar 2016 12:54:00 +0100 Subject: [PATCH 02/19] c9-auto-bump 3.1.1877 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8fd1346e..69455f3b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1876", + "version": "3.1.1877", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 5d6584fe05e844169160e36819791b41689dc5d0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 21 Mar 2016 15:30:27 +0100 Subject: [PATCH 03/19] c9-auto-bump 3.1.1878 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5c82a2b9..ca4f6e0c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1877", + "version": "3.1.1878", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 498547fa47a198dd2107bdf0d9882781b5a0dc26 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Mon, 21 Mar 2016 15:12:06 +0000 Subject: [PATCH 04/19] Fix 2 guide errors in CS50 workspace --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ca4f6e0c..e3314d44 100644 --- a/package.json +++ b/package.json @@ -118,6 +118,6 @@ "c9.ide.undo": "#b028bcb4d5", "c9.ide.upload": "#0bd010d3dc", "c9.ide.welcome": "#5b86c44e92", - "c9.ide.guide": "#5eafce7709" + "c9.ide.guide": "#8ab966f344" } } \ No newline at end of file From c5a9d9e7dc950b621a49f21a43b500d849c2d157 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 21 Mar 2016 17:01:52 +0100 Subject: [PATCH 05/19] c9-auto-bump 3.1.1879 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ca4f6e0c..e2df1840 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1878", + "version": "3.1.1879", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b10d32c604f8806d241d663500292df57e9ba5a7 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 21 Mar 2016 21:53:45 +0100 Subject: [PATCH 06/19] c9-auto-bump 3.1.1880 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e2df1840..2b57a7bf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1879", + "version": "3.1.1880", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e50a8569ecea0623437cca39d5442401b9d7179d Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 21 Mar 2016 22:37:28 +0100 Subject: [PATCH 07/19] c9-auto-bump 3.1.1881 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2b57a7bf..5efdff35 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1880", + "version": "3.1.1881", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 2fcabfeef13d9beb7bdc8ef4071a81d530aa531d Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 21 Mar 2016 22:38:52 +0100 Subject: [PATCH 08/19] c9-auto-bump 3.1.1882 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5efdff35..0bde99c3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1881", + "version": "3.1.1882", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 20ba080ad6ef3af88eecaf6df820c0310a684335 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 21 Mar 2016 22:52:08 +0100 Subject: [PATCH 09/19] c9-auto-bump 3.1.1883 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0bde99c3..7a2f37f2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1882", + "version": "3.1.1883", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ef3d86c7f1fcfeb514e89b604ddc504c72f919ac Mon Sep 17 00:00:00 2001 From: Rob Moran Date: Wed, 16 Mar 2016 21:16:01 +0000 Subject: [PATCH 10/19] Added CLI exec command --- configs/cli.js | 4 ++ plugins/c9.cli.bridge/bridge_commands.js | 12 +++- plugins/c9.cli.exec/exec.js | 92 ++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 plugins/c9.cli.exec/exec.js diff --git a/configs/cli.js b/configs/cli.js index 80a8d3f5..e3fd3411 100644 --- a/configs/cli.js +++ b/configs/cli.js @@ -80,6 +80,10 @@ return [ packagePath: "./c9.cli.open/open", platform: process.platform }, + { + packagePath: "./c9.cli.exec/exec", + platform: process.platform + }, { packagePath: "./c9.cli.open/restart", platform: process.platform diff --git a/plugins/c9.cli.bridge/bridge_commands.js b/plugins/c9.cli.bridge/bridge_commands.js index 5e697a0a..f078cece 100644 --- a/plugins/c9.cli.bridge/bridge_commands.js +++ b/plugins/c9.cli.bridge/bridge_commands.js @@ -2,7 +2,7 @@ define(function(require, exports, module) { main.consumes = [ "Plugin", "bridge", "tabManager", "panels", "tree.favorites", "tree", - "fs", "preferences", "settings", "c9" + "fs", "preferences", "settings", "c9", "commands" ]; main.provides = ["bridge.commands"]; return main; @@ -18,6 +18,7 @@ define(function(require, exports, module) { var fs = imports.fs; var c9 = imports.c9; var prefs = imports.preferences; + var commands = imports.commands; var async = require("async"); @@ -36,6 +37,9 @@ define(function(require, exports, module) { case "open": open(message, e.respond); break; + case "exec": + exec(message, e.respond); + break; case "pipe": createPipe(message, e.respond); break; @@ -173,6 +177,12 @@ define(function(require, exports, module) { callback(null, true); }); } + + function exec(message, callback) { + var result = commands.exec(message.command, message.args); + var err = result ? null : "command failed"; + callback(err, result); + } /***** Lifecycle *****/ diff --git a/plugins/c9.cli.exec/exec.js b/plugins/c9.cli.exec/exec.js new file mode 100644 index 00000000..e8a48f4b --- /dev/null +++ b/plugins/c9.cli.exec/exec.js @@ -0,0 +1,92 @@ +define(function(require, exports, module) { + main.consumes = ["Plugin", "cli_commands", "bridge.client"]; + main.provides = ["exec"]; + return main; + + function main(options, imports, register) { + var Plugin = imports.Plugin; + var cmd = imports.cli_commands; + var bridge = imports["bridge.client"]; + + /***** Initialization *****/ + + var plugin = new Plugin("Ajax.org", main.consumes); + // var emit = plugin.getEmitter(); + + var loaded; + function load(){ + if (loaded) return; + loaded = true; + + cmd.addCommand({ + name: "exec", + info: " Executes remote c9 commands.", + usage: " [argument 1] [argument 2] ... [argument n]", + check: function(argv) { + if (argv._.length < 2) + throw new Error("Missing command"); + }, + options: {}, + exec: function(argv) { + exec( + argv._[1], + argv._.slice(2), + function(){}); + } + }); + } + + /***** Methods *****/ + + function exec(command, args, callback) { + args.unshift(process.cwd()); + var message = { + type: "exec", + command: command, + args: args + }; + + bridge.send(message, function cb(err, response) { + if (err) { + console.log(err.message); + } + + if (response !== true) + console.log("Could not execute", command); + + process.exit(); // I don't get why this is needed + }); + } + + /***** Lifecycle *****/ + + plugin.on("load", function(){ + load(); + }); + plugin.on("enable", function(){ + + }); + plugin.on("disable", function(){ + + }); + plugin.on("unload", function(){ + loaded = false; + }); + + /***** Register and define API *****/ + + /** + * Finds or lists files and/or lines based on their filename or contents + **/ + plugin.freezePublicAPI({ + /** + * + */ + exec: exec + }); + + register(null, { + exec: plugin + }); + } +}); \ No newline at end of file From 5a4788d7e17021e244ff974d93a9edc35cbdd54e Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 22 Mar 2016 00:09:38 +0400 Subject: [PATCH 11/19] better handling for golang in gdb debugger --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7a2f37f2..57edc81b 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", "c9.ide.find.replace": "#8cbce45290", - "c9.ide.run.debug": "#286975f644", + "c9.ide.run.debug": "#8970f5d3cc", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", From b1caa2fbf68f885032aed51a05ae1d489e36738b Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 22 Mar 2016 00:10:18 +0400 Subject: [PATCH 12/19] fix insertmode in libterm --- plugins/c9.ide.terminal/aceterm/libterm.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/c9.ide.terminal/aceterm/libterm.js b/plugins/c9.ide.terminal/aceterm/libterm.js index 4f30c487..c19e8656 100644 --- a/plugins/c9.ide.terminal/aceterm/libterm.js +++ b/plugins/c9.ide.terminal/aceterm/libterm.js @@ -470,7 +470,7 @@ Terminal.prototype.writeInternal = function(data) {//TODO optimize lines if (!this.insertMode) line[this.x] = [this.curAttr, ch]; else - line[insertY].splice(this.x, 0, [this.curAttr, ch]); + line.splice(this.x, 0, [this.curAttr, ch]); break; case 0: if (this.x > 0) this.x--; @@ -481,7 +481,7 @@ Terminal.prototype.writeInternal = function(data) {//TODO optimize lines line[this.x] = [this.curAttr, ch]; line[this.x + 1] = [this.curAttr, "\x00"]; } else { - line[insertY].splice(this.x, 0, [this.curAttr, ch], [this.curAttr, ""]); + line.splice(this.x, 0, [this.curAttr, ch], [this.curAttr, ""]); } this.x++; break; From 92a7b393001918031074f4976e9d114a8b6d4d15 Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 22 Mar 2016 01:11:56 +0400 Subject: [PATCH 13/19] make exit code logging more robust --- node_modules/vfs-local/localfs.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/node_modules/vfs-local/localfs.js b/node_modules/vfs-local/localfs.js index 0eba62a4..dcad436c 100644 --- a/node_modules/vfs-local/localfs.js +++ b/node_modules/vfs-local/localfs.js @@ -1827,9 +1827,11 @@ module.exports = function setup(fsOptions) { } else if (options.command) { args.push(BASH + " -l -c '" - + options.command.replace(/'/g, "'\\''") - + '; printf "\\e[01;30m\\n\\nProcess exited with code: $?\\e[0m\\n"' - + "; sleep 0.1;'"); + + ( + 'trap \'printf "\\e[01;30m\\n\\nProcess exited with code: $?\\e[0m\\n"\' EXIT\n' + + options.command + ).replace(/'/g, "'\\''") + + "'"); } args.push( From 9cb0f0a2f11ed906175e38169b42cc6b11df561a Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 21 Mar 2016 23:11:54 +0100 Subject: [PATCH 14/19] c9-auto-bump 3.1.1884 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 57edc81b..87af2e04 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1883", + "version": "3.1.1884", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 4424d391957f6edb91cb5b076a33dd7a53531ca2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 21 Mar 2016 23:12:10 +0100 Subject: [PATCH 15/19] c9-auto-bump 3.1.1885 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 87af2e04..423b9a0c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1884", + "version": "3.1.1885", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 40d8c3c7c14cf8651cb2aa71dd57141afe28b1ed Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 22 Mar 2016 00:07:26 +0100 Subject: [PATCH 16/19] c9-auto-bump 3.1.1886 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index eb159538..2faf3535 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1885", + "version": "3.1.1886", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 17eb7561e9f4fd2643b95e8822ee039a97e532ec Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 22 Mar 2016 01:24:51 +0000 Subject: [PATCH 17/19] fix typo --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2faf3535..c2d8a81e 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", "c9.ide.find.replace": "#8cbce45290", - "c9.ide.run.debug": "#8970f5d3cc", + "c9.ide.run.debug": "#7d6da73fc7", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", From c8a4af97ef92dcd06a728562c0717d4a48a99765 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 22 Mar 2016 02:25:54 +0100 Subject: [PATCH 18/19] c9-auto-bump 3.1.1887 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c2d8a81e..6d633226 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1886", + "version": "3.1.1887", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d2c698e3d5047add03bea716245e572b978cd1b7 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 22 Mar 2016 09:42:22 +0100 Subject: [PATCH 19/19] c9-auto-bump 3.1.1888 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6d633226..bf295031 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.1887", + "version": "3.1.1888", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9",