mehcode / atom-minimap-plus Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
[Enter steps to reproduce:]
Atom: 1.19.0-beta3 x64
Electron: 1.6.9
OS: SIRIUS1897
Thrown From: minimap-plus package 4.29.1
Uncaught TypeError: this.getTextEditorElement(...).component.onMouseWheel is not a function
At C:\Users\siriu\.atom\packages\minimap-plus\lib\minimap-element.js:1138
TypeError: this.getTextEditorElement(...).component.onMouseWheel is not a function
at HTMLElement.relayMousewheelEvent (/packages/minimap-plus/lib/minimap-element.js:1138:45)
at /packages/minimap-plus/lib/minimap-element.js:492:16)
at HTMLElement.listener (/packages/minimap-plus/node_modules/atom-utils/lib/mixins/events-delegation.js:108:41)
-7:21.7.0 core:copy (div.package-detail.panels-item)
2x -7:10.9.0 core:paste (input.hidden-input)
6x -6:49.6.0 core:backspace (input.hidden-input)
-5:48.8.0 core:cut (input.hidden-input)
-5:47.6.0 core:backspace (input.hidden-input)
-5:43.5.0 core:paste (input.hidden-input)
3x -5:09.6.0 core:backspace (input.hidden-input)
-0:52.8.0 application:open-file (input.hidden-input)
atom-clock 0.1.12
minimap-plus 4.29.1
It seems that part of the TextEditor rewrite included a change where TextEditors partially initialize before they are attached to the DOM of the main Atom window.
The problem with this is they are initialized enough that minimap-plus
is attempting to plug into it, but anything that tries to grab screen positions fails as the TextEditor isn't on the screen yet.
An example stack trace of this issue is:
Uncaught TypeError: Invalid Point: (NaN, 0)
at Function.module.exports.Point.assertValid (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\text-buffer\lib\point.js:63:21)
at DisplayLayer.translateScreenPosition (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\text-buffer\lib\display-layer.js:333:17)
at DisplayLayer.clipScreenPosition (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\text-buffer\lib\display-layer.js:391:18)
at TextEditor.module.exports.TextEditor.clipScreenPosition (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\text-editor.js:1793:38)
at HTMLElement.pixelPositionForScreenPosition (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\text-editor-element.js:242:38)
at StableAdapter.computeScrollTop (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\adapters\stable-adapter.js:60:42)
at StableAdapter.getScrollTop (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\adapters\stable-adapter.js:51:17)
at Minimap.getTextEditorScrollRatio (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\minimap.js:598:25)
at Minimap.getCapedTextEditorScrollRatio (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\minimap.js:610:29)
at Minimap.getScrollTopFromEditor (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\minimap.js:933:12)
at Minimap.getScrollTop (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\minimap.js:887:14)
at Minimap.getLastVisibleScreenRow (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\minimap.js:865:13)
at Minimap.emitRangeChanges (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\mixins\decoration-management.js:503:38)
at Minimap.emitDecorationChanges (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\mixins\decoration-management.js:488:10)
at Minimap.decorateMarker (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\mixins\decoration-management.js:418:10)
at MinimapLinterBinding.decorateMarker (file:///C:/Users/Landon Abney/Documents/GitHub/atom-minimap-linter/lib/minimap-linter-binding.js:82:50)
at MinimapLinterBinding.addMessage (file:///C:/Users/Landon Abney/Documents/GitHub/atom-minimap-linter/lib/minimap-linter-binding.js:45:10)
at file:///C:/Users/Landon Abney/Documents/GitHub/atom-minimap-linter/lib/minimap-linter-binding.js:35:16
at Set.forEach (native)
at new MinimapLinterBinding (file:///C:/Users/Landon Abney/Documents/GitHub/atom-minimap-linter/lib/minimap-linter-binding.js:33:21)
at file:///C:/Users/Landon Abney/Documents/GitHub/atom-minimap-linter/lib/minimap-linter.js:78:23
at onDidCreateMinimap (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\main.js:379:51)
at Function.module.exports.Emitter.simpleDispatch (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\event-kit\lib\emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\event-kit\lib\emitter.js:141:34)
at subscriptions.add.atom.workspace.observeTextEditors (C:\Users\Landon Abney\.atom.test\packages\minimap-plus\lib\main.js:392:20)
at C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\workspace.js:721:22
at Function.module.exports.Emitter.simpleDispatch (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\event-kit\lib\emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\event-kit\lib\emitter.js:141:34)
at C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\workspace.js:594:34
at C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\workspace.js:595:19
at Function.module.exports.Emitter.simpleDispatch (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\event-kit\lib\emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\event-kit\lib\emitter.js:141:34)
at PaneContainer.didAddPaneItem (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\pane-container.js:270:24)
at PaneContainer.didAddPane (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\pane-container.js:242:18)
at Pane.module.exports.Pane.setContainer (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\pane.js:162:32)
at PaneAxis.module.exports.PaneAxis.addChild (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\pane-axis.js:154:19)
at PaneAxis.module.exports.PaneAxis.insertChildAfter (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\pane-axis.js:225:25)
at Pane.module.exports.Pane.split (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\pane.js:1004:29)
at Pane.module.exports.Pane.splitRight (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\pane.js:964:25)
at TabBarView.module.exports.TabBarView.splitTab (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\tabs\lib\tab-bar-view.js:379:37)
at Object.TabBarView.addElementCommands.tabs:split-right (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\tabs\lib\tab-bar-view.js:137:32)
at HTMLUListElement.commandsWithPropagationStopped.(anonymous function) (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\node_modules\tabs\lib\tab-bar-view.js:83:42)
at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\command-registry.js:265:35)
at CommandRegistry.handleCommandEvent (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\command-registry.js:3:65)
at CommandRegistry.module.exports.CommandRegistry.dispatch (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\command-registry.js:166:25)
at AtomEnvironment.module.exports.AtomEnvironment.dispatchContextMenuCommand (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\atom-environment.js:1344:34)
at EventEmitter.outerCallback (C:\Users\Landon Abney\AppData\Local\atom\app-1.19.0-beta3\resources\app\src\application-delegate.js:347:31)
at emitThree (events.js:116:13)
at EventEmitter.emit (events.js:194:7)
While debugging this I noticed that the textEditorElement
in the StableAdapter
has a isConnected
property which is initially false (when this bug is triggerable), but is true
for TextEditors that are fully initialized.
I'm not sure of the best way to handle this though...
Note that atom-minimap/minimap#608 is likely the same issue.
Now that minimap-plus forwards to the original minimap:
Did you take over complete control of the original minimap? Is Kite still connected to that project in any way?
Hi,
I am trying to install the addon using command "apm install minimap-plus" . However, it is failing to install and giving error "Request for package information failed: Not Found".
Thank you.
Hi, I find the warning below a bit cryptic:
The original "minimap" is installed and enabled..
"minimap-plus" now forwards to the original "minimap" which includes all the improvements from "minimap-plus".
It took me some research to then find out that you became a maintainer of the original repo, which is now back alive. Maybe rewording this would make people more aware of what is going on. What about something along the lines of: "minimap-plus" has installed and enabled "minimap", which is the preferred package to be used. It is safe to remove "minimap-plus" at this point
or something along those lines?
[Enter steps to reproduce:]
Atom: 1.19.4 x64
Electron: 1.6.9
OS: Mac OS X 10.12.6
Thrown From: minimap-plus package 4.29.2
Uncaught TypeError: Invalid Point: (NaN, 0)
At /Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/point.js:63
TypeError: Invalid Point: (NaN, 0)
at Function.module.exports.Point.assertValid (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/point.js:63:21)
at DisplayLayer.translateScreenPosition (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/display-layer.js:333:17)
at DisplayLayer.clipScreenPosition (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/display-layer.js:391:18)
at TextEditor.module.exports.TextEditor.clipScreenPosition (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1794:38)
at HTMLElement.pixelPositionForScreenPosition (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/src/text-editor-element.js:242:38)
at StableAdapter.computeScrollTop (/packages/minimap-plus/lib/adapters/stable-adapter.js:60:42)
at StableAdapter.getScrollTop (/packages/minimap-plus/lib/adapters/stable-adapter.js:51:17)
at Minimap.getTextEditorScrollRatio (/packages/minimap-plus/lib/minimap.js:598:25)
at Minimap.getCapedTextEditorScrollRatio (/packages/minimap-plus/lib/minimap.js:610:29)
at Minimap.getScrollTopFromEditor (/packages/minimap-plus/lib/minimap.js:933:12)
at Minimap.updateScrollTop (/packages/minimap-plus/lib/minimap.js:921:30)
at subs.add.atom.config.observe (/packages/minimap-plus/lib/minimap.js:467:12)
at Config.module.exports.Config.observeScopedKeyPath (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/src/config.js:881:13)
at Config.module.exports.Config.observe (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/src/config.js:148:27)
at Minimap.subscribeToConfig (/packages/minimap-plus/lib/minimap.js:465:26)
at /packages/minimap-plus/lib/minimap.js:231:35)
at Main.minimapForEditor (/packages/minimap-plus/lib/main.js:326:17)
at MinimapHighlightSelected.markerCreated (/packages/minimap-highlight-selected/lib/minimap-highlight-selected.coffee:48:24)
at MinimapHighlightSelected.markerCreated (/packages/minimap-highlight-selected/lib/minimap-highlight-selected.coffee:1:1)
at /packages/minimap-highlight-selected/lib/minimap-highlight-selected.coffee:39:62
at Function.module.exports.Emitter.simpleDispatch (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at /packages/highlight-selected/lib/highlighted-area-view.coffee:163:20
at ForwardsSingleLine.iterate (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/match-iterator.js:94:17)
at TextBuffer.module.exports.TextBuffer.scanInRange (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:1031:29)
at TextEditor.module.exports.TextEditor.scanInBufferRange (/Users/kschlatzer/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2737:32)
at HighlightedAreaView.module.exports.HighlightedAreaView.highlightSelectionInEditor (/packages/highlight-selected/lib/highlighted-area-view.coffee:151:12)
at /packages/highlight-selected/lib/highlighted-area-view.coffee:136:10
at Array.forEach (native)
at HighlightedAreaView.module.exports.HighlightedAreaView.handleSelection (/packages/highlight-selected/lib/highlighted-area-view.coffee:135:27)
at HighlightedAreaView.handleSelection (/packages/highlight-selected/lib/highlighted-area-view.coffee:1:1)
at /packages/highlight-selected/lib/highlighted-area-view.coffee:62:8
2x -6:41.9.0 core:save (input.hidden-input)
-3:25.2.0 core:undo (input.hidden-input)
9x -3:22 core:backspace (input.hidden-input)
-3:04.3.0 core:save (input.hidden-input)
-1:38 core:cut (input.hidden-input)
-1:32.5.0 core:paste (input.hidden-input)
2x -1:26.5.0 core:backspace (input.hidden-input)
-1:18.2.0 core:save (input.hidden-input)
-1:12.6.0 snippets:next-tab-stop (input.hidden-input)
-1:12.6.0 snippets:expand (input.hidden-input)
-1:12.6.0 editor:indent (input.hidden-input)
-0:23.4.0 core:save (input.hidden-input)
-0:15.6.0 core:backspace (input.hidden-input)
afterglow-syntax 1.0.0
afterlight 1.0.0
ample-syntax 0.3.0
atom-autocomplete-php 0.25.6
atom-beautify 0.30.5
atom-cursor-indent 0.1.1
atom-edit-in-new-tab 0.5.2
atom-git-revert 0.2.5
atom-html-templates 0.1.3
atom-minify 0.8.0
auto-indent 0.5.0
autoclose-html 0.23.0
bottom-dock 0.4.4
bracket-padder 0.4.1
busy-signal 1.4.3
codepen-syntax 0.1.1
color-picker 2.2.5
css-declaration-sorter 1.1.1
csslint 1.1.5
day-after-tomorrow 1.0.0
diff-pane 0.3.0
double-tag 0.9.0
duotone-blue-black-syntax 0.7.3
duotone-dark-syntax 2.1.0
duotone-nature-syntax 0.2.0
editorconfig 2.2.2
file-icons 2.1.11
git-control 0.9.0
git-plus 7.9.3
git-time-machine 1.5.9
github-atom-light-syntax 0.5.0
highlight-selected 0.13.1
idleDigits 0.2.2
indent-guide-improved 1.4.13
intentions 1.1.5
json-converter 0.2.4
language-csv 1.1.2
language-dots 0.0.4
language-generic-config 1.4.0
language-gitignore 0.3.0
language-htaccess 0.1.1
linter 2.2.0
linter-eslint 8.2.1
linter-js-yaml 1.2.7
linter-jshint 3.1.5
linter-json-lint 0.1.2
linter-jsonlint 1.3.0
linter-manager 0.2.12
linter-php 1.4.0
linter-sass-lint 1.7.6
linter-stylelint 4.0.2
linter-ui-default 1.6.8
linter-xmllint 1.4.3
merge-conflicts 1.4.5
minimap-codeglance 0.4.7
minimap-find-and-replace 4.5.2
minimap-hide 0.3.0
minimap-highlight-selected 4.6.1
minimap-plus 4.29.2
minimap-selection 4.5.0
new-moon-atom-syntax 2.0.9
php-light-syntax 1.0.2
pretty-json 1.6.4
project-manager 3.3.5
simple-drag-drop-text 0.3.4
sonarlint 1.0.2
sort-lines 0.15.0
source-preview 0.5.2
source-preview-less 0.1.6
source-preview-sass 0.1.6
ssh-config 0.12.0
tablr 1.8.3
tablr-json 0.1.0
text-manipulation 0.6.0
todo-show 2.0.0
tool-bar 1.1.0
tool-bar-almighty 0.8.2
tree-view-autoresize 2.2.0
tree-view-copy-relative-path 1.2.0
tree-view-git-status 1.4.0
twilight-aptana-syntax 0.5.1
wombat-dark-syntax 1.2.0
wombat-light-syntax 1.2.0
wordpress-api 1.2.2
xml-formatter 0.11.0
xml-tools 0.2.1
Just wanted to see if this repo was still being maintained, or if you had switched completely to the original repo. I read through the whole controversy issue, and as far as I can tell you've moved over, so it may be best to put up a visible deprecation notice on here and the apm page. Maybe something like:
Thanks for taking the time to help resolve these issues, keep being awesome!
This is now a view method. Call TextEditorElement::onDidChangeScrollTop instead.
TextEditor.onDidChangeScrollTop (<embedded>:2945:18)
<unknown> (/Users/jurriendokter/.atom/packages/minimap-autohide/lib/minimap-autohide.coffee:32:49)
editorsMinimaps.forEach (/Users/jurriendokter/.atom/packages/minimap-plus/lib/main.js:377:51)
Map.forEach (native)
Main.observeMinimaps (/Users/jurriendokter/.atom/packages/minimap-plus/lib/main.js:377:28)
Object.activatePlugin (/Users/jurriendokter/.atom/packages/minimap-autohide/lib/minimap-autohide.coffee:27:55)
This is more of a community issue than a technical one.
It would be nice if GitHub recognized this project as a fork of atom-minimap/minimap. That way it's easier to notice when things change upstream and easier to diff the commit logs. The added transparency gives users an easy way to check if we ever fall behind and by how much.
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.