bigfive / atom-sublime-select Goto Github PK
View Code? Open in Web Editor NEWEnable 'sublime style' multiline selection boxes to Atom editor http://atom.io
License: MIT License
Enable 'sublime style' multiline selection boxes to Atom editor http://atom.io
License: MIT License
WIth the package enabled, normal selection (without any key presses/combos) is buggy, sometimes working as usual and sometimes highlighting random columns.
I know it's not part of the ST selection but having a way to toggle from block to normal selection when pressing alt
(or a configurable key) would be just awesome :)
[Enter steps to reproduce below:]
Atom Version: 0.207.0
System: Mac OS X 10.10.3
Thrown From: Sublime-Style-Column-Selection package, v1.3.0
Uncaught TypeError: Cannot read property 'matchesParams' of undefined
At /Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/marker-store.js:134
TypeError: Cannot read property 'matchesParams' of undefined
at /Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/marker-store.js:134:21
at Set.forEach (native)
at MarkerStore.module.exports.MarkerStore.findMarkers (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/marker-store.js:130:17)
at TextBuffer.module.exports.TextBuffer.findMarkers (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:686:31)
at DisplayBuffer.module.exports.DisplayBuffer.findFoldMarkers (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:1416:26)
at DisplayBuffer.module.exports.DisplayBuffer.foldsContainingBufferRow (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:882:20)
at DisplayBuffer.module.exports.DisplayBuffer.unfoldBufferRow (/Applications/Atom.app/Contents/Resources/app.asar/src/display-buffer.js:828:20)
at TextEditor.module.exports.TextEditor.unfoldBufferRow (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:2408:33)
at TextEditor.module.exports.TextEditor.destroyFoldsContainingBufferRange (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:2484:12)
at Selection.module.exports.Selection.setBufferRange (/Applications/Atom.app/Contents/Resources/app.asar/src/selection.js:108:21)
at Selection.module.exports.Selection.setScreenRange (/Applications/Atom.app/Contents/Resources/app.asar/src/selection.js:92:19)
at /Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:1697:29
at TextEditor.module.exports.TextEditor.mergeSelections (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:1973:43)
at TextEditor.module.exports.TextEditor.mergeIntersectingSelections (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:1947:35)
at TextEditor.module.exports.TextEditor.setSelectedScreenRanges (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:1690:19)
at _selectBoxAroundCursors (/Users/stevencombs/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:127:18)
at onRangeChange (/Users/stevencombs/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:80:9)
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
at TextEditor.module.exports.TextEditor.selectionRangeChanged (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:2065:27)
at Selection.module.exports.Selection.screenRangeChanged (/Applications/Atom.app/Contents/Resources/app.asar/src/selection.js:877:26)
at /Applications/Atom.app/Contents/Resources/app.asar/src/selection.js:43:24
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
at Marker.module.exports.Marker.notifyObservers (/Applications/Atom.app/Contents/Resources/app.asar/src/marker.js:270:27)
at /Applications/Atom.app/Contents/Resources/app.asar/src/marker.js:65:26
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
at Marker.module.exports.Marker.emitChangeEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/marker.js:390:20)
at Marker.module.exports.Marker.update (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/marker.js:339:12)
at MarkerStore.module.exports.MarkerStore.restoreFromSnapshot (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/marker-store.js:204:20)
at TextBuffer.module.exports.TextBuffer.revertToCheckpoint (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:775:26)
at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:739:14)
at TextEditor.module.exports.TextEditor.transact (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:1147:26)
at atom-text-editor.newCommandListeners.(anonymous function) (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-element.js:306:22)
at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:238:29)
at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:520:16)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:355:22)
at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:177:20)
-0:24.3.0 core:cut (atom-text-editor.editor.is-focused)
2x -0:23.6.0 core:backspace (atom-text-editor.editor.is-focused)
4x -0:21.5.0 core:move-up (atom-text-editor.editor.is-focused)
2x -0:19.9.0 editor:newline (atom-text-editor.editor.is-focused)
-0:19.3.0 core:move-up (atom-text-editor.editor.is-focused)
-0:18.3.0 core:paste (atom-text-editor.editor.is-focused)
-0:01.6.0 core:copy (atom-text-editor.editor.is-focused)
{
"core": {
"disabledPackages": [
"tidy-markdown"
],
"themes": [
"dark-flat-ui",
"atom-dark-syntax"
]
}
}
# User
Sublime-Style-Column-Selection, v1.3.0
autoclose-html, v0.17.1
color-picker, v2.0.4
dark-flat-ui, v1.1.4
language-arduino, v0.2.1
linter, v0.12.6
markdown-scroll-sync, v0.4.0
markdown-table-formatter, v2.5.2
minimap, v4.9.4
sync-settings, v0.2.2
webbox-color, v0.5.7
wordcount, v2.2.2
# Dev
No dev packages
When you hold alt and move your mouse cursor to another position where your (blinking) text cursor in the editor is at that point and you perform a click, your text cursor is reset to your mouse coordinates. At least, that's the behaviour that sublime shows me.
The thing is, in atom.io the click event somehow seems to be canceled and the selection will still start at the position of your (blinking) text cursor.
I'd like to see that the mouseStart won't be using the editor.getCursor().getBufferPosition(),
but the mouse's cursor position.
Now I've been reading the API for an hour or two yesterday, but so far I've been unsuccesful in translating the [e.screenX, e.screenY] to a buffer position.
I've came across things like ::pixelPositionForBufferPosition(position), but there's no such thing as a ::bufferPositionForPixelPosition(position).
Is there something I'm missing? And is it wise to follow the exact same way of selecting text as it is done in Sublime, given the fact that the name of this package is atom-sublime-select?
Kind regards,
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:806:9)
Package.hasActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:731:20)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:185:24)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:163:15)
Package.load (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:177:12)
PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:355:14)
It just isn't working at all. Can't get the block selection to trigger.
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (/Users/ruan/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:806:9)
Package.hasActivationCommands (/Users/ruan/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:731:20)
<unknown> (/Users/ruan/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:185:24)
Package.measure (/Users/ruan/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:163:15)
Package.load (/Users/ruan/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:177:12)
PackageManager.loadPackage (/Users/ruan/Downloads/Atom.app/Contents/Resources/app.asar/src/package-manager.js:355:14)
[Enter steps to reproduce below:]
alt
Atom Version: 0.184.0
System: Mac OS X 10.10.2
Thrown From: Sublime-Style-Column-Selection package, v1.2.3
Uncaught TypeError: Cannot read property 'pixelPositionForMouseEvent' of null
At /Users/haardt/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:76
TypeError: Cannot read property 'pixelPositionForMouseEvent' of null
at /Users/haardt/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:76:41
at atom-text-editor.<anonymous> (/Users/haardt/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:49:23)
-3:04.4 core:move-up (atom-text-editor.editor.is-focused)
-3:03.9 core:move-down (atom-text-editor.editor.is-focused)
-1:24.0 editor:newline (atom-text-editor.editor.is-focused)
-1:18.9 core:copy (atom-text-editor.editor)
-1:15.5 core:paste (atom-text-editor.editor.is-focused)
26x -1:13.7 core:select-up (atom-text-editor.editor.is-focused)
-1:10.5 snippets:previous-tab-stop (atom-text-editor.editor.is-focused)
-1:10.5 editor:outdent-selected-rows (atom-text-editor.editor.is-focused)
-1:09.7 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
-1:09.7 snippets:expand (atom-text-editor.editor.is-focused)
-1:09.7 editor:indent (atom-text-editor.editor.is-focused)
-1:09.3 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
-1:09.2 snippets:expand (atom-text-editor.editor.is-focused)
-1:09.2 editor:indent (atom-text-editor.editor.is-focused)
-1:08.3 core:move-left (atom-text-editor.editor.is-focused)
-0:41.1 settings-view:open (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-iplastic-syntax.theme-atom-light-ui)
{
"core": {
"disabledPackages": [
"markdown-stream",
"linter-write-good"
],
"themes": [
"atom-light-ui",
"iplastic-syntax"
]
}
}
# User
Sublime-Style-Column-Selection, v1.2.3
atom-beautify, v0.21.3
command-logger, v0.22.0
css-color-highlight, v0.3.0
dash, v1.0.2
esformatter, v1.3.0
file-icons, v1.4.11
git-log, v0.3.0
git-plus, v4.4.8
git-tab-status, v1.5.3
highlight-column, v0.3.2
highlight-line, v0.9.3
iplastic-syntax, v0.4.1
javascript-snippets, v1.0.0
jslint, v1.2.0
language-apache, v1.2.0
language-clojure, v0.13.0
language-docker, v1.1.2
language-generic-config, v0.1.3
language-ini, v1.7.0
language-latex, v0.4.1
language-log, v0.2.0
language-salt, v0.2.0
line-ending-converter, v1.0.0
linter, v0.12.0
linter-clojure, v0.0.4
linter-htmlhint, v0.0.8
linter-js-yaml, v1.0.0
linter-jscs, v1.7.0
linter-jshint, v0.1.0
linter-pep8, v0.1.0
linter-php, v0.0.11
linter-pyflakes, v0.0.4
linter-scss-lint, v0.0.14
log-console, v0.1.2
minimap, v4.3.1
open-last-project, v0.3.4
remote-edit, v1.6.4
space-tab, v0.1.0
ssh-config, v0.10.0
syntax-settings, v0.7.1
travis-ci-status, v0.11.2
# Dev
No dev packages
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:806:9)
Package.hasActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:731:20)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:185:24)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:163:15)
Package.load (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:177:12)
PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:355:14)
Hi this is a very nice extension, but I noticed that when soft wrapping is activated, the column selection will select sub lines.
I would appreciate if it would not or if there was a toggle to have both mode.
Thanks
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:790:9)
Package.hasActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:715:20)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:169:24)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:147:15)
[Enter steps to reproduce below:]
Atom Version: 0.172.0
System: Mac OS X 10.10.1
Thrown From: Sublime-Style-Column-Selection package, v1.2.2
Uncaught TypeError: Cannot read property 'getDOMNode' of undefined
At /Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1290
TypeError: Cannot read property 'getDOMNode' of undefined
at [object Object].module.exports.React.createClass.pixelPositionForMouseEvent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1290:40)
at [object Object].boundMethod [as pixelPositionForMouseEvent] (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1295:21)
at /Users/armin/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:72:42
at atom-text-editor.<anonymous> (/Users/armin/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:45:23)
6x -1:10.3 core:move-right (atom-text-editor.editor.is-focused)
-1:09.0 docblockr:parse-enter (atom-text-editor.editor.is-focused)
-1:09.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
-1:09.0 editor:newline (atom-text-editor.editor.is-focused)
-1:03.0 editor:duplicate-lines (atom-text-editor.editor.is-focused)
-0:55.5 core:backspace (atom-text-editor.editor.is-focused)
-0:43.8 core:copy (atom-text-editor.editor.is-focused)
2x -0:42.1 core:paste (atom-text-editor.editor.is-focused)
2x -0:35.9 core:backspace (atom-text-editor.editor.is-focused)
-0:30.7 core:copy (atom-text-editor.editor.is-focused)
-0:29.3 core:paste (atom-text-editor.editor.is-focused)
-0:23.6 core:backspace (atom-text-editor.editor.is-focused)
-0:23.4 docblockr:parse-enter (atom-text-editor.editor.is-focused)
-0:23.4 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
-0:23.4 editor:newline (atom-text-editor.editor.is-focused)
-0:00.0 core:paste (atom-text-editor.editor.is-focused)
{
"core": {
"disabledPackages": [
"autocomplete-paths"
],
"themes": [
"atom-dark-ui",
"atom-light-syntax"
]
}
}
# User
Sublime-Style-Column-Selection, v1.2.2
autocomplete-plus, v1.1.0
color-picker, v1.2.6
docblockr, v0.5.8
emmet, v2.3.2
file-icons, v1.4.6
fonts, v0.3.2
linter, v0.10.0
linter-jshint, v0.1.0
minimap, v3.5.5
minimap-git-diff, v3.1.0
pretty-json, v0.3.1
# Dev
No dev packages
/cc @atom/core
Atom will no longer load this package after June 1st without changes. There is only one change required on the latest version of this package:
All you need to do is merge #50 and publish a new version.
Visit https://gist.github.com/benogle/6d09e295c84b717ef9b4 and search for your package name to see up-to-date deprecations.
See atom/atom#6867 for more info. Thanks!
In Sublime Text you can paste every copied line separately in other document, if the same amount of lines selected there. For example, if i copy 8 lines of code and paste it in document with 8 active cursors, every line will be pasted individually. It would be awesome, if you implemented such behavior in this package.
I get the following error when I try to update to 1.1.3
npm http GET https://registry.npmjs.org/emissary
npm http 304 https://registry.npmjs.org/emissary
npm http GET https://registry.npmjs.org/underscore-plus
npm http GET https://registry.npmjs.org/mixto
npm http GET https://registry.npmjs.org/property-accessors
npm http 304 https://registry.npmjs.org/mixto
npm http 304 https://registry.npmjs.org/underscore-plus
npm http 304 https://registry.npmjs.org/property-accessors
npm WARN git config --get remote.origin.url
returned wrong result (https://github.com/Benvie/harmony-collections.git) Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
npm ERR! git clone https://github.com/Benvie/harmony-collections.git Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
npm ERR! Error: Command failed:
npm ERR!
npm ERR! Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
npm ERR!
npm ERR!
npm ERR!
npm ERR! at ChildProcess.exithandler (child_process.js:648:15)
npm ERR! at ChildProcess.emit (events.js:98:17)
npm ERR! at maybeClose (child_process.js:756:16)
npm ERR! at Socket. (child_process.js:969:11)
npm ERR! at Socket.emit (events.js:95:17)
npm ERR! at Pipe.close (net.js:465:12)
npm ERR! If you need help, you may report this entire log,
npm ERR! including the npm and node versions, at:
npm ERR! http://github.com/npm/npm/issues
npm ERR! System Darwin 13.4.0
npm ERR! command "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/atom-package-manager/bin/node" "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/atom-package-manager/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/atom-package-manager/.apmrc" "--userconfig" "/Users/Nathan/.atom/.apmrc" "install" "/Users/Nathan/.atom/.node-gyp/.atom/.apm/Sublime-Style-Column-Selection/1.1.3/package.tgz" "--target=0.16.0" "--arch=x64"
npm ERR! cwd /private/var/folders/p3/swvxfhnn6m32c7gspfyn2tv40000gn/T/apm-install-dir-11492-91275-a0blli
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.4
npm ERR! code 69
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /private/var/folders/p3/swvxfhnn6m32c7gspfyn2tv40000gn/T/apm-install-dir-11492-91275-a0blli/npm-debug.log
npm ERR! not ok code 0
After installing the package I receive the following message:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Called 1 time
Package.getActivationCommands - C:\Users\XXXXX\AppData\Local\atom\app-0.190.0\resources\app\src\package.js:764:9
Package.hasActivationCommands - C:\Users\XXXXX\AppData\Local\atom\app-0.190.0\resources\app\src\package.js:689:20
I'm having an intermittent but frequent problem. When I finish using column mode the selection sticks in column mode and I can't do normal selection. It acts as if the alt-key is stuck down. The only thing that fixes it is to select again with the alt key down although this takes several tries at times.
I saw the thread here about the mouse leaving the window but this problem happens when the cursor doesn't leave the middle of the window.
I'm on windows 8.0 and atom 119. This has happened since I started with atom a few weeks ago at version 116.
Since v0.119.0 of Atom, the following is possible:
You can now delete a bracket and its matching pair at the same time using
ctrl-backspace
on Mac andalt-ctrl-backspace
on Linux and Windows.
It would be nice to be able to do the same while editing columns.
Uncaught Error: Passed an empty array to setSelectedBufferRanges
Atom Version: 0.156.0
System: Mac OS X 10.10.1
Thrown From: SublimeSelect package, v0.4.2
At /Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1713
Error: Passed an empty array to setSelectedBufferRanges
at TextEditor.module.exports.TextEditor.setSelectedBufferRanges (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1713:15)
at /Users/jan/.atom/packages/SublimeSelect/lib/sublime-select.coffee:65:14
at atom-text-editor.<anonymous> (/Users/jan/.atom/packages/SublimeSelect/lib/sublime-select.coffee:43:9)
at atom-text-editor.handler (/Applications/Atom.app/Contents/Resources/app/src/space-pen-extensions.js:112:34)
at atom-text-editor.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4681:9)
at atom-text-editor.elemData.handle (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4359:46)
/cc @atom/core
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (C:\Users\wes\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package.js:806:9)
Package.hasActivationCommands (C:\Users\wes\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package.js:731:20)
<unknown> (C:\Users\wes\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package.js:185:24)
Package.measure (C:\Users\wes\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package.js:163:15)
Package.load (C:\Users\wes\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package.js:177:12)
PackageManager.loadPackage (C:\Users\wes\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package-manager.js:355:14)
This is how you can reproduce the bug :
Atom Version: 0.175.0
System: Mac OS X 10.10.1
Thrown From: Sublime-Style-Column-Selection package, v1.2.2
Uncaught TypeError: Cannot read property 'getDOMNode' of undefined
At /Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1290
TypeError: Cannot read property 'getDOMNode' of undefined
at [object Object].module.exports.React.createClass.pixelPositionForMouseEvent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1290:40)
at [object Object].boundMethod [as pixelPositionForMouseEvent] (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1295:21)
at /Users/vincent/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:72:42
at atom-text-editor.<anonymous> (/Users/vincent/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:45:23)
-0:00.0 pane:split-right (atom-text-editor.editor)
{
"core": {
"themes": [
"atom-dark-ui",
"atom-dark-syntax"
]
}
}
# User
Sublime-Style-Column-Selection, v1.2.2
# Dev
No dev packages
/cc @atom/core
I'm having an issue with seti-syntax and atom-sublime-select. When doing a vertical selection of text or individual multi-line selections, the selection is inserted to the right of the cursor.
The gif explains it pretty well.
I'm posting this on seti-syntax's issues as well.
[Enter steps to reproduce below:]
Atom Version: 0.210.0
System: Mac OS X 10.10.3
Thrown From: Sublime-Style-Column-Selection package, v1.3.0
Failed to activate the Sublime-Style-Column-Selection package
At Cannot read property 'eachEditorView' of undefined
TypeError: Cannot read property 'eachEditorView' of undefined
at Object.module.exports.activate (/Users/spardy/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:3:12)
at Package.module.exports.Package.activateNow (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:240:19)
at /Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:221:30
at Package.module.exports.Package.measure (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:165:15)
at Package.module.exports.Package.activate (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:213:14)
at PackageManager.module.exports.PackageManager.activatePackage (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/package-manager.js:452:21)
at /Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/package-manager.js:313:19
at /Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/config.js:574:20
at Emitter.module.exports.Emitter.emit (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
at Config.module.exports.Config.emitChangeEvent (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/config.js:736:29)
at Config.module.exports.Config.setRawValue (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/config.js:551:19)
at Config.module.exports.Config.set (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/config.js:233:14)
at Config.module.exports.Config.removeAtKeyPath (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/config.js:343:12)
at Package.module.exports.Package.enable (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:150:26)
at PackageManager.module.exports.PackageManager.enablePackage (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/src/package-manager.js:142:14)
at HTMLButtonElement.<anonymous> (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/settings-view/lib/package-card.js:310:27)
at HTMLButtonElement.jQuery.event.dispatch (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4435:9)
at HTMLButtonElement.elemData.handle (/Users/spardy/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4121:28)
-3:39.6.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.theme-atom-dark-syntax.theme-atom-dark-ui)
-3:05.9.0 deprecation-cop:view (atom-workspace.workspace.scrollbars-visible-always.theme-atom-dark-syntax.theme-atom-dark-ui)
-2:13.5.0 application:open (ul.list-inline.tab-bar.inset-panel)
-1:34.8.0 deprecation-cop:view (atom-workspace.workspace.scrollbars-visible-always.theme-atom-dark-syntax.theme-atom-dark-ui)
-0:55.3.0 application:open (atom-text-editor.editor.is-focused)
-0:24.2.0 command-palette:toggle (ul.list-inline.tab-bar.inset-panel)
-0:20.3.0 core:backspace (atom-text-editor.editor.mini.is-focused)
3x -0:18.7.0 core:move-down (atom-text-editor.editor.mini.is-focused)
-0:16.6.0 core:move-up (atom-text-editor.editor.mini.is-focused)
2x -0:15.1.0 core:move-down (atom-text-editor.editor.mini.is-focused)
-0:13.6.0 core:confirm (atom-text-editor.editor.mini.is-focused)
-0:13.6.0 settings-view:view-installed-packages (ul.list-inline.tab-bar.inset-panel)
{
"core": {
"themes": [
"atom-dark-ui",
"atom-dark-syntax"
]
}
}
# User
Sublime-Style-Column-Selection, v1.3.0
# Dev
No dev packages
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:790:9)
Package.hasActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:715:20)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:169:24)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:147:15)
In some other editors, this feature also works by holding alt while holding shift and using the arrow keys to select. I'd love to see this feature as I use it a lot for quick multi-line edits.
Hi there,
I quite frequently use Alt + tab to switch between windows. Unfortunately, when I do this from Atom with the sublime-select package installed, when I Alt + tab back again, column select mode is permanently on! (Okay, so you can escape by pressing Alt again...)
I'm assuming this is because you're waiting for the keyup event, but that event never triggers as Atom has lost focus by that point.
Thanks for a neat little tool though - really appreciate you making it.
Should/could this package be renamed to "block select" or "column selection"? That is what BBEdit calls it, though TextMate calls it Multiple Carets [^1] so maybe this wouldn't be as suitable a descriptor as I thought.
Sublime Text calls it "Column Selection" [^2] and that seems like it's closer from a user interface perspective with what you are looking to do with this plugin? Personally I think TextMate's method of doing it with multiple different insertion points based on line length and content is amazing and I'd (personally) rather see that.
Explanation: I but don't want to discount the importance of a sublime-like column selector, but it just took me multiple searches to come across this with the nomenclature I'm accustomed to.
When using the multiple selection mouse dragging, if you drag underneath the bottom-most line, all selections will extend horizontally to the right, to the end of each line. In sublime, the width of the selection will remain dependent on the horizontal position of the mouse, even when the cursor is past the last line, and will not automatically extend to the end of the line.
Not sure if this is a bug from your perspective or not, but it does differ from how sublime acts currently. Not a huge deal, either. I can provide gifs or video, if this description isn't enough.
I tried installing this utility twice but ran into the following errors.
first run:
Installing “[email protected]” failed.Hide output…
Unable to download https://www.atom.io/api/packages/sublime-style-column-selection/versions/1.1.3/tarball: 503
Searching for “sublime” failed.Hide output…
second run:
Searching packages failed: <!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">
html, body, iframe { margin: 0; padding: 0; height: 100%; }
iframe { display: block; width: 100%; border: none; }
</style>
<title>Application Error</title>
</head>
<body>
<iframe src="//s3.amazonaws.com/heroku_pages/error.html">
<p>Application Error</p>
</iframe>
</body>
</html>
Get this error when installing. I have installed other packages just fine (this was my first attempted package so originally thought it was an Atom issue). Seems to have a dependency on git?
npm http GET https://registry.npmjs.org/emissary
npm http 200 https://registry.npmjs.org/emissary
npm http GET https://registry.npmjs.org/emissary/-/emissary-1.2.1.tgz
npm http 200 https://registry.npmjs.org/emissary/-/emissary-1.2.1.tgz
npm http GET https://registry.npmjs.org/underscore-plus
npm http GET https://registry.npmjs.org/mixto
npm http GET https://registry.npmjs.org/property-accessors
npm ERR! not found: git
npm ERR!
npm ERR! Failed using git.
npm ERR! This is most likely not a problem with npm itself.
npm ERR! Please check if you have git installed and in your PATH.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "c:\\ProgramData\\chocolatey\\lib\\Atom.0.115.0\\tools\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\bin\\\\node.exe" "c:\\ProgramData\\chocolatey\\lib\\Atom.0.115.0\\tools\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "c:\\ProgramData\\chocolatey\\lib\\Atom.0.115.0\\tools\\Atom\\resources\\app\\apm\\node_modules\\atom-package-manager\\.apmrc" "--userconfig" "C:\\Users\\Portman\\.atom\\.apmrc" "install" "C:\\Users\\Portman\\AppData\\Local\\Temp\\d-114611-5196-1g2odpj\\package.tgz" "--target=0.11.10" "--arch=ia32" "--msvs_version=2013"
npm ERR! cwd C:\Users\Portman\AppData\Local\Temp\apm-install-dir-114611-5196-1y0oicy
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.4
npm ERR! code ENOGIT
npm http 200 https://registry.npmjs.org/property-accessors
npm http 200 https://registry.npmjs.org/underscore-plus
npm http GET https://registry.npmjs.org/property-accessors/-/property-accessors-1.1.0.tgz
npm http 200 https://registry.npmjs.org/mixto
npm http GET https://registry.npmjs.org/underscore-plus/-/underscore-plus-1.5.0.tgz
npm http GET https://registry.npmjs.org/mixto/-/mixto-1.0.0.tgz
npm http 200 https://registry.npmjs.org/mixto/-/mixto-1.0.0.tgz
npm http 200 https://registry.npmjs.org/underscore-plus/-/underscore-plus-1.5.0.tgz
npm http 200 https://registry.npmjs.org/property-accessors/-/property-accessors-1.1.0.tgz
npm
While testing the fix to #7, I noticed that, if I attempt to scroll the buffer while block selecting (via dragging the cursor to the bottom of the editor or top of the editor), the scroll is prevented from occurring, and the block selection freezes.
In Sublime, the scroll happens and the block selection continues.
If you have a text like this:
1234546
1234546
1234546
1234546
1234546
1234546
1234546
1234546
1234546
Vertical selection works perfect on first 6 lines but fails in last 3 lines that starts with "tab" (hard tab).
Not sure what info to give here, but its not working for me. I'm using Atom on Mavericks 10.9.2, when I try to hold down alt and drag the cursor, selection works the same as before I installed. I also tried restarting Atom. Let me know if there is a way for me to debug, thanks!
I have no idea why, but it's not working for me (WIndows 8.1 64bit)
I've tried with the "deprecated version" (https://atom.io/packages/SublimeSelect) and it works perfectly fine.
On OSX 10.8.5 Atom 0.123.0 when using cmd+option+f (which brings up find/replace w/ cursor in the replace box) block select is enabled, and does not disable again unless the find-and-replace box is exited (by pressing esc) then alt/option is pressed and released again. It will not toggle off while the find box at the bottom of the window is still open.
possibly related to issue #17 ?
I have installed this on Atom in Windows 7, and it seems to not work at all. Using the Alt key while holding down left-button and dragging to select, selection occurs horizontally.
Edit to add: Atom version 0.168.0
Uncaught TypeError: Cannot call method 'getCursor' of undefined .
And, now, even I uninstall or disable the plugin, I can use alt+delete to delete a word
It would be great if the Keybinding could be user changeable, as Alt with left mouse click in Gnome moves windows and block selection is not possible.
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (C:\Users\David\AppData\Local\atom\app-0.196.0\resources\app.asar\src\package.js:790:9)
Package.hasActivationCommands (C:\Users\David\AppData\Local\atom\app-0.196.0\resources\app.asar\src\package.js:715:20)
<unknown> (C:\Users\David\AppData\Local\atom\app-0.196.0\resources\app.asar\src\package.js:169:24)
Package.measure (C:\Users\David\AppData\Local\atom\app-0.196.0\resources\app.asar\src\package.js:147:15)
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (C:\Users\marathes\AppData\Local\atom\app-0.198.0\resources\app.asar\src\package.js:810:9)
Package.hasActivationCommands (C:\Users\marathes\AppData\Local\atom\app-0.198.0\resources\app.asar\src\package.js:735:20)
<unknown> (C:\Users\marathes\AppData\Local\atom\app-0.198.0\resources\app.asar\src\package.js:189:24)
Package.measure (C:\Users\marathes\AppData\Local\atom\app-0.198.0\resources\app.asar\src\package.js:167:15)
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:790:9)
Package.hasActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:715:20)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:169:24)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:147:15)
[Enter steps to reproduce below:]
I can't see any more specifics to the situation.
The file where I'm selecting is 700 lines long.
I get the error from the moment I click I don't have to drag to get the error.
Atom Version: 0.182.0
System: Mac OS X 10.10.1
Thrown From: Sublime-Style-Column-Selection package, v1.2.3
Uncaught TypeError: Cannot read property 'getDOMNode' of undefined
At /Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:984
TypeError: Cannot read property 'getDOMNode' of undefined
at [object Object].module.exports.React.createClass.pixelPositionForMouseEvent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:984:40)
at [object Object].boundMethod [as pixelPositionForMouseEvent] (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1295:21)
at /Users/miquel/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:76:42
at atom-text-editor.<anonymous> (/Users/miquel/.atom/packages/Sublime-Style-Column-Selection/lib/sublime-select.coffee:49:23)
2x -0:26.7 editor:newline (atom-text-editor.editor.is-focused)
-0:22.4 core:backspace (atom-text-editor.editor.is-focused)
-0:17.4 editor:newline (atom-text-editor.editor.is-focused)
-0:15.8 core:move-up (atom-text-editor.editor.is-focused)
-0:15.2 core:move-down (atom-text-editor.editor.is-focused)
-0:15.0 core:move-left (atom-text-editor.editor.is-focused)
-0:14.8 editor:select-to-beginning-of-word (atom-text-editor.editor.is-focused)
-0:14.3 core:copy (atom-text-editor.editor.is-focused)
-0:14.2 core:move-up (atom-text-editor.editor.is-focused)
-0:14.0 editor:select-to-end-of-word (atom-text-editor.editor.is-focused)
-0:13.6 core:paste (atom-text-editor.editor.is-focused)
-0:13.4 core:move-down (atom-text-editor.editor.is-focused)
-0:12.8 core:move-right (atom-text-editor.editor.is-focused)
-0:04.9 editor:move-to-beginning-of-word (atom-text-editor.editor.is-focused)
2x -0:04.5 core:move-left (atom-text-editor.editor.is-focused)
2x -0:04.0 core:move-up (atom-text-editor.editor.is-focused)
{
"core": {
"ignoredNames": [
".git",
".svn",
".DS_Store"
],
"disabledPackages": [
"wrap-guide",
"whitespace",
"preview-tabs",
"term2",
"atom-ctags"
],
"projectHome": "/Users/miquel/code",
"excludeVcsIgnoredPaths": false
}
}
# User
Sublime-Style-Column-Selection, v1.2.3
auto-detect-indentation, v0.3.0
autocomplete-plus, v2.2.0
autocomplete-snippets, v1.0.1
color-picker, v1.4.4
compare-files, v0.4.1
git-tab-status, v1.5.3
highlight-selected, v0.9.0
linter, v0.11.1
minimap, v4.3.1
minimap-find-and-replace, v4.0.0
minimap-git-diff, v4.0.0
minimap-highlight-selected, v4.1.0
minimap-selection, v4.1.0
project-manager, v1.15.5
remember-session, v0.5.1
remote-sync, v2.4.0
tabs-to-spaces, v0.8.1
# Dev
No dev packages
Use activationCommands
instead of activationEvents
in your package.json
Commands should be grouped by selector as follows:
"activationCommands": {
"atom-workspace": ["foo:bar", "foo:baz"],
"atom-text-editor": ["foo:quux"]
}
Package.getActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:790:9)
Package.hasActivationCommands (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:715:20)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:169:24)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:147:15)
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.