Non-Dairy Soy Plugin

Compatible with all products except MPS
13.11.2015
22 338

A plugin to help with the development of Closure Templates (soy files).

This plugin includes support for syntax highlighting, code folding, find usages and go to declaration on parameters and templates, and Structure view.

This plugin is still under development, and updates are subject to my available free time.

Download plugin

Version

Update date

Recent change notes

ver 0.6.1 * Fixed unused alias inspection when call used within deltemplate * Fixed ConcurrentModificationException when reloading projects * Updated to work with IntelliJ 15
21.10.2014
Any chance of a new version that supports features from Google's 2014 release of Soy templates, such as the new typed param statements? That would be great!
27.03.2014
Great plugin, doesnt seem to support kind="xyz" attributes found in {call} or {let} blocks though when using strict templating
Anonymous
04.12.2013
Great plugin, thanks. Could you support reformat code by pressing Ctrl+Alt+L?
03.10.2013
This plugin still appears to function, unlike the other available plugin which errors out constantly and won't let you type specific keyboard characters. Only issue I have with it is that it just is out of date and could use a little love. For example... {let} command variables are not recognized as declared variables and are just reported as erroneous. That's the only real issue I've run into at this point.
02.01.2013
Been looking at soy files for a month or two with no syntax highlight... I finally got sick of it and got this. A couple extra steps you need to do once install the plugin is go to Settings -> File Types -> Text Files and remove the *.soy from text Files and scroll up to Closure Template Files in File Types and add *.soy Great Plugin!!!
22.05.2012
Great plugin, thank you.
Looking forward to code completion really. Is it in the roadmap?
22.02.2012
Getting this error

Directory index is already disposed for Project (Disposed) wikigenius
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:54)
at com.intellij.openapi.roots.impl.DirectoryIndexImpl.d(DirectoryIndexImpl.java:278)
at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getInfoForDirectory(DirectoryIndexImpl.java:205)
at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.a(ProjectFileIndexImpl.java:85)
at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.getModuleForFile(ProjectFileIndexImpl.java:116)
at net.venaglia.nondairy.soylang.cache.SoyCacheUpdater.getDelegateCache(SoyCacheUpdater.java:192)
at net.venaglia.nondairy.soylang.cache.SoyCacheUpdater.updateCache(SoyCacheUpdater.java:113)
at net.venaglia.nondairy.soylang.SoyProjectComponent$3.fileCreated(SoyProjectComponent.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:89)
at com.intellij.util.EventDispatcher.access$100(EventDispatcher.java:34)
at com.intellij.util.EventDispatcher$1.invoke(EventDispatcher.java:65)
at $Proxy13.fileCreated(Unknown Source)
at com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter.a(BulkVirtualFileListenerAdapter.java:65)
at com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter.after(BulkVirtualFileListenerAdapter.java:45)
at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:110)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:220)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:212)
at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:202)
at com.intellij.util.messages.impl.MessageBusImpl.access$000(MessageBusImpl.java:42)
at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:128)
at $Proxy14.after(Unknown Source)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFS.processEvents(PersistentFS.java:700)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFS.a(PersistentFS.java:641)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFS.createChildDirectory(PersistentFS.java:438)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.createChildDirectory(VirtualFileSystemEntry.java:359)
at com.intellij.openapi.vfs.VfsUtil.createDirectoryIfMissing(VfsUtil.java:584)
at com.jetbrains.php.framework.FrameworkDataService.getDescriptionsDir(FrameworkDataService.java:305)
at com.jetbrains.php.framework.FrameworkDataService$3.run(FrameworkDataService.java:128)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:889)
at com.jetbrains.php.framework.FrameworkDataService.saveData(FrameworkDataService.java:125)
at com.jetbrains.php.framework.FrameworkDataService.loadChanged(FrameworkDataService.java:404)
at com.jetbrains.php.framework.FrameworkCommandsForm.apply(FrameworkCommandsForm.java:334)
at com.jetbrains.php.framework.FrameworkCommandsConfigurable.apply(FrameworkCommandsConfigurable.java:75)
at com.intellij.openapi.options.newEditor.OptionsEditor.apply(OptionsEditor.java:733)
at com.intellij.openapi.options.newEditor.OptionsEditorDialog$ApplyAction.actionPerformed(OptionsEditorDialog.java:270)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:694)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:530)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:416)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:374)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:709)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:416)
at com.intellij.openapi.ui.DialogWrapper.showAndGetOk(DialogWrapper.java:1323)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1308)
at com.intellij.ide.actions.ShowSettingsUtilImpl.a(ShowSettingsUtilImpl.java:65)
at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:47)
at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:63)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:162)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:132)
at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:303)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:694)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:530)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:416)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:374)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)



java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:54)
at com.intellij.openapi.roots.impl.DirectoryIndexImpl.d(DirectoryIndexImpl.java:278)
at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getInfoForDirectory(DirectoryIndexImpl.java:205)
at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.a(ProjectFileIndexImpl.java:85)
at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.getModuleForFile(ProjectFileIndexImpl.java:116)
at net.venaglia.nondairy.soylang.cache.SoyCacheUpdater.getDelegateCache(SoyCacheUpdater.java:192)
at net.venaglia.nondairy.soylang.cache.SoyCacheUpdater.updateCache(SoyCacheUpdater.java:113)
at net.venaglia.nondairy.soylang.SoyProjectComponent$3.fileCreated(SoyProjectComponent.java:79)
at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:89)
at com.intellij.util.EventDispatcher.access$100(EventDispatcher.java:34)
at com.intellij.util.EventDispatcher$1.invoke(EventDispatcher.java:65)
at $Proxy13.fileCreated(Unknown Source)
at com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter.a(BulkVirtualFileListenerAdapter.java:65)
at com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter.after(BulkVirtualFileListenerAdapter.java:45)
at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:110)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:220)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:212)
at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:202)
at com.intellij.util.messages.impl.MessageBusImpl.access$000(MessageBusImpl.java:42)
at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:128)
at $Proxy14.after(Unknown Source)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFS.processEvents(PersistentFS.java:700)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFS.a(PersistentFS.java:641)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFS.createChildFile(PersistentFS.java:450)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.createChildData(VirtualFileSystemEntry.java:283)
at com.jetbrains.php.framework.FrameworkDataService$3.run(FrameworkDataService.java:171)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:889)
at com.jetbrains.php.framework.FrameworkDataService.saveData(FrameworkDataService.java:125)
at com.jetbrains.php.framework.FrameworkDataService.loadChanged(FrameworkDataService.java:404)
at com.jetbrains.php.framework.FrameworkCommandsForm.apply(FrameworkCommandsForm.java:334)
at com.jetbrains.php.framework.FrameworkCommandsConfigurable.apply(FrameworkCommandsConfigurable.java:75)
at com.intellij.openapi.options.newEditor.OptionsEditor.apply(OptionsEditor.java:733)
at com.intellij.openapi.options.newEditor.OptionsEditorDialog$ApplyAction.actionPerformed(OptionsEditorDialog.java:270)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:694)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:530)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:416)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:374)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:709)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:416)
at com.intellij.openapi.ui.DialogWrapper.showAndGetOk(DialogWrapper.java:1323)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1308)
at com.intellij.ide.actions.ShowSettingsUtilImpl.a(ShowSettingsUtilImpl.java:65)
at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:47)
at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:63)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:162)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:132)
at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:303)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:694)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:530)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:416)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:374)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)



java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:54)
at com.intellij.openapi.roots.impl.DirectoryIndexImpl.d(DirectoryIndexImpl.java:278)
at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getInfoForDirectory(DirectoryIndexImpl.java:205)
at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.a(ProjectFileIndexImpl.java:85)
at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.getModuleForFile(ProjectFileIndexImpl.java:116)
at net.venaglia.nondairy.soylang.cache.SoyCacheUpdater.getDelegateCache(SoyCacheUpdater.java:192)
at net.venaglia.nondairy.soylang.cache.SoyCacheUpdater.updateCache(SoyCacheUpdater.java:113)
at net.venaglia.nondairy.soylang.SoyProjectComponent$2.documentChanged(SoyProjectComponent.java:72)
at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:89)
at com.intellij.util.EventDispatcher.access$100(EventDispatcher.java:34)
at com.intellij.util.EventDispatcher$1.invoke(EventDispatcher.java:65)
at $Proxy18.documentChanged(Unknown Source)
at com.intellij.openapi.editor.impl.DocumentImpl.a(DocumentImpl.java:571)
at com.intellij.openapi.editor.impl.DocumentImpl.access$300(DocumentImpl.java:53)
at com.intellij.openapi.editor.impl.DocumentImpl$MyCharArray.afterChangedUpdate(DocumentImpl.java:840)
at com.intellij.openapi.editor.impl.CharArray.replace(CharArray.java:191)
at com.intellij.openapi.editor.impl.DocumentImpl.a(DocumentImpl.java:421)
at com.intellij.openapi.editor.impl.DocumentImpl.replaceText(DocumentImpl.java:325)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl$8$1.run(FileDocumentManagerImpl.java:525)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:889)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl$8.run(FileDocumentManagerImpl.java:519)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:112)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:88)
at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:76)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.reloadFromDisk(FileDocumentManagerImpl.java:517)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.contentsChanged(FileDocumentManagerImpl.java:501)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:89)
at com.intellij.util.EventDispatcher.access$100(EventDispatcher.java:34)
at com.intellij.util.EventDispatcher$1.invoke(EventDispatcher.java:65)
at $Proxy13.contentsChanged(Unknown Source)
at com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter.a(BulkVirtualFileListenerAdapter.java:53)
at com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter.after(BulkVirtualFileListenerAdapter.java:45)
at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:110)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:220)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:212)
at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:202)
at com.intellij.util.messages.impl.MessageBusImpl.access$000(MessageBusImpl.java:42)
at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:128)
at $Proxy14.after(Unknown Source)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFS$3$1.close(PersistentFS.java:607)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFS$3.close(PersistentFS.java:616)
at com.intellij.openapi.vfs.VirtualFile.setBinaryContent(VirtualFile.java:503)
at com.intellij.openapi.vfs.VirtualFile.setBinaryContent(VirtualFile.java:493)
at com.intellij.openapi.vfs.VirtualFile.setBinaryContent(VirtualFile.java:457)
at com.intellij.openapi.vfs.VfsUtil.saveText(VfsUtil.java:60)
at com.jetbrains.php.framework.FrameworkDataService$3.run(FrameworkDataService.java:173)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:889)
at com.jetbrains.php.framework.FrameworkDataService.saveData(FrameworkDataService.java:125)
at com.jetbrains.php.framework.FrameworkDataService.loadChanged(FrameworkDataService.java:404)
at com.jetbrains.php.framework.FrameworkCommandsForm.apply(FrameworkCommandsForm.java:334)
at com.jetbrains.php.framework.FrameworkCommandsConfigurable.apply(FrameworkCommandsConfigurable.java:75)
at com.intellij.openapi.options.newEditor.OptionsEditor.apply(OptionsEditor.java:733)
at com.intellij.openapi.options.newEditor.OptionsEditorDialog$ApplyAction.actionPerformed(OptionsEditorDialog.java:270)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:694)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:530)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:416)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:374)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:709)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:416)
at com.intellij.openapi.ui.DialogWrapper.showAndGetOk(DialogWrapper.java:1323)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1308)
at com.intellij.ide.actions.ShowSettingsUtilImpl.a(ShowSettingsUtilImpl.java:65)
at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:47)
at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:63)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:162)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:132)
at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:303)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:694)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:530)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:416)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:374)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


20.02.2012
Version 0.4.0 now works for me too. Its quite helpful, since PHPStorms HTML mode acted kind of wierd on SOY files. Thanks, Ed.
16.02.2012
Works great so far :) Thanks a ton. Helps a lot
31.01.2012
In PHPStorm 3.0 (Build PS-111.19) I get the following startup error with the current plugin version (0.3.2):

Could not initialize class net.venaglia.nondairy.i18n.I18N: Could not initialize class net.venaglia.nondairy.i18n.I18N
java.lang.NoClassDefFoundError: Could not initialize class net.venaglia.nondairy.i18n.I18N
at net.venaglia.nondairy.soylang.SoyFileType.getName(SoyFileType.java:46)
at com.intellij.openapi.options.AbstractSchemesManager.addNewScheme(AbstractSchemesManager.java:44)
[...]

Any idea what I can do about that?
Please  sign in  to leave a comment.