klorenz / atom-regex-railroad-diagrams

display regex as railroad diagram, if cursor moves to it
MIT License
249 stars 31 forks source link

Fails when React Editor is enabled #5

Closed shawnrice closed 10 years ago

shawnrice commented 10 years ago

It looks like it doesn't play well with the React Editor. Here's an error log.

railroad diagram activated regex-railroad-diagram.coffee:7
TypeError: Object #<Editor> has no method 'decorationsForBufferRow'
  at [object Object].module.exports.React.createClass.getGutterDecorations (/Applications/Atom.app/Contents/Resources/app/src/editor-component.js:315:41)
  at [object Object].boundMethod [as getGutterDecorations] (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1434:21)
  at [object Object].module.exports.React.createClass.render (/Applications/Atom.app/Contents/Resources/app/src/editor-component.js:63:28)
  at [object Object]._renderValidatedComponent (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1394:34)
  at [object Object].updateComponent (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1326:32)
  at [object Object].ReactCompositeComponentMixin._performComponentUpdate (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1264:10)
  at [object Object].ReactCompositeComponentMixin._performUpdateIfNecessary (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1207:14)
  at ReactReconcileTransaction.Mixin.perform (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/Transaction.js:159:20)
  at [object Object].ReactComponent.Mixin.performUpdateIfNecessary (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactComponent.js:478:19)
  at [object Object].ReactCompositeComponentMixin.performUpdateIfNecessary (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1157:51)
  at Object.enqueueUpdate (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactUpdates.js:107:15)
  at [object Object].ReactCompositeComponentMixin.forceUpdate (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1379:18)
  at [object Object].module.exports.React.createClass.requestUpdate (/Applications/Atom.app/Contents/Resources/app/src/editor-component.js:237:21)
  at [object Object].boundMethod [as requestUpdate] (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1434:21)
  at [object Object].module.exports.React.createClass.onBatchedUpdatesEnded (/Applications/Atom.app/Contents/Resources/app/src/editor-component.js:986:21)
  at boundMethod (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1434:21)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:133:30
  at Array.forEach (native)
  at Editor.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:132:47)
  at Editor.module.exports.Editor.batchUpdates (/Applications/Atom.app/Contents/Resources/app/src/editor.js:1915:12)
  at [object Object].module.exports.React.createClass.measureLineHeightAndDefaultCharWidth (/Applications/Atom.app/Contents/Resources/app/src/lines-component.js:284:21)
  at [object Object].boundMethod [as measureLineHeightAndDefaultCharWidth] (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1434:21)
  at [object Object].module.exports.React.createClass.measureLineHeightAndDefaultCharWidth (/Applications/Atom.app/Contents/Resources/app/src/editor-component.js:1143:30)
  at [object Object].boundMethod [as measureLineHeightAndDefaultCharWidth] (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactCompositeComponent.js:1434:21)
  at /Applications/Atom.app/Contents/Resources/app/src/editor-component.js:203:17
  at Editor.module.exports.Editor.batchUpdates (/Applications/Atom.app/Contents/Resources/app/src/editor.js:1914:16)
  at [object Object].module.exports.React.createClass.componentDidMount (/Applications/Atom.app/Contents/Resources/app/src/editor-component.js:201:21)
  at ReactMountReady.mixInto.notifyAll (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactMountReady.js:69:18)
  at ReactReconcileTransaction.ON_DOM_READY_QUEUEING.close (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactReconcileTransaction.js:87:26)
  at ReactReconcileTransaction.Mixin.closeAll (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/Transaction.js:242:42)
  at ReactReconcileTransaction.Mixin.perform (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/Transaction.js:175:16)
  at [object Object].ReactComponent.Mixin.mountComponentIntoNode (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactComponent.js:537:19)
  at Object._renderNewRootComponent (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactMount.js:309:25)
  at Object.ReactMount.renderComponent (/Applications/Atom.app/Contents/Resources/app/node_modules/react-atom-fork/lib/ReactMount.js:359:32)
  at ReactEditorView.module.exports.ReactEditorView.afterAttach (/Applications/Atom.app/Contents/Resources/app/src/react-editor-view.js:89:30)
  at callAttachHook (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/lib/space-pen.js:343:107)
  at [object Object].jQuery.fn.(anonymous function) [as append] (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/lib/space-pen.js:359:9)
  at PaneView.module.exports.PaneView.onActiveItemChanged (/Applications/Atom.app/Contents/Resources/app/src/pane-view.js:297:24)
  at /Applications/Atom.app/Contents/Resources/app/src/pane-view.js:3:61
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:133:30
  at Array.forEach (native)
  at Behavior.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:132:47)
  at Behavior.module.exports.Behavior.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/behavior.js:44:38)
  at Behavior.module.exports.Signal.emitValue (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:82:19)
  at Pane.module.exports.Model.set (/Applications/Atom.app/Contents/Resources/app/node_modules/theorist/lib/model.js:166:21)
  at Pane.accessor.set (/Applications/Atom.app/Contents/Resources/app/node_modules/theorist/lib/model.js:57:23)
  at Pane.module.exports.Pane.activateItem (/Applications/Atom.app/Contents/Resources/app/src/pane.js:175:32)
  at /Applications/Atom.app/Contents/Resources/app/src/workspace.js:214:16
  at _fulfilled (/Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:787:54)
  at self.promiseDispatch.done (/Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:816:30)
  at Promise.promise.promiseDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:749:13)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:557:44
  at flush (/Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:108:17)
  at process._tickCallback (node.js:605:11)
 /Applications/Atom.app/Contents/Resources/app/src/workspace.js:223
Uncaught TypeError: Object #<Editor> has no method 'decorationsForBufferRow' /Applications/Atom.app/Contents/Resources/app/src/editor-component.js:315
klorenz commented 10 years ago

Hi shawnrice, I have enabled "Use React Editor", restarted Atom, but I have not yet experienced an error. Can you please pass me the regex, which caused this error? (I am using 0.103.0)

Best regards, Kiwi

shawnrice commented 10 years ago

When I did that initially, I was opening a new file. I should have tested that a few more times because it seems to have gone away.

It wasn't working when I had it in a PHP file (although there seem to be some other newly installed packages that are probably throwing errors), but it did work just fine with the react editor when working on a .coffee file. Should PHP be supported?

klorenz commented 10 years ago

It is intended that all "string.regexp" scopes are supported. Right now not all perlish regex extensions are working. But most common regex-syntaxes are working.