emmetio / Emmet.codaplugin

Emmet plugin for Coda
http://emmet.io
206 stars 33 forks source link

Latests Coda 2 ß Crash on launch if Emmet plugin enable #18

Closed clawfire closed 8 years ago

clawfire commented 10 years ago

I just install the latest Coda 2 ß and can't launch it. It crash. After taking a look on the crash file, I see it's the Emmet plugin.

You can find the crash log file here and a bug report on the Coda 2 public tracker here

zsteiner commented 10 years ago

Production Coda 2 (2.0.14) also crashes with Emmet plugin in Yosemite Developer Preview.

DarreinK commented 10 years ago

Coda 2 & Emmet are my life, crashes on expand running Yosemite Beta 1, 32bit mode helped at one point now nothing.

sergeche commented 10 years ago

I’ll take a look at this problem only when Yosemite will be officially released. I’m not ready to install beta OS on my workstation

DarreinK commented 10 years ago

Thanks. : )

Villodre commented 10 years ago

Thanks a lot ;) I've got the same problem with production Coda 2 and Yosemite Release 2 ;) I can't even conceive using Coda without Emmet, it's a wonderful plugin.

onuryasar commented 10 years ago

+1 waiting for this to be solved...

SumRandomGuy commented 10 years ago

Just started fighting this crash myself. While I wait, I'm using TEA: https://code.google.com/p/zen-coding/downloads/detail?name=Zen.Coding-Coda.v0.7.1.zip

rbugajewski commented 10 years ago

I have the same issue. Here’s my stack trace:

Process:               Coda 2 [13620]
Path:                  /Applications/Coda 2.app/Contents/MacOS/Coda 2
Identifier:            com.panic.Coda2
Version:               2.0.14 (3764)
App Item ID:           499340368
App External ID:       556295405
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Coda 2 [13620]
User ID:               501

Date/Time:             2014-09-07 14:09:37.717 +0200
OS Version:            Mac OS X 10.10 (14A343f)
Report Version:        11
Anonymous UUID:        688BA52E-B5A5-A6A2-9C02-AF8CD3816F7F

Time Awake Since Boot: 63000 seconds

Crashed Thread:        1  Dispatch queue: com.apple.libdispatch-manager

Exception Type:        EXC_CRASH (SIGSEGV)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Thread 0:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore        0x00007fff84800f6e WTFCrash + 62
1   com.apple.JavaScriptCore        0x00007fff847cf419 JSC::JSLock::DropAllLocks::DropAllLocks(JSC::VM*) + 217
2   com.apple.JavaScriptCore        0x00007fff849b26de JSC::JSCallbackObject<JSC::JSGlobalObject>::getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&) + 382
3   com.apple.JavaScriptCore        0x00007fff8465665e JSC::JSObject::get(JSC::ExecState*, JSC::PropertyName) const + 366
4   com.apple.JavaScriptCore        0x00007fff84657318 JSObjectGetProperty + 168
5   com.inexdo.JSCocoa              0x0000000111e1e34e +[JSCocoaController controllerFromContext:] + 52
6   com.inexdo.JSCocoa              0x0000000111e19403 jsCocoaObject_finalize + 86
7   com.apple.JavaScriptCore        0x00007fff8473bde7 JSC::JSCallbackObjectData::finalize(JSC::Handle<JSC::Unknown>, void*) + 55
8   com.apple.JavaScriptCore        0x00007fff84630fa8 JSC::WeakBlock::sweep() + 104
9   com.apple.JavaScriptCore        0x00007fff846103a8 JSC::WeakSet::sweep() + 40
10  com.apple.JavaScriptCore        0x00007fff84610339 JSC::MarkedBlock::sweep(JSC::MarkedBlock::SweepMode) + 25
11  com.apple.JavaScriptCore        0x00007fff84a1dcce JSC::MarkedAllocator::tryAllocateHelper(unsigned long) + 222
12  com.apple.JavaScriptCore        0x00007fff8460f5bc JSC::MarkedAllocator::allocateSlowCase(unsigned long) + 140
13  com.apple.JavaScriptCore        0x00007fff846c41ca JSC::JSString::toObject(JSC::ExecState*, JSC::JSGlobalObject*) const + 122
14  com.apple.JavaScriptCore        0x00007fff8468102d JSC::objectProtoFuncToString(JSC::ExecState*) + 285
15  ???                             0x00004dba37601034 0 + 85462188298292
16  com.apple.JavaScriptCore        0x00007fff84a14f33 llint_entry + 22637
17  com.apple.JavaScriptCore        0x00007fff84a14f33 llint_entry + 22637
18  com.apple.JavaScriptCore        0x00007fff84a14f9e llint_entry + 22744
19  com.apple.JavaScriptCore        0x00007fff84a14f9e llint_entry + 22744
20  ???                             0x00004dba376019fa 0 + 85462188300794
21  ???                             0x00004dba37604a33 0 + 85462188313139
22  ???                             0x00004dba376019fa 0 + 85462188300794
23  com.apple.JavaScriptCore        0x00007fff84a14f9e llint_entry + 22744
24  com.apple.JavaScriptCore        0x00007fff84a0f4a1 callToJavaScript + 311
25  com.apple.JavaScriptCore        0x00007fff84994823 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 35
26  com.apple.JavaScriptCore        0x00007fff84637b0c JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) + 8796
27  com.apple.JavaScriptCore        0x00007fff846356d4 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*) + 484
28  com.apple.JavaScriptCore        0x00007fff846353fa JSEvaluateScript + 394
29  com.inexdo.JSCocoa              0x0000000111e1e743 -[JSCocoaController evalJSFile:toJSValueRef:] + 496
30  com.inexdo.JSCocoa              0x0000000111e1e79d -[JSCocoaController evalJSFile:] + 19
31  io.emmet.EmmetCoda              0x0000000111df2068 -[JSCocoaDelegate evalFile:] + 28
32  com.apple.CoreFoundation        0x00007fff8f8397e5 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 133
33  com.apple.CoreFoundation        0x00007fff8f838ee9 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 313
34  io.emmet.EmmetCoda              0x0000000111df0191 -[Emmet setupJSContext] + 242
35  io.emmet.EmmetCoda              0x0000000111df003f -[Emmet init] + 87
36  io.emmet.EmmetCoda              0x0000000111defebf +[Emmet sharedInstance] + 47
37  io.emmet.EmmetCoda              0x0000000111df11ba -[EMCodaPlugin initWithController:] + 183
38  com.panic.Coda2                 0x00000001001e85fc __32-[PlugInManager loadNewPlugins:]_block_invoke + 516
39  com.panic.Coda2                 0x00000001001e8274 -[PlugInManager loadNewPlugins:] + 424
40  com.panic.Coda2                 0x00000001001e7aec -[PlugInManager loadPlugInsFromPath:] + 1388
41  com.apple.Foundation            0x00007fff8585251b __NSFireDelayedPerform + 364
42  com.apple.CoreFoundation        0x00007fff8f86bfc4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
43  com.apple.CoreFoundation        0x00007fff8f86bc53 __CFRunLoopDoTimer + 1059
44  com.apple.CoreFoundation        0x00007fff8f8df33d __CFRunLoopDoTimers + 301
45  com.apple.CoreFoundation        0x00007fff8f8286e8 __CFRunLoopRun + 2024
46  com.apple.CoreFoundation        0x00007fff8f827cb8 CFRunLoopRunSpecific + 296
47  com.apple.HIToolbox             0x00007fff85e3edbf RunCurrentEventLoopInMode + 235
48  com.apple.HIToolbox             0x00007fff85e3eb3a ReceiveNextEventCommon + 431
49  com.apple.HIToolbox             0x00007fff85e3e97b _BlockUntilNextEventMatchingListInModeWithFilter + 71
50  com.apple.AppKit                0x00007fff90109cf5 _DPSNextEvent + 1000
51  com.apple.AppKit                0x00007fff90109480 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
52  com.apple.AppKit                0x00007fff900fd433 -[NSApplication run] + 594
53  com.apple.AppKit                0x00007fff900e8834 NSApplicationMain + 1832
54  com.panic.Coda2                 0x0000000100003222 main + 2823
55  com.panic.Coda2                 0x0000000100002674 start + 52

Yosemite will be publicly available soon. There is also enough virtualization software so that you don’t have to install Yosemite as your main operating system.

Any timeline for the fix?

sergeche commented 10 years ago

@rbugajewski AFAIK support for Yosemite requires Emmet Objective-C plugin to be rewritten from scratch due to updated API. I’m pretty busy right now with other projects so I don’t have estimates on fixing this.

cabel commented 10 years ago

Due to the large number of crash reports we're receiving from this plugin, we are planning to blacklist and force-uninstall this plugin in Coda 2.5.

But don't worry — if you fix the issue in the future, and update the plugin, just make sure to update your short version string in your Info.plist so that Coda will allow it to load.

Thanks!

pingjiang commented 10 years ago

Please checkout my modification, it works for TextMate now, and it should works for coda too.

https://github.com/pingjiang/emmet-objc

advisionmarketing commented 10 years ago

pingjang, I compiled your code into a plugin and it seems to still crash in coda 2.5 yosemite. Can anyone else confirm?

kemie commented 10 years ago

advision, I'd love to try it, but have no clue how to compile, can you share the compiled plugin?

froloff commented 10 years ago

Compiled pingjiang's fork with new Xcode 6.1 and it works great with Yosemite and Coda 2.5! Also fixed xib-files to make preferences work :) Download link: http://d.froloff.me/S13e

froloff commented 9 years ago

Coda plugin with fixed Tab-behavior — http://d.froloff.me/fdgY

zshannon commented 9 years ago

@FROLoff can you create a pull request with your changes? They work perfectly for me, thank you very much!

psimpson66 commented 9 years ago

Thanks @FROLoff . Although the plugin installs OK for me in Coda 2.5, doesn't crash, and is showing in my plugins menu, I don't seem to be able to get any of the Emmet functionality to work. Am I missing something?

froloff commented 9 years ago

@psimpson66 some Emmet functions doesn't work (images encode and size update, for example), but most of them works fine for me.

psimpson66 commented 9 years ago

Thanks @FROLoff . Oh ok. I was trying to getting the 'Match Pair Tags' function to work. But nothing seems to be happening.

arnoutwittebrood commented 9 years ago

Thanks @FROLoff Same here as @psimpson66 . Since Coda doesn't highlight matching brackets, this one function i can't miss. :)

alexleobr commented 9 years ago

Thanks @FROLoff :-D

FrankDraws commented 9 years ago

Thank you @FROLoff ! This is awesome.

pixelfuture commented 9 years ago

Yes! @FROLoff ! You are a genius!

daviddelusenet commented 9 years ago

@FROLoff thanks for the effort, Coda doesn't crash with me, but expanding abbrevations don't work correctly. They work with divs and stuff, but when I type img and press tab I get <img></img>. Any idea how to fix this?

augustoms commented 9 years ago

Here emmet is running with coda 2.5.1, but only with the package abbreviations (the user extensions path provided in emmet preferences doesn't work). So, for now, you need to edit the snippets.json located in the emmet package contents and put yours snippets manually inside each receptively node.

ps.: one extra 'tab' happens when you expand an abbreviation.. maybe another bug.

GrimesWeb commented 9 years ago

@daviddelusenet After you install the plugin, go to plugins > Emmet > Preferences from within Coda. The first line there you will see a check box for use tab abbreviations when possible. Click that and you should be all set.

Thank you for your hard work @FROLoff :)

Has anyone figured out how to get the plugin to expand lists already formatted? For example. If I type ul>li*4 I get the ul tag with the li's all on one consecutive line instead of formatted with tabs and such

daviddelusenet commented 9 years ago

@GrimesWeb I don't think you understand me. Normally when I typed img and pressed tab, I got something like this: <img src="" alt="" width="" height="" />. Now I just get <img></img>, which is totally wrong. Same goes for inputs and all elements which don't have an end tag.

GrimesWeb commented 9 years ago

@daviddelusenet Definitely misread what you were saying I apologize. I just tried it and I also get just the two image tags. Not sure how to fix that.

DarreinK commented 9 years ago

Works for me doesn't render the width & height only the src & alt tags. I just drag the image to the line, and it creates a img tag with everything. The plugin is fully functional for what I need at least, the img tag bug only happens in the old Coda 2.

daviddelusenet commented 9 years ago

@DarreinK Bruh that is just Coda functionality, I want the Emmet functionality! @GrimesWeb No problemb bruh, no one is perfect!

DarreinK commented 9 years ago

@daviddelusenet Read that again, & I'm not your *bruh. The very first sentence is Emmet related lol. If your are still getting the img tag you are not using the new version or still have the old version installed, AppDelete will give you a clean install, and will get rid of old Coda 2 files.

flmm commented 9 years ago

@FROLoff, Thanks :)

amaisano commented 9 years ago

@psimpson66 and @arnoutwittebrood same problem - my workflow has slowed WAY down since the Match Pair functions stopped working (and still don't work in the @FROLoff fix). Is there any way to get these functions working again? The menu items briefly highlights when run, but nothing happens :(

hieronymusdesign commented 9 years ago

@GrimesWeb Hello mate, a good question. Got the same thing with emmet at the moment. All syntax is placed on a single line in stead of a nice markup with correct indents.

GrimesWeb commented 9 years ago

@Jeroen Martens, It seems it's only doing that in the PHP syntax mode (Automatically goes to php syntax if you save your file with .php. I tested this a few times. With html it works perfectly. Only the single line output happens only in php. Can't understand why.

Daniel Grimes Freelance Front-End Web Developer dgrimesbusiness@gmail.com

On Tue, Nov 25, 2014 at 9:12 AM, Jeroen Martens notifications@github.com wrote:

@GrimesWeb https://github.com/GrimesWeb Hello mate, a good question. Got the same thing with emmet at the moment. All syntax is placed on a single line in stead of a nice markup with correct indents.

— Reply to this email directly or view it on GitHub https://github.com/emmetio/Emmet.codaplugin/issues/18#issuecomment-64404543 .

wethecode commented 9 years ago

@GrimesWeb @daviddelusenet @hieronymusdesign It happened to me only in the PHP-HTML syntax mode (img —> <img></img>, all the elements go into one single line, etc.). To fix this just add a new syntax definition to the snippets.json. Since Emmet’s custom extensions path also doesn’t work (at least for me) the snippets.json in the plugin package needs to be edited. So add this:

"php": {
    "extends": "html"
}

I work with CakePHP template files (.ctp) also using the PHP-HTML syntax mode but after the fix expanding the snippets was still wrong. I needed to add this syntax def too:

"ctp": {
    "extends": "html"
}

Here is my full snippets.json: https://gist.github.com/wethecode/1f79baf168680afb0f2d

Don’t forget to restart Coda after editing the json file.

GrimesWeb commented 9 years ago

@wethecode I will try this when i get home tonight, thank you so much!, Will report back with results

nodequery commented 9 years ago

@psimpson66 @arnoutwittebrood @atwixtor I am using Espresso and someone pointed me at the same error (Match Pair Tags) after I had made my build available. Seems the setters are not recognized by the JavaScriptCore API and one native function (NSMakeRange) cannot be called from JS anymore. I've implemented a small workaround for the setters and quickly tested it with the newest versions of each app. If you have any issues feel free to post here or contact me directly.

Emmet.codaplugin.zip (Coda 2.5) Emmet.sugar.zip (Espresso 2.2.2) Emmet.tmplugin.zip (Textmate 2.0-beta6)

I'll fork and update the repo in my private account as soon as I have a little time so everyone can see the changes.

amaisano commented 9 years ago

@nodequery Your Coda 2.5 build works (in Coda 2.5.1)! Haven't tested extensively but upon installing it immediately worked as expected: selected the inner text node of the element, then the element itself, then the parent element's contents, and so on. Thank you very much - will check out the fork once it's ready.

psimpson66 commented 9 years ago

Many thanks @nodequery. Match Pair Tags now works for me in Coda 2.5.1! Very happy about that! :)

cabel commented 9 years ago

Just popping in to say — @nodequery et al., thank you for keeping Emmet working well with Coda!

stona1 commented 9 years ago

@nodequery Thank you, it really works but can you check why "Update Image Size" command not working? Thanks in advance.

ardelmedia commented 9 years ago

HI. I installed the @nodequery Coda plugin above into Coda 2.5.1 - and Emmet still doesn't work.

Is there a specific expansion key I need to use with that plugin? I had mine set to CMD+/ previously in Coda 2 (before Emmet broke in Coda) but that's not working. I've tried simply tabbing to expode the abbreviation, and also CMD+E but these don't work.

The plugin is showing in the preferences plugin list - but is there is no option for customising emmet now I see no way of finding out what expansion key is being used - so maybe it is working and I just can't find the key?

Can anyone please help? Coding is so slow without Emmet.

amaisano commented 9 years ago

@impressbrand Have you tried CNTRL+E ? That seems to work by default. I always made sure to entirely scrap/delete all Emmet files/preferences from my system before downloading and installing the updated plugins linked here, and all abbreviations, expansions (and now pair matching!) work now. I am on Mavericks 10.9.5 still, so maybe the problems are related to Yosemite?

ardelmedia commented 9 years ago

Thanks for the reply @atwixtor - I have tried CTRL+E but no luck with that either. Where would I find emmet files and preferences? As I said there are no longer any preferences/menus to set for Emmet in Coda itself.

nodequery commented 9 years ago

@impressbrand The default is indeed CTRL+E and expanding by Tab key is available in the plugin preferences. Please make sure the plugin is showing up in the menu bar of Coda 2 and is located in ~/Library/Application Support/Coda 2/Plug-ins.

Also make sure there is no older version located in ~/Library/Application Support/Coda 2/Plug-ins (Disabled). If so I recommend to delete Emmet.codaplugin from both directories, restart Coda 2 without it and then installing the plugin again.

ardelmedia commented 9 years ago

Okay I have installed the plugin from @nodequery and it's showing correctly in Applications Support.

But it is still not working in Coda 2.5.1.

I have tried expanding with CTRL+E, CMD+E, TAB, CTRL+/ (my previois key combination that I used in Code 2.0.14) and none of these work.

Also, you mention that I can change this in the plugin preferences of the Coda menu - there are no plugin preferences in Coda 2.5 menus.

I am using OS X 10.8.5 if that helps?

ardelmedia commented 9 years ago

Anyone got any hints if this Coda 2.5 plugin by @nodequery required Yosemite to run? If not, I don't know why it won't work for me.

amaisano commented 9 years ago

I can confirm the plugin by @nodequery works as expected on Mavericks 10.9.5. Maybe it doesn't work on 10.8.5 (Mountain Lion)?

ardelmedia commented 9 years ago

Thanks @atwixtor - does anyone else have any knowledge on this plugin for Mountain Lion?