From 94773fa71c014016d01376fd3ac72a0d32992f76 Mon Sep 17 00:00:00 2001 From: Elliot Berman Date: Fri, 30 Mar 2018 12:25:41 -0400 Subject: [PATCH 1/2] Add terminal tab service --- lib/main.js | 4 ++++ package.json | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/lib/main.js b/lib/main.js index 24539d9..66d2f32 100644 --- a/lib/main.js +++ b/lib/main.js @@ -49,6 +49,10 @@ export default { return new TerminalSession(data.config); }, + provideTerminalSession() { + return (config={}) => atom.workspace.open(new TerminalSession(config)); + }, + handleOpen() { atom.workspace.open(TERMINAL_TAB_URI); }, diff --git a/package.json b/package.json index dcddc92..74c56fb 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,14 @@ "deserializers": { "TerminalSession": "deserializeTerminalSession" }, + "providedServices": { + "terminal-tab": { + "description": "Create terminal-tab sessions", + "versions": { + "0.5.0": "provideTerminalSession" + } + } + }, "eslintConfig": { "env": { "browser": true, From 31d77500ceb768b6efe0f8c234bbaeb0e9a2650b Mon Sep 17 00:00:00 2001 From: Elliot Berman Date: Wed, 18 Apr 2018 13:07:17 -0400 Subject: [PATCH 2/2] Allow config to set the shell's cwd --- lib/terminal-session.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/terminal-session.js b/lib/terminal-session.js index 34b176e..c344c01 100644 --- a/lib/terminal-session.js +++ b/lib/terminal-session.js @@ -61,6 +61,9 @@ export default class TerminalSession { // or the user's home directory. // _getWorkingDirectory() { + if(this.config.shellCwd) { + return this.config.shellCwd; + } const activeItem = atom.workspace.getActivePaneItem(); if (activeItem && activeItem.buffer