adrianlee44 / atom-aligner

Easily align multi-line with support for different operators and custom configurations
https://atom.io/packages/aligner
MIT License
78 stars 3 forks source link

Uncaught TypeError: Cannot read property 'reset' of null #78

Closed Chifilly closed 4 years ago

Chifilly commented 6 years ago

[Enter steps to reproduce:]

  1. Load a .js file
  2. Try and align some code

Atom: 1.25.0 x64 Electron: 1.7.11 OS: Microsoft Windows 10 Pro Thrown From: aligner package 1.2.4

Stack Trace

Uncaught TypeError: Cannot read property 'reset' of null

At C:\Users\Adam\AppData\Local\atom\app-1.25.0\resources\app\src\tokenized-line.js:20

TypeError: Cannot read property 'reset' of null
    at TokenizedLine.module.exports.TokenizedLine.getTokenIterator (~/AppData/Local/atom/app-1.25.0/resources/app/src/tokenized-line.js:20:38)
    at TokenizedLine.get (~/AppData/Local/atom/app-1.25.0/resources/app/src/tokenized-line.js:26:31)
    at Object.getAlignCharacter (/packages/aligner/lib/helper.js:50:32)
    at Aligner.alignAtRow (/packages/aligner/lib/main.js:40:30)
    at editor.getSelectedBufferRanges.forEach (/packages/aligner/lib/main.js:28:14)
    at Array.forEach (native)
    at Aligner.align (/packages/aligner/lib/main.js:25:38)
    at HTMLElement.disposables.add.atom.commands.add (/packages/aligner/lib/main.js:74:12)
    at CommandRegistry.handleCommandEvent (~/AppData/Local/atom/app-1.25.0/resources/app/src/command-registry.js:384:49)
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (~/AppData/Local/atom/app-1.25.0/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:621:22)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (~/AppData/Local/atom/app-1.25.0/resources/app/node_modules/atom-keymap/lib/keymap-manager.js:412:28)
    at WindowEventHandler.handleDocumentKeyEvent (~/AppData/Local/atom/app-1.25.0/resources/app/src/window-event-handler.js:110:40)

Commands

     -5:26.4.0 intentions:highlight (input.hidden-input)
  2x -5:26.3.0 atom-alignment:alignMultiple (input.hidden-input)
     -5:23.5.0 intentions:highlight (input.hidden-input)
     -5:23.5.0 core:select-all (input.hidden-input)
     -5:22.8.0 atom-alignment:alignMultiple (input.hidden-input)
     -5:22.1.0 intentions:highlight (input.hidden-input)
     -5:22 core:undo (input.hidden-input)
     -5:20.7.0 intentions:highlight (input.hidden-input)
     -5:20.5.0 core:save (input.hidden-input)
     -5:09.4.0 intentions:highlight (input.hidden-input)
     -5:09.2.0 aligner:align (input.hidden-input)
     -4:25.2.0 intentions:highlight (input.hidden-input)
     -4:24.9.0 color-picker:open (input.hidden-input)
     -0:04.7.0 intentions:highlight (input.hidden-input)
     -0:04.6.0 aligner:align (input.hidden-input)

Non-Core Packages

aligner 1.2.4 
aligner-css 1.2.1 
aligner-javascript 1.3.0 
aligner-python 1.1.0 
aligner-scss 1.3.1 
atom-alignment 0.13.0 
atom-beautify 0.32.2 
atom-material-syntax 1.0.8 
atom-typescript 12.3.8 
autoclose-html 0.23.0 
autocomplete-paths 2.12.2 
autocomplete-python 1.10.5 
autoupdate-packages 1.3.1 
busy-signal 1.4.3 
color-picker 2.2.5 
css-declaration-sorter 1.2.0 
file-icons 2.1.18 
flex-tool-bar 2.0.0 
git-blame 1.6.0 
git-log 0.4.1 
git-time-machine 1.5.9 
goto-definition 1.3.4 
highlight-line 0.12.0 
highlight-selected 0.13.1 
hyperclick 0.1.5 
indent-guide-improved 1.4.13 
intentions 1.1.5 
language-docker 1.1.8 
language-ejs 0.4.0 
linter 2.2.0 
linter-docker 0.3.0 
linter-jshint 3.1.6 
linter-sass-lint 1.8.3 
linter-tslint 1.9.0 
linter-ui-default 1.7.1 
minimap 4.29.8 
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-linter 2.1.3 
minimap-selection 4.5.0 
pigments 0.40.2 
pretty-json 2.0.0 
pristine-ui 1.1.11 
sync-settings 0.8.5 
todo-show 2.2.0 
toggler 0.3.1 
tool-bar 1.1.7 
tree-view-git-status 1.4.0 
unity-shader-files 0.3.1 
xml-formatter 0.11.0 
Chifilly commented 6 years ago

After some more testing, it seems it's only a problem when the "Use Tree Sitter Parsers" is enabled. It could potentially be the scope name change to just "javascript"? I know that's messed with some other plugins

Marcisbee commented 6 years ago

I got the same issue. Disabled Tree Sitter, reloaded Atom and everything works again. Thanks @Chifilly

tithonium commented 5 years ago

Error happens for me in ruby files.

wbotelhos commented 5 years ago

[Enter steps to reproduce:]

  1. Open a Ruby file;
  2. Execute the align command

Atom: 1.32.2 x64 Electron: 2.0.9 OS: Mac OS X 10.14 Thrown From: aligner package 1.2.4

Stack Trace

Uncaught TypeError: Cannot read property 'reset' of null

At /Applications/Atom.app/Contents/Resources/app/static/<embedded>:14

TypeError: Cannot read property 'reset' of null
    at TokenizedLine.t.exports.TokenizedLine.getTokenIterator (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:14:107041)
    at TokenizedLine.get (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:14:107144)
    at Object.getAlignCharacter (/packages/aligner/lib/helper.js:50:33)
    at _traverseRanges (/packages/aligner/lib/helper.js:80:26)
    at _traverseRanges (/packages/aligner/lib/helper.js:17:20)
    at Object.getAlignCharacterInRanges (/packages/aligner/lib/helper.js:79:10)
    at Aligner.alignRanges (/packages/aligner/lib/main.js:53:30)
    at Aligner.align (/packages/aligner/lib/main.js:35:12)
    at HTMLElement.disposables.add.atom.commands.add (/packages/aligner/lib/main.js:74:12)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:347327)
    at KeymapManager.t.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1227611)
    at KeymapManager.t.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1223745)
    at WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:282763)

Commands

  2x -3:04.3.0 editor:consolidate-selections (input.hidden-input)
     -3:04.1.0 core:cancel (input.hidden-input)
  2x -3:02.6.0 core:save (input.hidden-input)
  2x -2:53.9.0 core:move-up (input.hidden-input)
  3x -2:53.5.0 core:select-down (input.hidden-input)
     -2:53.1.0 aligner:align (input.hidden-input)
     -2:47.5.0 core:save (input.hidden-input)
     -2:05.5.0 core:save-as (input.hidden-input)
     -2:03.7.0 core:select-down (input.hidden-input)
     -2:01.1.0 core:move-left (input.hidden-input)
     -2:00.7.0 editor:move-to-first-character-of-line (input.hidden-input)
  3x -2:00.6.0 core:select-down (input.hidden-input)
     -2:00.1.0 editor:select-to-end-of-line (input.hidden-input)
  3x -1:58.9.0 aligner:align (input.hidden-input)
  2x -1:26.6.0 settings-view:open (input.hidden-input)
  4x -0:21.6.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)

Non-Core Packages

aligner 1.2.4 
aligner-javascript 1.3.0 
aligner-ruby 1.7.0 
atom-handlebars 1.3.0 
atom-wrap-in-tag 0.6.0 
block-travel 1.0.5 
busy-signal 1.4.3 
clean-context-menu 0.3.2 
erb-snippets 1.1.0 
highlight-selected 0.14.0 
intentions 1.1.5 
language-csv 1.1.2 
language-generic-config 1.4.0 
language-graphql 0.11.0 
language-nginx 0.8.0 
language-rspec 0.12.1 
language-syslog-ng 0.0.6 
language-systemd 0.1.1 
language-terraform 0.8.1 
language-varnish 0.6.0 
linter 2.2.0 
linter-eslint 8.4.1 
linter-js-yaml 1.3.0 
linter-json-lint 0.1.3 
linter-rubocop 2.2.3 
linter-sass-lint 1.8.3 
linter-terraform-syntax 1.2.4 
linter-ui-default 1.7.1 
pretty-json 2.0.3 
rubocop-auto-correct 1.5.1 
ruby-block-converter 4.1.1 
sort-lines 0.18.0 
ssh-config 0.14.0 
yaml-sortkey 0.1.0 
jmurowaniecki commented 5 years ago
  1. Open a bash file;
  2. I selected some points (CTRL + D);
  3. I navigated to the point where I would like to align;
  4. Press CTRL + ALT + /;
  5. :boom:

Atom: 1.33.0 x64 Electron: 2.0.11 OS: Ubuntu 18.04.1 Thrown From: aligner package 1.2.4

Stack Trace

Uncaught TypeError: Cannot read property 'reset' of null

At /usr/share/atom/resources/app/static/<embedded>:14

TypeError: Cannot read property 'reset' of null
    at TokenizedLine.t.exports.TokenizedLine.getTokenIterator (/usr/share/atom/resources/app/static/<embedded>:14:107078)
    at TokenizedLine.get (/usr/share/atom/resources/app/static/<embedded>:14:107181)
    at Object.getAlignCharacter (/packages/aligner/lib/helper.js:50:33)
    at Aligner.alignAtRow (/packages/aligner/lib/main.js:40:30)
    at editor.getSelectedBufferRanges.forEach (/packages/aligner/lib/main.js:28:14)
    at Array.forEach (<anonymous>)
    at Aligner.align (/packages/aligner/lib/main.js:25:38)
    at HTMLElement.disposables.add.atom.commands.add (/packages/aligner/lib/main.js:74:12)
    at CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/static/<embedded>:11:349858)
    at KeymapManager.t.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app/static/<embedded>:11:1230399)
    at KeymapManager.t.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app/static/<embedded>:11:1226533)
    at WindowEventHandler.handleDocumentKeyEvent (/usr/share/atom/resources/app/static/<embedded>:11:285037)

Commands

     -1:00.9.0 editor:move-to-first-character-of-line (input.hidden-input)
     -1:00.6.0 intentions:highlight (input.hidden-input)
     -1:00.5.0 editor:select-to-end-of-word (input.hidden-input)
     -1:00.2.0 find-and-replace:select-next (input.hidden-input)
  2x -0:59.8.0 core:move-right (input.hidden-input)
     -0:59.5.0 intentions:highlight (input.hidden-input)
     -0:59.4.0 editor:move-to-end-of-word (input.hidden-input)
     -0:53.7.0 core:move-down (input.hidden-input)
     -0:53.3.0 editor:move-to-first-character-of-line (input.hidden-input)
     -0:53 intentions:highlight (input.hidden-input)
     -0:52.9.0 editor:select-to-end-of-word (input.hidden-input)
     -0:52.7.0 find-and-replace:select-next (input.hidden-input)
     -0:52.4.0 editor:move-to-end-of-word (input.hidden-input)
     -0:51.7.0 core:move-right (input.hidden-input)
     -0:51.4.0 intentions:highlight (input.hidden-input)
     -0:49.6.0 aligner:align (input.hidden-input)

Non-Core Packages

aligner 1.2.4 
aligner-javascript 1.3.0 
busy-signal 1.4.3 
intentions 1.1.5 
jslint 1.5.1 
language-docker 1.1.8 
linter 2.0.0 
linter-docker 0.3.2 
linter-php 1.5.1 
linter-ui-default 1.7.1 
markdown-scroll-sync 2.1.2 
monokai-seti 0.9.0 
seti-syntax 1.2.0 
seti-ui 1.11.0 
textmate-multimarkdown-syntax 0.1.0 
ghost commented 5 years ago
  1. Navigate to a JS file, and a group of lines to align
  2. Use Ctl + Alt + /

Atom: 1.32.0 x64 Electron: 2.0.9 OS: linux 4.18.16-96.current Thrown From: aligner package 1.2.4

Stack Trace

Uncaught TypeError: Cannot read property 'reset' of null

At /usr/share/atom/resources/app/static/<embedded>:14

TypeError: Cannot read property 'reset' of null
    at TokenizedLine.t.exports.TokenizedLine.getTokenIterator (/usr/share/atom/resources/app/static/<embedded>:14:107041)
    at TokenizedLine.get (/usr/share/atom/resources/app/static/<embedded>:14:107144)
    at Object.getAlignCharacter (/packages/aligner/lib/helper.js:50:33)
    at Aligner.alignAtRow (/packages/aligner/lib/main.js:40:30)
    at editor.getSelectedBufferRanges.forEach (/packages/aligner/lib/main.js:28:14)
    at Array.forEach (<anonymous>)
    at Aligner.align (/packages/aligner/lib/main.js:25:38)
    at HTMLElement.disposables.add.atom.commands.add (/packages/aligner/lib/main.js:74:12)
    at CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/static/<embedded>:11:345848)
    at KeymapManager.t.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app/static/<embedded>:11:1226096)
    at KeymapManager.t.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app/static/<embedded>:11:1222230)
    at WindowEventHandler.handleDocumentKeyEvent (/usr/share/atom/resources/app/static/<embedded>:11:281284)

Commands

  5x -9:16.2.0 core:backspace (input.hidden-input)
     -0:53 intentions:highlight (input.hidden-input)
     -0:52.8.0 aligner:align (input.hidden-input)

Non-Core Packages

aligner 1.2.4 
aligner-javascript 1.3.0 
aligner-php 1.3.0 
atom-beautify 0.33.4 
atom-minify 0.8.0 
atom-typescript 12.7.3 
busy-signal 1.4.3 
docblockr 0.13.7 
intentions 1.1.5 
language-docker 1.1.8 
linter 2.2.0 
linter-docker 0.3.2 
linter-js-yaml 1.3.0 
linter-php 1.5.1 
linter-sass-lint 1.8.3 
linter-ui-default 1.7.1 
minimap 4.29.9 
ninja-atom-syntax 0.1.2 
pretty-json 2.0.3 
cldwalker commented 5 years ago

I ran into this bug on atom 1.38.2 for a simple js alignment case. When I upgraded to 1.40.0-beta1 via Atom Beta, I no longer saw this bug. Seems https://github.com/atom/atom/pull/19538 addressed the issue 🎉

adrianlee44 commented 4 years ago

It has been at least 5 minor versions since 1.40.0 and hopefully everyone has upgraded. I'm going to close this issue now.