abe33 / abe33/atom-color-highlight

Uncaught type error

未關閉
#67 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
CoffeeScript
星號
80
分支
8
PR 合併指標
30 天內沒有已合併 PR

描述

Today, while editing an SVG file, I invoked the Emmet "wrap" command (ctrl-w) and started to type a "g" take to wrap my svg paths in a group.

The svg file was displaying color tokens, even though i really didnt need them.

I got this:

![screen shot 2015-01-07 at 8 44 16 am](https://cloud.githubusercontent.com/assets/835148/5646435/0ab35aa8-964a-11e4-85d6-87db1ffb1189.png)

Stack trace:

```
TypeError: Cannot read property 'tokenAtBufferColumn' of undefined
at TokenizedBuffer.module.exports.TokenizedBuffer.tokenForPosition (/Applications/Atom.app/Contents/Resources/app/src/tokenized-buffer.js:503:38)
at TokenizedBuffer.module.exports.TokenizedBuffer.scopeDescriptorForPosition (/Applications/Atom.app/Contents/Resources/app/src/tokenized-buffer.js:496:22)
at DisplayBuffer.module.exports.DisplayBuffer.scopeDescriptorForBufferPosition (/Applications/Atom.app/Contents/Resources/app/src/display-buffer.js:1044:35)
at color-marker.module.exports.MarkerMixin.getScope (/Users/stevelombardi/.atom/packages/atom-color-highlight/lib/marker-mixin.coffee:59:42)
at color-marker.module.exports.MarkerMixin.hiddenDueToComment (/Users/stevelombardi/.atom/packages/atom-color-highlight/lib/marker-mixin.coffee:67:14)
at color-marker.module.exports.MarkerMixin.isHidden (/Users/stevelombardi/.atom/packages/atom-color-highlight/lib/marker-mixin.coffee:53:6)
at color-marker.module.exports.MarkerMixin.show (/Users/stevelombardi/.atom/packages/atom-color-highlight/lib/marker-mixin.coffee:18:33)
at color-marker.module.exports.MarkerMixin.updateVisibility (/Users/stevelombardi/.atom/packages/atom-color-highlight/lib/marker-mixin.coffee:43:27)
at color-marker.module.exports.MarkerMixin.onMarkerChanged (/Users/stevelombardi/.atom/packages/atom-color-highlight/lib/marker-mixin.coffee:40:6)
at /Users/stevelombardi/.atom/packages/atom-color-highlight/lib/marker-mixin.coffee:32:52
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
at Marker.module.exports.Marker.resumeChangeEvents (/Applications/Atom.app/Contents/Resources/app/src/marker.js:319:38)
at DisplayBuffer.module.exports.DisplayBuffer.resumeMarkerChangeEvents (/Applications/Atom.app/Contents/Resources/app/src/display-buffer.js:1390:16)
at DisplayBuffer.module.exports.DisplayBuffer.emitDidChange (/Applications/Atom.app/Contents/Resources/app/src/display-buffer.js:321:19)
at DisplayBuffer.module.exports.DisplayBuffer.handleBufferMarkersUpdated (/Applications/Atom.app/Contents/Resources/app/src/display-buffer.js:1588:21)
at /Applications/Atom.app/Contents/Resources/app/src/display-buffer.js:5:61
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/node_modules/event-kit/lib/emitter.js:82:11)
at TextBuffer.module.exports.TextBuffer.applyPatch (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:595:20)
at BufferPatch.module.exports.BufferPatch.applyTo (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/buffer-patch.js:74:21)
at Transaction.module.exports.Transaction.applyTo (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/transaction.js:60:29)
at History.module.exports.History.undo (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/history.js:87:24)
at TextBuffer.module.exports.TextBuffer.undo (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:675:27)
at TextEditor.module.exports.TextEditor.undo (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1141:26)
at PromptView.module.exports.PromptView.undo (/Users/stevelombardi/.atom/packages/emmet/lib/prompt.coffee:38:11)
at PromptView.module.exports.PromptView.handleUpdate (/Users/stevelombardi/.atom/packages/emmet/lib/prompt.coffee:41:4)
at /Users/stevelombardi/.atom/packages/emmet/lib/prompt.coffee:22:5
at TextEditor.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:118:15)
at /Applications/Atom.app/Contents/Resources/app/src/text-editor.js:171:24
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/node_modules/event-kit/lib/emitter.js:82:11)
at /Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:1142:25
```

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

錯誤源自 atom-color-highlight 套件的 marker-mixin.coffee 檔案第 59 行,其中 getScope 在未定義的物件上呼叫了 tokenForPosition。先檢查 marker-mixin.coffee 檔案,以了解 MarkerMixin 類別及其與 Atom 標記化緩衝區的互動。編輯 SVG 檔案並使用 Emmet wrap 指令來重現問題。檢查錯誤發生時緩衝區位置是否有效。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
javascript
領域
desktop-dev, devtools
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。