From 7d4ed8a0390d10c32f0eba4bbc5763696bb546e1 Mon Sep 17 00:00:00 2001 From: shairez Date: Tue, 29 Mar 2016 14:32:05 +0300 Subject: [PATCH] feat(doc): add "ng doc" command --- addon/ng2/commands/doc.ts | 26 ++++++++++++++++++++++++++ addon/ng2/index.js | 3 ++- addon/ng2/tasks/doc.ts | 11 +++++++++++ package.json | 1 + 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 addon/ng2/commands/doc.ts create mode 100644 addon/ng2/tasks/doc.ts diff --git a/addon/ng2/commands/doc.ts b/addon/ng2/commands/doc.ts new file mode 100644 index 000000000000..0551e8ddfdb4 --- /dev/null +++ b/addon/ng2/commands/doc.ts @@ -0,0 +1,26 @@ +import * as Command from 'ember-cli/lib/models/command'; +import * as DocTask from '../tasks/doc'; + +const DocCommand = Command.extend({ + name: 'doc', + description: 'Opens the official Angular documentation for a given keyword.', + works: 'everywhere', + + anonymousOptions: [ + '' + ], + + run: function(commandOptions, rawArgs:Array) { + var keyword = rawArgs[0]; + + var docTask = new DocTask({ + ui: this.ui, + analytics: this.analytics, + project: this.project + }); + + return docTask.run(keyword); + } +}); + +module.exports = DocCommand; \ No newline at end of file diff --git a/addon/ng2/index.js b/addon/ng2/index.js index d18b3405f8e5..d9c98fd81adc 100644 --- a/addon/ng2/index.js +++ b/addon/ng2/index.js @@ -13,7 +13,8 @@ module.exports = { 'lint': require('./commands/lint'), 'format': require('./commands/format'), 'version': require('./commands/version'), - 'completion': require('./commands/completion') + 'completion': require('./commands/completion'), + 'doc': require('./commands/doc') }; } }; diff --git a/addon/ng2/tasks/doc.ts b/addon/ng2/tasks/doc.ts new file mode 100644 index 000000000000..2d8ff84f18c1 --- /dev/null +++ b/addon/ng2/tasks/doc.ts @@ -0,0 +1,11 @@ +import * as Task from 'ember-cli/lib/models/task'; +import * as opn from 'opn'; + +const DocTask = Task.extend({ + run: function(keyword:string) { + var searchUrl = 'https://angular.io/docs/ts/latest/api/#!?apiFilter=' + keyword; + return opn(searchUrl); + } +}); + +module.exports = DocTask; \ No newline at end of file diff --git a/package.json b/package.json index 99316e56249d..89122b9c0812 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "leek": "0.0.21", "lodash": "^4.6.1", "multidep": "^2.0.0", + "opn": "4.0.1", "resolve": "^1.1.7", "shelljs": "^0.6.0", "silent-error": "^1.0.0",