jsmecham / atom-terminal-tab Goto Github PK
View Code? Open in Web Editor NEWSimple terminal for the Atom text editor.
Home Page: https://atom.io/packages/terminal-tab
License: MIT License
Simple terminal for the Atom text editor.
Home Page: https://atom.io/packages/terminal-tab
License: MIT License
The node-pty
module depends on some native code that gets compiled on the user's system when it gets installed. Since many users won't have these build dependencies (Python, C++ compiler, etc), we should find a way to provide pre-built binaries that work against the more recent versions of Electron that Atom depends on.
We'll need packages for Windows, macOS, and Linux so it's likely we'll need to use multiple CI providers (CircleCI, Travis CI and AppVeyor perhaps) to build artifacts on those platforms. Once built we could upload these dependencies to the GitHub release entry for the version number so that they can be pulled down by the package either at install time or on first load.
See xtermjs/xterm.js#934 and xtermjs/xterm.js#1208 for ideas on how to better size and position the terminal instance.
MacOS Sierra 10.12.5
Atom 1.18.0-beta0
apm 1.18.1
apm i atom-terminal-tab
Installing atom-terminal-tab to /Users/Dan/Library/Application Support/Atom/packages ✗
> [email protected] install /private/var/folders/rg/4lc94q1x1_xd89qsnjdkgsjw0000gn/T/apm-install-dir-117418-46194-1269cvw.7bdpshsemi/node_modules/atom-terminal-tab/node_modules/node-pty
> node scripts/install.js
CXX(target) Release/obj.target/pty/src/unix/pty.o
/private/var/folders/rg/4lc94q1x1_xd89qsnjdkgsjw0000gn/T/apm-install-dir-117418-46194-1269cvw.7bdpshsemi
└── (empty)
2017-05-18 23:50:23.348 xcodebuild[46216:7399968] [MT] PluginLoading: Required plug-in compatibility UUID DFFB3951-EB0A-4C09-9DAC-5F2D28CC839C for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/WakaTime.xcplugin' not present in DVTPlugInCompatibilityUUIDs/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2017-05-18 23:50:23.350 xcodebuild[46216:7399968] [MT] PluginLoading: Required plug-in compatibility UUID DFFB3951-EB0A-4C09-9DAC-5F2D28CC839C for plug-in at path '
clang: error: no such file or directory: 'Support/Atom/.node-gyp/.node-gyp/iojs-1.3.15/include/node'
clang: error: no such file or directory: 'Support/Atom/.node-gyp/.node-gyp/iojs-1.3.15/src'
clang: error: no such file or directory: 'Support/Atom/.node-gyp/.node-gyp/iojs-1.3.15/deps/uv/include'
clang: error: no such file or directory: 'Support/Atom/.node-gyp/.node-gyp/iojs-1.3.15/deps/v8/include'
make: *** [Release/obj.target/pty/src/unix/pty.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make
failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Applications/Atom Beta.app/Contents/Resources/app/apm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.6.0
gyp ERR! command "/Applications/Atom Beta.app/Contents/Resources/app/apm/bin/node" "/Applications/Atom Beta.app/Contents/Resources/app/apm/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /private/var/folders/rg/4lc94q1x1_xd89qsnjdkgsjw0000gn/T/apm-install-dir-117418-46194-1269cvw.7bdpshsemi/node_modules/atom-terminal-tab/node_modules/node-pty
gyp ERR! node -v v6.9.5
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open '/private/var/folders/rg/4lc94q1x1_xd89qsnjdkgsjw0000gn/T/apm-install-dir-117418-46194-1269cvw.7bdpshsemi/package.json'
npm WARN apm-install-dir-117418-46194-1269cvw.7bdpshsemi No description
npm WARN apm-install-dir-117418-46194-1269cvw.7bdpshsemi No repository field.
npm WARN apm-install-dir-117418-46194-1269cvw.7bdpshsemi No README data
npm WARN apm-install-dir-117418-46194-1269cvw.7bdpshsemi No license field.
npm ERR! Darwin 16.6.0
npm ERR! argv "/Applications/Atom Beta.app/Contents/Resources/app/apm/bin/node" "/Applications/Atom Beta.app/Contents/Resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/Users/Dan/Library/Application Support/Atom/.apm/.apmrc" "--userconfig" "/Users/Dan/Library/Application Support/Atom/.apmrc" "install" "/private/var/folders/rg/4lc94q1x1_xd89qsnjdkgsjw0000gn/T/d-117418-46194-ngg2st.ed0246ajor/package.tgz" "--runtime=electron" "--target=1.3.15" "--arch=x64" "--global-style"
npm ERR! node v6.9.5
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: node scripts/install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node scripts/install.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-pty package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node scripts/install.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs node-pty
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls node-pty
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /private/var/folders/rg/4lc94q1x1_xd89qsnjdkgsjw0000gn/T/apm-install-dir-117418-46194-1269cvw.7bdpshsemi/npm-debug.log
npm ERR! code 1
It is extremely unlikely that a user wants a terminal and a document to share a pane. If terminal is focused, it would be ideal if in any attempts to open a file caused that file to open in a pane that already contains documents, or an empty pane if there are no panes containing documents, or a new pane if there are also no empty panes.
It's not possible to copy or paste from/to the terminal.
It would be useful (1) to have at least an item to do so in the right-click menu, and (2) to bind a keyboard shortcut (something like Ctrl + Shift + C/V).
To reproduce:
Atom: 1.18.0 x64
Electron: 1.3.15
OS: Mac OS X 10.12.5
Thrown From: atom-terminal-tab package 0.2.2
Uncaught TypeError: activeTerminalView.clear is not a function
At /Users/griley/.atom/packages/atom-terminal-tab/lib/terminal.js:58
TypeError: activeTerminalView.clear is not a function
at Object.handleClear (/packages/atom-terminal-tab/lib/terminal.js:58:24)
at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:265:35)
at /Applications/Atom.app/Contents/Resources/app/src/command-registry.js:3:65
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:610:22)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:401:28)
at KeymapManager.module.exports.KeymapManager.terminatePendingState (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:591:20)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:449:27)
at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:100:42)
at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:3:65)
-7:20.6.0 core:backspace (input.hidden-input)
2x -7:19.2.0 core:save (input.hidden-input)
-3:36.4.0 pane:split-up-and-copy-active-item (input.hidden-input)
2x -3:28.5.0 core:move-up (input.hidden-input)
-3:26.2.0 core:move-down (input.hidden-input)
2x -3:25.7.0 editor:move-to-first-character-of-line (input.hidden-input)
7x -3:24.4.0 core:select-down (input.hidden-input)
-3:20 snippets:next-tab-stop (input.hidden-input)
-3:20 snippets:expand (input.hidden-input)
-3:20 editor:indent (input.hidden-input)
-3:18.9.0 core:move-up (input.hidden-input)
7x -3:18.4.0 core:move-down (input.hidden-input)
-3:16.8.0 editor:move-to-end-of-screen-line (input.hidden-input)
-3:16.4.0 editor:newline (input.hidden-input)
-3:14.1.0 core:save (input.hidden-input)
2x -2:59.2.0 terminal:clear (textarea.xterm-helper-textarea)
atom-beautify 0.30.3
atom-terminal-tab 0.2.2
build 0.68.0
busy 0.7.0
busy-signal 1.4.3
dash 1.7.1
flex-tool-bar 0.12.0
intentions 1.1.2
language-actionscript3 0.3.0
language-flex 0.3.0
language-haml 0.24.5
language-markdown 0.23.0
linter 2.2.0
linter-haml 2.0.1
linter-rubocop 2.1.1
linter-ui-default 1.6.2
minimap 4.28.2
rspec 0.3.2
ruby-test 1.0.2
run-command2 1.12.2
Sublime-Style-Column-Selection 1.7.4
tool-bar 1.1.0
Set a default location like so:
{ defaultLocation: 'right-pane'||'bottom-pane'||'left-pane'||'main-tab'||'prev-location' }
Need to add a CONTRIBUTORS
file and/or mention contributors in the README
, CHANGELOG
and releases. Thanks for all your hard work, everyone! Tracking this and will implement in an upcoming release.
exit
Actual: 💥
Expected: No 💥 and tab to close
Atom: 1.25.0-dev-aea7041c4 x64
Electron: 1.7.10
OS: Mac OS X 10.13.2
Thrown From: terminal-tab package 0.3.4
Uncaught Error: This socket is closed
At /Users/Lee/.atom/packages/terminal-tab/node_modules/node-pty/lib/unixTerminal.js:108
Error: This socket is closed
at PipeSocket.Socket._writeGeneric (net.js:692:19)
at PipeSocket.Socket._write (net.js:743:8)
at doWrite (_stream_writable.js:329:12)
at writeOrBuffer (_stream_writable.js:315:5)
at PipeSocket.Writable.write (_stream_writable.js:241:11)
at PipeSocket.Socket.write (net.js:670:40)
at UnixTerminal.write (/packages/terminal-tab/node_modules/node-pty/lib/unixTerminal.js:181:22)
at /packages/terminal-tab/lib/terminal-view.js:56:23)
at Terminal.EventEmitter.emit (/packages/terminal-tab/node_modules/xterm/lib/EventEmitter.js:49:20)
at Terminal.handler (/packages/terminal-tab/node_modules/xterm/lib/xterm.js:1432:10)
at Terminal.keyDown (/packages/terminal-tab/node_modules/xterm/lib/xterm.js:930:10)
at /packages/terminal-tab/node_modules/xterm/lib/xterm.js:365:14)
-4:42.4.0 core:save (input.hidden-input)
-4:39.2.0 core:backspace (input.hidden-input)
-4:37.1.0 core:save (input.hidden-input)
-4:12 window:toggle-dev-tools (textarea.xterm-helper-textarea)
-3:54.4.0 settings-view:open (textarea.xterm-helper-textarea)
-3:07.1.0 window:toggle-dev-tools (textarea.xterm-helper-textarea)
-1:51.9.0 docblockr:parse-enter (input.hidden-input)
-1:51.9.0 editor:newline (input.hidden-input)
-1:51.4.0 docblockr:parse-enter (input.hidden-input)
-1:51.4.0 editor:newline (input.hidden-input)
-1:47.4.0 docblockr:parse-enter (input.hidden-input)
-1:47.4.0 editor:newline (input.hidden-input)
-1:43.1.0 core:save (input.hidden-input)
4x -1:05.4.0 core:select-down (input.hidden-input)
-1:04.5.0 core:backspace (input.hidden-input)
-1:03.7.0 core:save (input.hidden-input)
advanced-open-file 0.16.7
atom-2048 3.1.0
atom-ide-ui 0.7.1
autocomplete-emojis 2.5.0
autocomplete-html-entities 0.2.0
badges 2.2.5
block-travel 1.0.5
bug-report 0.7.1
convert-date 0.1.1
docblockr 0.13.5
double-tag 1.1.0
duotone-dark-syntax 2.1.0
duotone-light-syntax 2.1.0
file-icons 2.1.15
file-type-icons 1.3.4
fortune-background-tips 1.0.2
github-atom-light-syntax 0.5.0
highlight-selected 0.13.1
ide-css 0.2.0
ide-rust 0.8.0
ide-typescript 0.7.2
indentation-indicator 1.1.0
language-diff 0.7.0
language-elixir 0.20.3
language-generic-config 1.4.0
language-pegjs 0.5.0
language-rust 0.4.12
language-slime 0.0.0
less-than-slash 0.17.0
markdown-helper 0.3.0
minimap 4.29.7
npm-library-description 1.0.1
package-sync 1.1.0
pretty-json 1.6.4
red-wavy-underline 0.3.3
right-case 0.2.0
set-syntax 0.4.0
significant-other 0.4.0
soft-wrap-indicator 1.1.0
sort-lines 0.18.0
tabs-to-spaces 1.0.3
teletype 0.5.0
terminal-tab 0.3.4
toggle-quotes 1.1.0
town-crier 0.2.1
tree-view-git-status 1.4.0
[Enter steps to reproduce:]
Atom: 1.23.1 x64
Electron: 1.6.15
OS: Mac OS X 10.12.6
Thrown From: atom-terminal-tab package 0.2.2
Failed to load the atom-terminal-tab package
At ENOENT: no such file or directory, open '/Users/muhmmed-abd-alkhalik/.atom/packages/atom-terminal-tab/styles/xterm.less'
Error: ENOENT: no such file or directory, open '/Users/muhmmed-abd-alkhalik/.atom/packages/atom-terminal-tab/styles/xterm.less'
at Object.fs.openSync (fs.js:558:18)
at Object.module.(anonymous function) [as openSync] (ELECTRON_ASAR.js:173:20)
at Proxy.fs.readFileSync (fs.js:468:33)
at Proxy.fs.readFileSync (ELECTRON_ASAR.js:506:29)
at ThemeManager.loadLessStylesheet (/Applications/Atom.app/Contents/Resources/app/src/theme-manager.js:276:54)
at ThemeManager.loadStylesheet (/Applications/Atom.app/Contents/Resources/app/src/theme-manager.js:246:25)
at /Applications/Atom.app/Contents/Resources/app/src/package.js:578:60
at Array.map (native)
at Package.module.exports.Package.loadStylesheets (/Applications/Atom.app/Contents/Resources/app/src/package.js:576:65)
at /Applications/Atom.app/Contents/Resources/app/src/package.js:152:25
at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app/src/package.js:99:21)
at Package.module.exports.Package.load (/Applications/Atom.app/Contents/Resources/app/src/package.js:145:18)
at PackageManager.loadAvailablePackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:618:16)
at PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:551:25)
at PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:689:23)
at /Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:535:35
at exit (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:128:22)
at triggerExitCallback (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:338:17)
at /Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:351:17
at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:220:15)
at emitOne (events.js:101:20)
at Socket.emit (events.js:188:7)
at Pipe._handle.close [as _onclose] (net.js:501:12)
2x -8:47.2.0 core:select-all (input.hidden-input)
-8:41.4.0 core:paste (input.hidden-input)
-8:40.7.0 core:backspace (input.hidden-input)
-8:40.4.0 core:confirm (input.hidden-input)
-8:31.9.0 application:new-file (input.hidden-input)
-8:30.8.0 core:close (input.hidden-input)
-8:29 application:new-window (div.panels-item)
-8:25.2.0 core:close (input.hidden-input)
-8:01.2.0 core:select-all (input.hidden-input)
-8:00.9.0 core:paste (input.hidden-input)
12x -8:00.7.0 core:confirm (input.hidden-input)
atom-beautify 0.30.9
atom-terminal-tab 0.2.2
emmet 2.4.3
At the moment the open terminal command opens a new pane every time it is triggered.
It would be very useful to have the default open command:
one command to rule them all :)
(I couldn't re-open #9 for some reason)
Currently it's possible to select text, but not to copy it on Linux/Windows. The Ctrl C keyboard shortcut doesn't work since it's captured by the terminal to stop the current job. The right-click menu doesn't offer a "Copy" item.
What needs to be done:
See #13
packages/atom-terminal-tab/styles/terminal.less
Line number: 9
variable @tab-text-color-editor is undefined
cmd
+c
Atom: 1.18.0 x64
Electron: 1.3.15
OS: Mac OS X 10.12.5
Thrown From: atom-terminal-tab package 0.2.2
Uncaught TypeError: activeTerminalView.copySelection is not a function
At /Users/alex/.atom/packages/atom-terminal-tab/lib/terminal.js:48
TypeError: activeTerminalView.copySelection is not a function
at Object.handleCopy (/packages/atom-terminal-tab/lib/terminal.js:48:24)
at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/alex/Desktop/Atom.app/Contents/Resources/app/src/command-registry.js:265:35)
at /Users/alex/Desktop/Atom.app/Contents/Resources/app/src/command-registry.js:3:65
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Users/alex/Desktop/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:610:22)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Users/alex/Desktop/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:401:28)
at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Users/alex/Desktop/Atom.app/Contents/Resources/app/src/window-event-handler.js:100:42)
at HTMLDocument.<anonymous> (/Users/alex/Desktop/Atom.app/Contents/Resources/app/src/window-event-handler.js:3:65)
-7:18 core:undo (input.hidden-input)
-7:16.3.0 core:redo (input.hidden-input)
2x -7:14.1.0 core:save (input.hidden-input)
-7:08.6.0 core:undo (input.hidden-input)
-7:06.7.0 core:redo (input.hidden-input)
6x -7:05.6.0 core:save (input.hidden-input)
-3:54.2.0 core:undo (input.hidden-input)
-3:52.5.0 core:redo (input.hidden-input)
-3:49.6.0 core:cut (input.hidden-input)
5x -3:48.6.0 core:backspace (input.hidden-input)
2x -3:45.8.0 core:move-down (input.hidden-input)
-3:43.9.0 emmet:insert-formatted-line-break-only (input.hidden-input)
-3:43.9.0 editor:newline (input.hidden-input)
-3:42.8.0 core:paste (input.hidden-input)
-3:41.8.0 core:save (input.hidden-input)
-0:02.5.0 terminal:copy (div.terminal.xterm.xterm-theme-default)
When attempting to paste...
cmd
+v
in the terminalUncaught TypeError: activeTerminalView.pasteFromClipboard is not a function
At /Users/alex/.atom/packages/atom-terminal-tab/lib/terminal.js:53
TypeError: activeTerminalView.pasteFromClipboard is not a function
at Object.handlePaste (/packages/atom-terminal-tab/lib/terminal.js:53:24)
at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/alex/Desktop/Atom.app/Contents/Resources/app/src/command-registry.js:265:35)
at /Users/alex/Desktop/Atom.app/Contents/Resources/app/src/command-registry.js:3:65
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Users/alex/Desktop/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:610:22)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Users/alex/Desktop/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:401:28)
at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Users/alex/Desktop/Atom.app/Contents/Resources/app/src/window-event-handler.js:100:42)
at HTMLDocument.<anonymous> (/Users/alex/Desktop/Atom.app/Contents/Resources/app/src/window-event-handler.js:3:65)
2x -8:34.8.0 core:save (input.hidden-input)
-8:29.3.0 core:undo (input.hidden-input)
-8:27.4.0 core:redo (input.hidden-input)
6x -8:26.2.0 core:save (input.hidden-input)
-5:14.9.0 core:undo (input.hidden-input)
-5:13.2.0 core:redo (input.hidden-input)
-5:10.3.0 core:cut (input.hidden-input)
5x -5:09.3.0 core:backspace (input.hidden-input)
2x -5:06.5.0 core:move-down (input.hidden-input)
-5:04.6.0 emmet:insert-formatted-line-break-only (input.hidden-input)
-5:04.6.0 editor:newline (input.hidden-input)
-5:03.5.0 core:paste (input.hidden-input)
-5:02.5.0 core:save (input.hidden-input)
-1:23.2.0 terminal:copy (div.terminal.xterm.xterm-theme-default)
-0:05.9.0 core:copy (input.hidden-input)
-0:04.0 terminal:paste (textarea.xterm-helper-textarea)
Thanks for the package! This could be the start of something compelling.
Are the following possible with the keyboard?
At the moment, I've made some hacky changes to my keyboard mapping to get some of the way there, but it's not pretty
Additionally, cmd-shift-t
is a already a heavily used keyboard shortcut - there are hundreds of other alternatives.
Tangentially related to: #18
I'm unable install it in my atom, every time I'm installing it it's giving the same error.
[email protected] install C:\Users\PRIYAR~1\AppData\Local\Temp\apm-install-dir-117726-16708-zbisyb.hgw5o5stt9\node_modules\atom-terminal-tab\node_modules\node-pty
node scripts/install.js
C:\Users\PRIYAR1\AppData\Local\Temp\apm-install-dir-117726-16708-zbisyb.hgw5o5stt9\node_modules\atom-terminal-tab\node_modules\node-pty>if not defined npm_config_node_gyp (node "C:\Users\Priya Ranjan Dubey\AppData\Local\atom\app-1.19.0\resources\app\apm\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\Priya Ranjan Dubey\AppData\Local\atom\app-1.19.0\resources\app\apm\bin\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )1\AppData\Local\Temp\apm-install-dir-117726-16708-zbisyb.hgw5o5stt9
C:\Users\PRIYAR
`-- (empty)
gyp ERR! configure error
gyp ERR! stack Error: Python executable "C:\Users\Priya Ranjan Dubey\AppData\Local\Programs\Python\Python36-32\python.EXE" is v3.6.1, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack at failPythonVersion (C:\Users\Priya Ranjan Dubey\AppData\Local\atom\app-1.19.0\resources\app\apm\node_modules\node-gyp\lib\configure.js:454:14)
gyp ERR! stack at C:\Users\Priya Ranjan Dubey\AppData\Local\atom\app-1.19.0\resources\app\apm\node_modules\node-gyp\lib\configure.js:443:9
gyp ERR! stack at ChildProcess.exithandler (child_process.js:197:7)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at maybeClose (internal/child_process.js:877:16)
gyp ERR! stack at Socket. (internal/child_process.js:334:11)
gyp ERR! stack at emitOne (events.js:96:13)
gyp ERR! stack at Socket.emit (events.js:188:7)
gyp ERR! stack at Pipe._handle.close [as _onclose] (net.js:498:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\Users\Priya Ranjan Dubey\AppData\Local\atom\app-1.19.0\resources\app\apm\bin\node.exe" "C:\Users\Priya Ranjan Dubey\AppData\Local\atom\app-1.19.0\resources\app\apm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\PRIYAR1\AppData\Local\Temp\apm-install-dir-117726-16708-zbisyb.hgw5o5stt9\node_modules\atom-terminal-tab\node_modules\node-pty1\AppData\Local\Temp\apm-install-dir-117726-16708-zbisyb.hgw5o5stt9\package.json'
gyp ERR! node -v v6.9.5
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\PRIYAR
npm WARN apm-install-dir-117726-16708-zbisyb.hgw5o5stt9 No description
npm WARN apm-install-dir-117726-16708-zbisyb.hgw5o5stt9 No repository field.
npm WARN apm-install-dir-117726-16708-zbisyb.hgw5o5stt9 No README data
npm WARN apm-install-dir-117726-16708-zbisyb.hgw5o5stt9 No license field.
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Users\Priya Ranjan Dubey\AppData\Local\atom\app-1.19.0\resources\app\apm\bin\node.exe" "C:\Users\Priya Ranjan Dubey\AppData\Local\atom\app-1.19.0\resources\app\apm\node_modules\npm\bin\npm-cli.js" "--globalconfig" "C:\Users\Priya Ranjan Dubey\.atom\.apm\.apmrc" "--userconfig" "C:\Users\Priya Ranjan Dubey\.atom\.apmrc" "install" "C:\Users\PRIYAR~1\AppData\Local\Temp\d-117726-16708-l98qv7.8ha1fnipb9\package.tgz" "--runtime=electron" "--target=1.6.9" "--arch=x64" "--global-style"
npm ERR! node v6.9.5
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: node scripts/install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node scripts/install.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-pty package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node scripts/install.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs node-pty
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls node-pty
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\PRIYAR~1\AppData\Local\Temp\apm-install-dir-117726-16708-zbisyb.hgw5o5stt9\npm-debug.log
npm ERR! code 1
The default key bindings:
atom-terminal-tab/keymaps/terminal.json
Lines 5 to 9 in 2796c77
do not work, and neither does this in the per-user keymap.cson
:
'terminal-view':
'ctrl-tab': 'pane:show-next-item'
'ctrl-shift-tab': 'pane:show-previous-item'
In all cases, when the key is pressed, nothing happens and the Atom Key Binding Resolver does not even register it. I assume the terminal library is intercepting these, but I haven't been able to figure out how to override it.
[Enter steps to reproduce:]
Atom: 1.17.0-beta3 x64
Electron: 1.3.14
OS: Mac OS X 10.12.4
Thrown From: atom-terminal-tab package 0.2.0
Uncaught TypeError: Cannot set property '0' of undefined
At /Users/kdnk/.atom/packages/atom-terminal-tab/node_modules/xterm/lib/InputHandler.js:54
TypeError: Cannot set property '0' of undefined
at InputHandler.addChar (/packages/atom-terminal-tab/node_modules/xterm/lib/InputHandler.js:54:61)
at Parser.parse (/packages/atom-terminal-tab/node_modules/xterm/lib/Parser.js:177:44)
at Terminal.innerWrite (/packages/atom-terminal-tab/node_modules/xterm/lib/xterm.js:809:21)
at /packages/atom-terminal-tab/node_modules/xterm/lib/xterm.js:794:18
6x -0:52.6.0 vim-mode-plus:move-up-screen (input.hidden-input)
-0:50.5.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-atom-panda-syntax.theme-one-dark-ui)
8x -0:46.9.0 vim-mode-plus:move-down-screen (input.hidden-input)
5x -0:46.3.0 vim-mode-plus:move-up-screen (input.hidden-input)
10x -0:45.9.0 vim-mode-plus:move-down-screen (input.hidden-input)
10x -0:45.3.0 vim-mode-plus:move-up-screen (input.hidden-input)
-0:43.8.0 vim-mode-plus:insert-below-with-newline (input.hidden-input)
-0:43.6.0 editor:newline (input.hidden-input)
-0:40.6.0 core:backspace (input.hidden-input)
-0:39.4.0 vim-mode-plus:activate-normal-mode (input.hidden-input)
4x -0:39.1.0 vim-mode-plus:delete (input.hidden-input)
-0:38.4.0 core:save (input.hidden-input)
-0:38.1.0 vim-mode-plus:move-up-screen (input.hidden-input)
-0:37.6.0 command-palette:toggle (input.hidden-input)
-0:35.1.0 core:confirm (input.hidden-input)
3x -0:35.1.0 terminal:open (input.hidden-input)
advanced-open-file 0.16.6
atom-fuzzy-grep 0.16.0
atom-material-ui 1.3.10
atom-panda-syntax 0.18.0
atom-terminal-tab 0.2.0
autoclose-html 0.23.0
autocomplete-modules 1.6.9
base16-ocean-dark-spacegray 0.13.0
busy-signal 1.4.1
chester-atom-syntax 0.1.1
climate-syntax 5.0.0
climate-ui 4.5.1
cobalt2-syntax 0.5.1
css-snippets 1.1.0
cursor-history 0.9.1
double-tag 0.8.0
emmet 2.4.3
file-icons 2.1.4
git-diff-details 1.4.0
git-plus 7.7.0
hey-pane 0.3.1
highlight-column 0.5.2
highlight-selected 0.13.1
intentions 1.1.2
language-babel 2.57.7
language-haml 0.24.1
linter 2.1.4
linter-eslint 8.1.6
linter-scss-lint 3.1.0
linter-ui-default 1.2.3
minimap 4.27.1
minimap-cursorline 0.2.0
minimap-find-and-replace 4.5.2
minimap-git-diff 4.3.1
minimap-highlight-selected 4.6.1
minimap-selection 4.4.0
open-this 0.4.0
pigments 0.39.1
project-manager 3.3.4
regex-railroad-diagram 0.17.0
seti-icons 1.4.3
seti-syntax 1.1.3
seti-ui 1.7.0
slime 2.1.0
solarized-dark-ui 0.3.2
sync-settings 0.8.1
tree-view-autoresize 1.6.0
tree-view-git-status 1.3.1
vim-mode-plus 0.91.0
vim-mode-plus-ex-mode 0.9.0
vim-mode-plus-keymaps-for-surround 0.2.1
vim-mode-plus-move-selected-text 0.10.0
zentabs 0.8.8
Why does Terminal Tab in Atom display as bash-3.2$
on my new MBP? Everywhere else, including in Terminal I see Bryans-MacBook-Pro:~ username$
. Am I missing something? It seems to work OK but wondering why it says that.
When running tasks on Windows I use the node.js command prompt
as it sets up a bunch of handy things and makes Windows CMD a little bit better when running commands.
I've inspected the launcher for it and it basically opens the default CMD prompt and chucks some custom stuff at it using a bat file. I can't get Terminal Tab to follow suit and it's probably due to the way I'm passing the args required.
I need to pass /k "C:\Program Files\nodejs\nodevars.bat"
but every iteration of different quotes and slashes always fails. I've not had a problem running anything but I think it would be handy to be able to do this (if you can't already) or document it (if you can).
Running the above I get:
'\"C:\Program Files\nodejs\nodevars.bat\"' is not recognised as an internal or external command, operable program or batch file.
Using single quotes /k 'C:\Program Files\nodejs\nodevars.bat'
I get:
The filename, directory, or volume label syntax is incorrect.
Current behaviour is using the bottom dock. I think many would not like it because of waste of horizontal space. It would be nice to have the ability to choose the splitting direction. Additionally, I notice built-in panes like project find result do remember their position so it'd be good to have that too.
Just checking if I should open a PR for this.
I've found it annoying that, if I close the tab before exiting a task, it keeps running in the background and I have to dig through task manager to stop it!
I guess this is a feature request?
No functions, aliases and environmental variables that are present in my .bashrc
are accessible from the terminal-tab
terminal.
It is working again when I put a space into Shell Application Arguments in the preferences of the package, what probably removes --login
parameter from the bash command.
I don't think it is intended behavior. People usually want their .bashrc
and .bash_profile
to be sourced in the same way across different terminals and by default.
As far as I know the --login
parameter should result in sourcing them, right? For some reason it doesn't. At least not on my system.
It was working fine something like week ago, when the package was at version 0.2.2
.
(Arch Linux)
Attempting to copy text from the terminal. ctrl+shfit+c
did not work. I then used the command pallet ctrl-shift-p
to access Terminal: Copy
ctrl-shift-p
and type copy
, select Terminal: Copy
Atom: 1.23.3 x64
Electron: 1.6.15
OS: Microsoft Windows 10 Enterprise
Thrown From: terminal-tab package 0.4.0
Uncaught TypeError: activeTerminalView.copySelection is not a function
At D:\wtf8yn\.atom\packages\terminal-tab\lib\terminal.js:96
TypeError: activeTerminalView.copySelection is not a function
at Object.handleCopy (/packages/terminal-tab/lib/terminal.js:96:24)
at CommandRegistry.handleCommandEvent (~/AppData/Local/atom/app-1.23.3/resources/app/src/command-registry.js:388:36)
at Object.didConfirmSelection (~/AppData/Local/atom/app-1.23.3/resources/app/node_modules/command-palette/lib/command-palette-view.js:143:35)
at SelectListView.confirmSelection (~/AppData/Local/atom/app-1.23.3/resources/app/node_modules/command-palette/node_modules/atom-select-list/src/select-list-view.js:327:26)
at HTMLDivElement.core:confirm (~/AppData/Local/atom/app-1.23.3/resources/app/node_modules/command-palette/node_modules/atom-select-list/src/select-list-view.js:84:20)
at CommandRegistry.handleCommandEvent (~/AppData/Local/atom/app-1.23.3/resources/app/src/command-registry.js:388:36)
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (~/AppData/Local/atom/app-1.23.3/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:621:22)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (~/AppData/Local/atom/app-1.23.3/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:412:28)
at WindowEventHandler.handleDocumentKeyEvent (~/AppData/Local/atom/app-1.23.3/resources/app/src/window-event-handler.js:108:40)
-4:49.1.0 core:save (input.hidden-input)
-4:25.2.0 intentions:highlight (input.hidden-input)
-4:25 core:copy (input.hidden-input)
-4:14.3.0 editor:select-to-end-of-line (input.hidden-input)
-4:13.9.0 core:delete (input.hidden-input)
-4:13.2.0 intentions:highlight (input.hidden-input)
-4:13.1.0 core:save (input.hidden-input)
37x -1:45.6.0 intentions:highlight (input.hidden-input)
-1:43.9.0 core:copy (input.hidden-input)
-0:58.3.0 intentions:highlight (input.hidden-input)
-0:57.8.0 editor:toggle-line-comments (input.hidden-input)
-0:57.6.0 core:save (input.hidden-input)
-0:20.2.0 editor:copy-path (textarea.xterm-helper-textarea)
-0:09.8.0 command-palette:toggle (textarea.xterm-helper-textarea)
-0:08.5.0 core:confirm (input.hidden-input)
-0:08.5.0 terminal:copy (textarea.xterm-helper-textarea)
atom-beautify 0.30.9
atom-clock 0.1.16
atom-ternjs 0.18.3
auto-update-plus 0.5.6
autoclose-html 0.23.0
autocomplete-modules 1.10.0
autocomplete-paths 2.12.2
browser-plus 0.0.98
busy-signal 1.4.3
copy-with-style 1.1.0
copy-with-syntax 0.0.3
docblockr 0.13.6
editorconfig 2.2.2
eslint-fixer 1.3.0
file-icons 2.1.16
git-control 0.9.0
git-diff-details 1.4.0
git-log 0.4.1
git-time-machine 1.5.9
highlight-selected 0.13.1
hyperclick 0.1.5
intentions 1.1.5
isotope-ui 2.8.5
js-hyperclick 1.12.2
language-batch 0.4.0
language-docker 1.1.8
language-groovy 0.7.0
language-vue 0.23.1
language-yaml-cloudformation 0.3.1
lint-sass-vue 1.0.5
linter 2.2.0
linter-csslint 2.0.0
linter-docker 0.3.0
linter-eslint 8.4.0
linter-flow 5.6.1
linter-htmlhint 1.4.0
linter-js-cloudformation-yaml 2.2.1
linter-js-yaml 1.2.8
linter-just-say-no 0.7.3
linter-proselint 3.3.0
linter-sass-lint 1.8.3
linter-tslint 1.9.0
linter-ui-default 1.6.10
linter-write-good 0.9.0
minimap 4.29.7
minimap-bookmarks 0.4.2
minimap-cursorline 0.2.0
minimap-git-diff 4.3.1
minimap-highlight-selected 4.6.1
minimap-linter 2.1.3
minimap-pigments 0.2.2
pigments 0.40.2
platformio-ide-terminal 2.8.0
prettier-atom 0.48.0
pristine-ui 1.1.11
regex-railroad-diagram 0.19.4
seti-syntax 1.1.3
seti-ui 1.9.0
sort-lines 0.18.0
teletype 0.6.0
terminal-tab 0.4.0
tester 1.4.0
tester-jest 1.1.8
theme-switcher 1.1.0
toggle-quotes 1.1.0
tree-view-git-status 1.4.0
vuejs2-snippets 0.15.0
wakatime 7.0.4
It would be helpful to create some configurable package options and overrides like so...
{
// `BEAM` for |, `UNDERLINE` for _, `BLOCK` for █
cursorShape: 'BEAM',
blinkCursor: true||false,
useAtomSettings: true||false,
fontSize: 14,
useSyntaxTheme: true|false,
// IF useSyntaxTheme IS FALSE THEN USE BELOW OVERRIDE OPTIONS...
// terminal cursor background color
cursorColor: '#1BA3EA',
// color of the text
foregroundColor: '#ffffff',
// terminal background color
backgroundColor: '#171717',
colors: {
black: '#000000',
red: '#e06c75',
green: '#A3F674',
yellow: '#FFC235',
blue: '#1EBBFF',
magenta: '#FF5BA9',
cyan: '#A78EFF',
white: '#d0d0d0',
lightBlack: '#808080',
lightRed: '#e06c75',
lightGreen: '#A3F674',
lightYellow: '#FFC235',
lightBlue: '#82DDFF',
lightMagenta: '#FF5BA9',
lightCyan: '#A78EFF',
lightWhite: '#ffffff'
}
}
For some reason environment variables are not being set when using packages like zoo
or dotenv-cli
.
They work fine in the Mac Terminal and platformio-atom-ide-terminal
.
I have a custom .bash_profile file that displays my current directory. Utilizing the user's .bash_profile file in the home directory would help a lot.
The easiest way to reproduce this is to install midnight commander and try to run it inside Atom.
A quick fix for me was to add this to terminal.less
:
terminal-view {
.xterm {
.xterm-rows > div {
height: 17px; /* needs to be font-size + 2px + padding-bottom of the span */
font-size: 12px;
& > span {
padding-bottom: 3px;
}
}
}
}
But it doesn't look like a proper fix.
A more consistent look with the current Atom syntax theme would keep things more appealing not to mention color differentiation would help as well.
It doesn't look like Atom's view registry works well with the v1 spec for custom elements. We're stuck using the deprecated v0 specification for now. I'd like to investigate this further to see if it's something we can do and/or add support for in Atom.
When you click on tab title of a terminal when that tab is already the active tab, the terminal (Xterm instance) is not focused automatically. It is, however, focused correctly when switching between terminal tabs.
Before themed terminals, this rule would style terminal as expected:
terminal-view {
.terminal {
font-family: "Hack", monospace;
font-size: 12px;
}
}
After themed terminal was released, One must add !important
to the rule in order for it to override the theme styles added to element.style
Would be great if there is an action for reusing opening terminal (think visor that works with atom in fullscreen in macOS). Just checking if I should open a pull request on it.
It seems that for now the working directory is set to the first project folder.
It would be smarter to use the currently selected project folder instead.
[Enter steps to reproduce:]
Atom: 1.23.3 x64
Electron: 1.6.15
OS: Linux Mint
Thrown From: terminal-tab package 0.4.0
Uncaught TypeError: Cannot read property 'length' of undefined
At /[PRIVATE]/.atom/packages/terminal-tab/node_modules/xterm/lib/utils/BufferLine.js:11
TypeError: Cannot read property 'length' of undefined
at Object.translateBufferLineToString (/packages/terminal-tab/node_modules/xterm/lib/utils/BufferLine.js:11:29)
at /packages/terminal-tab/node_modules/xterm/lib/SelectionManager.js:96:38)
at SelectionManager.refresh (/packages/terminal-tab/node_modules/xterm/lib/SelectionManager.js:136:37)
at SelectionManager._onMouseDown (/packages/terminal-tab/node_modules/xterm/lib/SelectionManager.js:211:14)
at /packages/terminal-tab/node_modules/xterm/lib/SelectionManager.js:51:90)
2x -8:39 core:select-left (input.hidden-input)
-8:38.4.0 core:backspace (input.hidden-input)
-8:37.8.0 editor:move-to-end-of-screen-line (input.hidden-input)
-8:36.2.0 core:save (input.hidden-input)
-1:17.6.0 core:copy (input.hidden-input)
-1:17.1.0 core:paste (input.hidden-input)
4x -1:12.7.0 core:move-right (input.hidden-input)
6x -1:11.8.0 core:delete (input.hidden-input)
-0:48.1.0 core:move-up (input.hidden-input)
-0:47.9.0 editor:move-to-end-of-screen-line (input.hidden-input)
8x -0:47.6.0 core:move-left (input.hidden-input)
3x -0:46.2.0 core:select-down (input.hidden-input)
-0:45.5.0 core:select-up (input.hidden-input)
2x -0:45.3.0 core:select-left (input.hidden-input)
-0:44.7.0 core:backspace (input.hidden-input)
-0:43.3.0 core:save (input.hidden-input)
ftp-remote-edit 0.12.9
terminal-tab 0.4.0
I am using non-standard font size, which you can reproduce by pressing Ctrl+0, then Ctrl+-.
If there is no terminals open, after opening the first terminal the font size doesn't match the font-size of the editor:
Just after restarting atom, the font size changes, now it matches the font size of the editor:
There is one more strange behavior related to this. After running without terminals, the first has big font, the second tab also, but when I switch back to the first one it 1) gets proper font size 2) doesn't cover full area:
(Arch Linux)
Hi,
can you please build in a function to run some scripts on start of the terminal?
I have my own styles saved in .bash_profile.
Thanks.
I've got alt-shift-arrow
hotkeys set up on atom-workspace
for moving between panes, but terminal-tab
is swallowing the input when focused.
Would be great if it was possible for these hotkeys, along a few others, like Ctrl-\ for Tree View, to reach the Atom workspace.
When selecting multiple lines of text, there are many space characters before end of lines.
Atom has a keybinding already on cmd+shift+t
for reopen last item, but this package overrides that as it is a more specific selector (well, loaded after, so more specific by default I presume) and the 'settings' doesn't have a way to turn off the keybindings like it does for other packages.
Any chance of changing the keybinding or allowing users to reassign/turn off?
I've never been a big fan of the name atom-terminal-tab
. Just that all the good names seemed to have been taken. Considering this add-on is intended to be used as a pane, would it make sense to rename to atom-terminal-pane
?
My only concern there (and also with tab
) is that it wouldn't make sense to implement a panel mode with that name. However, I'm not sure I'd ever be interested in making it support panels anyways. The point is to keep this project as simple as possible with reasonable defaults.
Discuss.
Now with 0.3.3 something broke again. Now getting bash-3.2$
on my MBP
I get the following error when attempting to activate.
Failed to require the main module of 'atom-terminal-tab' because it requires one or more incompatible native modules (node-pty).
Run `apm rebuild` in the package directory and restart Atom to resolve.
Running apm rebuild
and restarting Atom does not seem to do anything.
This is most likely a styling issue, but it looks odd
On a different topic, there is an error in the Developer Tools console saying:
You did not pass the `focus` argument in `Terminal.prototype.open()`.
The `focus` argument now defaults to `true` but starting with xterm.js 3.0 it will default to `false`.
And some other issue that has to do with docks losing focus when they are clicked (but that is Atom's fault I would guess)
System: Windows 10 64bits Atom 1.18 beta 0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.