Future of CFML support in IntelliJ beyond 12.x

548 views
Skip to first unread message

Kai Koenig

unread,
May 25, 2013, 10:46:30 PM5/25/13
to cfml-plugin-fo...@googlegroups.com
This is probably more for the Jetbrains team hanging around on this list than a normal discussion thread, sorry.

Now that IntelliJ IDEA 13 EAP is out, I'd be keen to learn what the plans are for the CFML plugin in IntelliJ IDEA. Quite frankly, I can't remember any noticeable improvements having been made in the version 12 cycle, which is a bit disappointing after Jetbrains had committed to the _commercial_ plugin around v10 and v11 and actually fixed a bunch of things in version 11 instead of making the plugin available as open source.

Among other things, there's still the apparent core issue of IntelliJ IDEA under the hood needing to undergo some refactoring to better support languages with a mix of markup and script, which was promised a while ago but I haven't seen many public discussion about. In a lot of scenarios copy & paste in CFML is still weird (at best) to broken/bizarre and the promise was that this would all be fixed and looked into with those underlying changes. Other examples are syntax for cfscript support across ACF9/10, improved support for Railo syntax etc etc.

I'm in the lucky position that I use IntelliJ IDEA for a few other technologies, too - but if one is a CFML-only user, one would certainly ask themselves "Why would I bother to upgrade to 13 after 12 has hardly delivered anything?".

So, this is just a shout-out, what's the plan for CFML in IntelliJ IDEA beyond the current 12.x releases?

Cheers
Kai


Fedor Korotkov

unread,
May 27, 2013, 5:46:56 AM5/27/13
to cfml-plugin-fo...@googlegroups.com
Hi Kay,

Some design mistakes were made during early stage of the plugin development. Unfortunately formatting improvements in the platform which were made to better support template languages don't affect CFML cause of the mistakes mentioned above.

Original author of the plugin doesn't contribute to the plugin since summer. I'll try to fix/add some features through IntelliJ 13 development cycle, but honestly I don't think it will be much enough. Please add links to the most important issues for you to fix and I'll try to fix them.

Best,
Fedor

воскресенье, 26 мая 2013 г., 6:46:30 UTC+4 пользователь Kai Koenig написал:

Jamie Krug

unread,
May 27, 2013, 11:08:10 AM5/27/13
to cfml-plugin-fo...@googlegroups.com


--
You received this message because you are subscribed to the Google Groups "CFML plugin for IntelliJ IDEA" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cfml-plugin-for-inte...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Dave Merrill

unread,
May 27, 2013, 11:09:41 AM5/27/13
to CFML plugin for IntelliJ IDEA
Thanks for being candid Fedor, but this is sad news. It appears I got interested in IDEA right at a time of unmatched CFML activity, when Valeria was working on it full time, at least sometimes, when the plugin was pulled in-house after being open source. 

There hasn't been that much advancement since then, and judging from your msg, some of that is due to architectural mistakes made early on that make it unable to advance in some ways as the platform does.

To me, that sounds like it's unmaintainable, and frankly, doomed over time, unless the effort is made to get it back into a more workable state. 

I'm aware that CFML isn't your major market, but IDEA for CFML has some very enthusiastic supporters, myself included. There's also been discussion of the major marketing impact that a working CFML debugger would have, especially if it was cross-platform ACF/Railo, and some motion in that direction from JetBrains, but not enough to actually get it  out there and reap the benefits.

Given the size of the CFML market, would you think there's any chance JetBrains will put the effort into the sort of revamp you say is needed? If not, what's the plan, limp along, while CFML support gets further and further behind other languages? Make it open source again? Would JetBrains help by laying out the mistakes that were made, and providing a little direction towards remedying them? (I wish I had the Java chops to help myself, but honestly, I work very little in Java, and have only very thin experience there.)

I don't mean to be banging on you or JetBrains. I sincerely appreciate all the effort that goes into IDEA and the candor of your msg.  I use IDEA pretty much all day every day, probably 50/50 CFML and JavaScript, so I care about this. I'm just trying to have a direct and honest conversation about the future of IDEA and CFML, and do what I can to help chart a course forward.

I'll try to collect specific issues I'm interested in and post back, but I bet Jamie's hit most of them.

Dave Merrill


On Mon, May 27, 2013 at 5:46 AM, Fedor Korotkov <fedor.k...@gmail.com> wrote:

Dave Merrill

unread,
May 27, 2013, 12:34:23 PM5/27/13
to CFML plugin for IntelliJ IDEA

Kai Koenig

unread,
May 27, 2013, 11:05:05 PM5/27/13
to cfml-plugin-fo...@googlegroups.com
That's very, very sad. I, as others, appreciate Fedor's willingness to look and hopefully fix a variety of the currently logged issues. 

But Fedor's honest (again, very appreciated) statement means that IntelliJ IDEA CFML is going to be a cul-de-sac from now on --- unless Jetbrains dedicates the time and resources to either :

- fix the architectural issues, 
- build a new/better version of the commercial plugin or

make the plugin finally open-source so that the community can pick up the situation and hopefully run with it.

To me, this is a typical case of open-sourcing it. If Jetbrains don't have any interest in actually putting time and effort into making the plugin work as well as others like PHP, JS etc (which I can totally understand) don't drag it along and let it die at the side of the road - that will finally drive people off the overall IntelliJ IDEA platform.

Cheers
Kai

--
Kai Koenig - Ventego Creative Ltd
ph: +64 4 889 3626 - mob: +64 21 928 365 /  +61 435 179 091
web: http://www.ventego-creative.co.nz

Blog in Black: http://www.bloginblack.de
2DDU Podcast: http://www.2ddu.com/
Twitter: @AgentK
--

Jamie Krug

unread,
May 28, 2013, 9:26:24 PM5/28/13
to cfml-plugin-fo...@googlegroups.com
Well said, Kai. +1.

Marius

unread,
Jul 10, 2013, 6:13:33 AM7/10/13
to cfml-plugin-fo...@googlegroups.com
Any update on the CFML plugin ? We too would like to see the commercial plugin to catch up, or be licensed as open source

Op zondag 26 mei 2013 04:46:30 UTC+2 schreef Kai Koenig het volgende:

Kai Koenig

unread,
Jul 10, 2013, 6:30:59 AM7/10/13
to cfml-plugin-fo...@googlegroups.com
Quite frankly, I think Jetbrains have lost interest.

Cheers
Kai

Dave Merrill

unread,
Jul 12, 2013, 6:51:55 AM7/12/13
to cfml-plugin-fo...@googlegroups.com
That does appear to be the case, and it's a real shame. I use IDEA every day all day, and I still love it, but as time goes on it gets less and less tenable for CFML work. Already none of the new CF 10 tags or  functions are recognized.

I haven't tried IDEA 13 yet, and if nothing at all happens for CFML, I may not upgrade. CF 10 capability isn't listed in any release note I've seen, so I'm not that hopeful. Has anyone checked this? Seems like the least they could do

It feels a bit like they're trying to play both sides of the game, requiring the paid version of IDEA to use CFML, keeping the plug-in in-house, but not putting much effort into it.

OTOH, if JetBrains were to open source it, modernizing it must be difficult, if it's too hard for them to take it on, even with their deep knowledge and experience on the platform. Perhaps they'd help document what needs to be done, maybe help spin some outside people up on it.

Really too bad. IDEA is such great technology, CFML is so productive and powerful, on the face of it it's so close to being a great combination. Don't know as I can see myself going back to Eclipse or CF Builder though. Sad.

Dave Merrill

Marius

unread,
Jul 17, 2013, 9:13:20 AM7/17/13
to cfml-plugin-fo...@googlegroups.com
Too bad, we too are stuck with the current version if the support and progression of the plugin has ceased. We will probably migrate to a different IDE since the plugin has become counterproductive (continuously having to correct indention, suggestion and formatting mistakes). 


Op zondag 26 mei 2013 04:46:30 UTC+2 schreef Kai Koenig het volgende:
This is probably more for the Jetbrains team hanging around on this list than a normal discussion thread, sorry.

Doug Hughes

unread,
Jul 17, 2013, 12:28:37 PM7/17/13
to cfml-plugin-fo...@googlegroups.com
I'm sure I'll regret this, but I've been thinking about making a barebones CFML plugin for IntelliJ.  I was thinking it might somehow have a set of configuration details which indicated what tags and functions were available in various versions of CF and was easy to update. This configuration info would be used in the ID to highlight syntax and suggest values for tag attributes.  Everything else, for the most part, would simply be a plain text editor that indented for you.  

I'm not sure how practical this is since I've never looked into writing an IntelliJ plugin, but I imagine creating a super simple plugin wouldn't be horrendously difficult.  If open sourced, the community could maintain and enhance it as CF engines evolve.  

This would let us all keep using IntelliJ, which we all love, but we'd ideally have minimally good CFML support.  

Anyone want to pay for my time to do this? ;)

Dave Merrill

unread,
Jul 17, 2013, 1:48:46 PM7/17/13
to cfml-plugin-fo...@googlegroups.com
Well huzzah for you!

Do you think you're likely to build something better than the current IntelliJ plugin though? Yes it doesn't have all the current tags and functions, but it does have a whole lot of stuff that either you'd have to build or wouldn't be there.

The other big question is what exactly Fedor meant by the "design mistakes" that were made long ago in the IntelliJ plugin. If someone working for them, with their knowledge and support close by, went so fundamentally wrong that it couldn't leverage later updates to the platform, I wonder how easy it'd be for you not to do the same.

I suppose that depends on how forthcoming IntelliJ would be on the details of how to do it right. Which bumps up against the question of whether they're really going to keep on with this you-have-to-pay-for-it-and-it's-not-open-source but we're-not-going-to-actually-work-on-it strategy. Hard to understand how the market's too small to be worthwhile working on it, but the revenue from those few people is so important that it can't be open source so other people can.


Just for the record, I know I sound a bit annoyed with IntelliJ, and I'm sorry for that. I really do appreciate how awesome IDEA is, and all the work that went into the CFML plugin. It's just a very frustrating situation.

Dave Merrill


On Wednesday, July 17, 2013 12:28:37 PM UTC-4, Doug Hughes wrote:
I'm sure I'll regret this, but I've been thinking about making a barebones CFML plugin for IntelliJ.  I was thinking it might somehow have a set of configuration details which indicated what tags and functions were available in various versions of CF and was easy to update. This configuration info would be used in the ID to highlight syntax and suggest values for tag attributes.  Everything else, for the most part, would simply be a plain text editor that indented for you.  

I'm not sure how practical this is since I've never looked into writing an IntelliJ plugin, but I imagine creating a super simple plugin wouldn't be horrendously difficult.  If open sourced, the community could maintain and enhance it as CF engines evolve.  

This would let us all keep using IntelliJ, which we all love, but we'd ideally have minimally good CFML support.  

Anyone want to pay for my time to do this? ;)


Doug Hughes

Doug Hughes

unread,
Jul 17, 2013, 6:02:45 PM7/17/13
to cfml-plugin-fo...@googlegroups.com
Dave,

I'm not entirely convinced that IntelliJ ever really had an "expert" creating their CFML plugin.  My guess is that someone was assigned the task and they went and read the documentation and did their best. I suspect I may know the language better than that person.  

I'm curious about your comment, "it does have a whole lot of stuff that either you'd have to build or wouldn't be there". From my perspective, there's not a whole lot that the CF plugin does beyond syntax highlighting right now.  There are basic refactorings to rename files or functions.  I suppose there's also the view that shows functions and file structure.  I don't personally find the code suggestions very useful in many cases.  For example, it can't always resolve CFCs, includes, etc. Sometimes it can't even tell what values are in scope.

From my perspective, the plugin gives me just enough syntax highlighting and attribute/argument suggestions to be a bit better than a simple text editor.  IE, it's not so bad that it pushes me away from IntelliJ as a whole.  If I were to meet that level of support while improving the code formatting and language feature support, it would be a big win for me personally.

That said, projects like this are always more work than they seem on the surface.  I'm probably crazy to even think about it.

--

Mark Mandel

unread,
Jul 17, 2013, 8:29:34 PM7/17/13
to cfml-plugin-fo...@googlegroups.com
When Kai and I wrote a little IntelliJ plugin, we found the documentation not great, but examples really helped.

I particularly found the la-clojure plugin a great resource:

They have since done a series of blog posts and webinars on how to do custom language plugin development:

Worth checking out.

Mark

Kai Koenig

unread,
Jul 17, 2013, 9:26:32 PM7/17/13
to cfml-plugin-fo...@googlegroups.com
We didn't have to do massive integration with the editor system though for the Tmux plugin to work.

I'd say there's another level of craziness involved with that :-)

K

--

Mark Mandel

unread,
Jul 17, 2013, 9:35:43 PM7/17/13
to cfml-plugin-fo...@googlegroups.com

On Thu, Jul 18, 2013 at 11:26 AM, Kai Koenig <grmb...@gmail.com> wrote:
massive integration with the editor system

Not sure what you mean by that?  It would be a custom language plugin, just like any other language support.

Mark

Kai Koenig

unread,
Jul 17, 2013, 11:39:59 PM7/17/13
to cfml-plugin-fo...@googlegroups.com
Yeah, but what I was saying was is that I think our plugin was trivial against a custom language plugin :)

Kai

Mark Mandel

unread,
Jul 17, 2013, 11:42:20 PM7/17/13
to cfml-plugin-fo...@googlegroups.com
Oh that is totally true - but just passing on lessons learnt and all that.

Mark


--
You received this message because you are subscribed to the Google Groups "CFML plugin for IntelliJ IDEA" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cfml-plugin-for-inte...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Dave Merrill

unread,
Jul 18, 2013, 6:59:22 AM7/18/13
to cfml-plugin-fo...@googlegroups.com
When I was first checking out IDEA, Valeria was working on it. In hindsight, given Fedor's comments, she might not have been an expert, but she fixed a whole slew of bugs very quickly (like during my 30 day eval!), many of which I personally reported, along with others on this list. It was exiting that a software vendor was so responsive, and the plugin improved hugely in a short period. It's my impression that she was a student at the time, not a full-time JetBrains employee.

Sadly, she stopped working on CFML full time after a while, and progress slowed, a lot. It wasn't until relatively recently though that work on CFML seems to have pretty much stopped, to the point of not updating language keywords a year after ACF 10's release.


As to what CFML-specific features IDEA has that would need to be recreated in a new plugin, I'm not sure which of these need need language-specific implementations, but here are some features I use that may:
- Syntax error highlighting, to the imperfect degree that it's correct, is a useful sanity check
- Tag matching is handy too
- The file structure popup and the navigate to declaration shortcut (imperfect but still useful); I use these both a lot
- Method and variable completion and method argument hints, again imperfect but useful
- Server mappings (don't always work, but somewhat useful)
- CFML tag attribute and function argument help I use occasionally

Could I live without any or all of these? Would I keep using IDEA if it didn't have them? Probably yes to both, but I'd be sad. Still, fundamentally, IDEA rocks in general, and works pretty well for several other languages I work in. so I'd consider staying on anyway.

Just for the record, I'm a Java wimp at this point, or I'd be all over this (potential) project myself. IDEA is clearly a hugely capable platform to build on.


Just to say it, it bothers me that JetBrains isn't saying anything here, but I suppose they no longer watch this list much either.

Dave Merrill


On Wednesday, July 17, 2013 6:02:45 PM UTC-4, Doug Hughes wrote:
Dave,

I'm not entirely convinced that IntelliJ ever really had an "expert" creating their CFML plugin.  My guess is that someone was assigned the task and they went and read the documentation and did their best. I suspect I may know the language better than that person.  

I'm curious about your comment, "it does have a whole lot of stuff that either you'd have to build or wouldn't be there". From my perspective, there's not a whole lot that the CF plugin does beyond syntax highlighting right now.  There are basic refactorings to rename files or functions.  I suppose there's also the view that shows functions and file structure.  I don't personally find the code suggestions very useful in many cases.  For example, it can't always resolve CFCs, includes, etc. Sometimes it can't even tell what values are in scope.

From my perspective, the plugin gives me just enough syntax highlighting and attribute/argument suggestions to be a bit better than a simple text editor.  IE, it's not so bad that it pushes me away from IntelliJ as a whole.  If I were to meet that level of support while improving the code formatting and language feature support, it would be a big win for me personally.

That said, projects like this are always more work than they seem on the surface.  I'm probably crazy to even think about it.

Doug Hughes


On Wed, Jul 17, 2013 at 1:48 PM, Dave Merrill wrote:
Well huzzah for you!

Do you think you're likely to build something better than the current IntelliJ plugin though? Yes it doesn't have all the current tags and functions, but it does have a whole lot of stuff that either you'd have to build or wouldn't be there.

The other big question is what exactly Fedor meant by the "design mistakes" that were made long ago in the IntelliJ plugin. If someone working for them, with their knowledge and support close by, went so fundamentally wrong that it couldn't leverage later updates to the platform, I wonder how easy it'd be for you not to do the same.

I suppose that depends on how forthcoming IntelliJ would be on the details of how to do it right. Which bumps up against the question of whether they're really going to keep on with this you-have-to-pay-for-it-and-it's-not-open-source but we're-not-going-to-actually-work-on-it strategy. Hard to understand how the market's too small to be worthwhile working on it, but the revenue from those few people is so important that it can't be open source so other people can.


Just for the record, I know I sound a bit annoyed with IntelliJ, and I'm sorry for that. I really do appreciate how awesome IDEA is, and all the work that went into the CFML plugin. It's just a very frustrating situation.

Dave Merrill


On Wednesday, July 17, 2013 12:28:37 PM UTC-4, Doug Hughes wrote:
I'm sure I'll regret this, but I've been thinking about making a barebones CFML plugin for IntelliJ.  I was thinking it might somehow have a set of configuration details which indicated what tags and functions were available in various versions of CF and was easy to update. This configuration info would be used in the ID to highlight syntax and suggest values for tag attributes.  Everything else, for the most part, would simply be a plain text editor that indented for you.  

I'm not sure how practical this is since I've never looked into writing an IntelliJ plugin, but I imagine creating a super simple plugin wouldn't be horrendously difficult.  If open sourced, the community could maintain and enhance it as CF engines evolve.  

This would let us all keep using IntelliJ, which we all love, but we'd ideally have minimally good CFML support.  

Anyone want to pay for my time to do this? ;)


Doug Hughes

Fedor Korotkov

unread,
Jul 25, 2013, 12:13:46 PM7/25/13
to cfml-plugin-fo...@googlegroups.com
Hi All,

We've just opened the plugin. Here are sources.

I'm very sorry about the progress in the past. It's very hard for me personally to fix bugs in ColdFusion support cause I don't know ColdFusion well. I think together we can improve the plugin. With my knowledge of IntelliJ platform and your knowledge of ColdFusion. Don't hesitate to ask me any questions about the plugin. I'll try to help.

Best,
Fedor

Matt Quackenbush

unread,
Jul 25, 2013, 12:14:49 PM7/25/13
to cfml-plugin-fo...@googlegroups.com
THANK YOU!  This is absolutely the Best News of the Month Award winner!  :-)

--

Tracy Logan

unread,
Jul 25, 2013, 12:58:59 PM7/25/13
to cfml-plugin-fo...@googlegroups.com
I'm with Matt -- this is exciting news indeed; thanks very much for doing this!

=tracy

Doug Hughes

unread,
Jul 25, 2013, 1:10:42 PM7/25/13
to cfml-plugin-fo...@googlegroups.com
I must say, this is quite awesome!

Congrats!

Doug


--

Dave Merrill

unread,
Jul 25, 2013, 4:05:19 PM7/25/13
to cfml-plugin-fo...@googlegroups.com
Personally, I have mixed feelings about this news, but I'm very very glad there IS news.

On the one hand, clearly JetBrains has way more experience building IDEA plugins than anyone, so your expertise will be missed.

On the other, clearly CFML wasn't a profitable proposition for you, so it had an understandably lower priority than lots of other things.

Bottom line, now we'll see what the Java-headed folks in the CFML community can do to move this forward. It is very exiting to have something like this open source, and we thank you very much, both for the work, and for opening it up, given the state of it at JetBrains.

Dave Merrill

Dave Merrill

unread,
Jul 25, 2013, 5:49:08 PM7/25/13
to CFML plugin for IntelliJ IDEA

Does this mean it now can be used with the Community edition of IDEA? I don't care personally, because IDEA has such value for me, in a bunch of languages, but it'd be easier to get other people to at least try it if it was free.

Dave Merrill

--

Kai Koenig

unread,
Jul 25, 2013, 6:08:37 PM7/25/13
to cfml-plugin-fo...@googlegroups.com
Hi Fedor,

that's awesome, thanks so much.

Just a question that might need some clarification - all the code is under the Apache 2 license now, isn't it? I just figured it out from your latest commit.

What's IntelliJ's vision for moving forward - are you going to be in charge on IntelliJ's end and accepting Pull Requests - or is the idea rather for the community to run with it ourselves, wherever that might take the plugin?

Cheers
Kai


--
You received this message because you are subscribed to the Google Groups "CFML plugin for IntelliJ IDEA" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cfml-plugin-for-inte...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Jamie Krug

unread,
Jul 26, 2013, 12:34:44 AM7/26/13
to cfml-plugin-fo...@googlegroups.com
Great news! Thanks Fedor!

@Dave: I'm pretty sure I'd heard that the CFML plugin is relying upon IDEA Ultimate APIs, and the project's GitHub "ReadMe.txt" mentions an Ultimate SDK.

Fedor Korotkov

unread,
Jul 26, 2013, 6:24:43 AM7/26/13
to cfml-plugin-fo...@googlegroups.com
Dave, You can modify the plugin to work with Community Edition but some function won't work(for example sql part because sql plugin depends on Ultimate).

Kai, Yes, sources are under the Apache 2 license. Of course I will check Pull Requests and merge them. Also provide some feedback. 
To unsubscribe from this group and stop receiving emails from it, send an email to cfml-plugin-for-intellij-idea+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

Dave Merrill

unread,
Jul 26, 2013, 9:51:58 AM7/26/13
to cfml-plugin-fo...@googlegroups.com
This is all excellent, Fedor, thanks so much,to you and JetBrains.

Re a version that's compatible with Community, I'd personally rather have the extra features, and it seems early to fork the plugin into two versions. Of course anyone else is free to do as they see fit.

Dave Merrill

Fedor Korotkov

unread,
Jul 26, 2013, 9:59:57 AM7/26/13
to cfml-plugin-fo...@googlegroups.com
Dave,

Probably we should extract some feautures and make an optional dependency on sql plugin. Sql part simply won't work in Community.

Check Dart plugin.xml for details.

<depends optional="true" config-file="dart-copyright.xml">com.intellij.copyright</depends> includes extensions and components from dart-copyright.xml if Copyright plugin is installed and enabled.

Best,
Fedor


2013/7/26 Dave Merrill <enig...@gmail.com>
--
You received this message because you are subscribed to a topic in the Google Groups "CFML plugin for IntelliJ IDEA" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cfml-plugin-for-intellij-idea/CGSwIAehKN4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cfml-plugin-for-inte...@googlegroups.com.

Dave Merrill

unread,
Jul 26, 2013, 10:53:38 AM7/26/13
to cfml-plugin-fo...@googlegroups.com
I'd be happy take a look at this, but I have to get set up for plugin developmen (which I've never done before) first, and I'm pretty weak in java.

If someone else wants to take a run at it, it'd be a pretty cool first outcome of the plugin going open source.


Other topic but related: How does distribution of the plugin work from here? I assume that JetBrains won't be distributing it, so updates to it won't show up as updates to the existing plugin, right? Please excuse if these are ignorant questions, as I said, I've never been involved with an IDEA plugin, don't know much about doing it or the ecosystem around it.

Dave Merrill


On Friday, July 26, 2013 9:59:57 AM UTC-4, Fedor Korotkov wrote:
Dave,

Probably we should extract some feautures and make an optional dependency on sql plugin. Sql part simply won't work in Community.

Check Dart plugin.xml for details.

<depends optional="true" config-file="dart-copyright.xml">com.intellij.copyright</depends> includes extensions and components from dart-copyright.xml if Copyright plugin is installed and enabled.

Best,
Fedor


2013/7/26 Dave Merrill>
This is all excellent, Fedor, thanks so much,to you and JetBrains.

Fedor Korotkov

unread,
Jul 27, 2013, 8:52:39 AM7/27/13
to cfml-plugin-fo...@googlegroups.com
The plugins is still a part of the Ultimate edition. All changes will be included in Ultimate builds.

It's very simple to configure this project to develop the plugin. Please check this video. The only difference that you should choose CFML folder instead of Dart folder. ;-)


2013/7/26 Dave Merrill <enig...@gmail.com>
--

Dave Merrill

unread,
Jul 27, 2013, 9:42:33 AM7/27/13
to cfml-plugin-fo...@googlegroups.com
So updates to the git repo will be shipped with Ultimate?

How does that relate to the possibility of a feature-limited version that would work with the Community edition of IDEA? Apologies if I'm being thick.

Dave Merrill

On Saturday, July 27, 2013 8:52:39 AM UTC-4, Fedor Korotkov wrote:
The plugins is still a part of the Ultimate edition. All changes will be included in Ultimate builds.

It's very simple to configure this project to develop the plugin. Please check this video. The only difference that you should choose CFML folder instead of Dart folder. ;-)


2013/7/26 Dave Merrill
I'd be happy take a look at this, but I have to get set up for plugin developmen (which I've never done before) first, and I'm pretty weak in java.

Fedor Korotkov

unread,
Jul 27, 2013, 9:57:18 AM7/27/13
to cfml-plugin-fo...@googlegroups.com
It's actually very simple. All "parts" of the plugins are described in plugin.xml file. We can manage availability of some "parts" by dependencies on different plugins.

For example if we have some sql dependent parts in sql-support.xml then we should add such optional dependency to plugin.xml:

<depends optional="true" config-file="sql-support.xml">com.intellij.sql</depends>

Our plugin manager will check if we have sql plugin installed and will load "parts" from sql-support.xml in Ultimate which has sql plugin and won't load them in Community so we won't get ClassNotFoundException. It means that you won't get all functions in Community only part of them.




2013/7/27 Dave Merrill <enig...@gmail.com>
--

Doug Hughes

unread,
Jul 27, 2013, 12:25:12 PM7/27/13
to cfml-plugin-fo...@googlegroups.com
I just forked the plugin repo and I'm trying to build it now... I'll report back if I have any issues.

--
You received this message because you are subscribed to the Google Groups "CFML plugin for IntelliJ IDEA" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cfml-plugin-for-inte...@googlegroups.com.

Doug Hughes

unread,
Jul 27, 2013, 1:35:43 PM7/27/13
to cfml-plugin-fo...@googlegroups.com
Fedor,

I'm trying to build the CFML plugin and have run into a hiccup.  It's complaining that it can't find "LocatableConfigurationBase".  I see a bunch of these errors.  It seems that the LocatableConfigurationBase is supposed to be in 

java: /Volumes/Case Sensitive/Projects/intellij-plugins/CFML/src/com/intellij/coldFusion/mxunit/CfmlUnitRunConfiguration.java:50: cannot find symbol
symbol: class LocatableConfigurationBase

Actually, as I look into this further, it seems like there are a few other issues.  35 errors when building the project.  I've followed the readme instructions, I think, but I'm getting pretty much nowhere.  Is there any chance you could flesh out the readme a bit so that a newbie to plugin development might be able to follow step-by-step to get this up and running?

As a note, some of the instructions I found to build plugins say you need to have the idea community edition project downloaded and ready.  I did do this, but it occurred to me that perhaps this wasn't correct since the plugin currently relies on the Ultimate edition.  

Any thoughts or suggestions?

Thanks,

Fedor Korotkov

unread,
Jul 28, 2013, 6:10:34 AM7/28/13
to cfml-plugin-fo...@googlegroups.com
Unfortunately a few days ago there was some major refactoring of run configurations API. With the next EAP build of IntelliJ the plugin will compile without errors. Sorry for this inconvenience.

Doug Hughes

unread,
Aug 16, 2013, 9:08:15 AM8/16/13
to cfml-plugin-fo...@googlegroups.com
Fedor - 

I just tried building the plugin again. While I made it further this time, I'm running into a problem building the plugin with the latest IntelliJ 13 plugin:

/Volumes/Case Sensitive/Projects/intellij-plugins/CFML/source_for_IDEA9/com/intellij/coldFusion/model/psi/CfmlVariantsProcessor.java
java: constructor JavaMethodResolveHelper in class com.intellij.psi.resolve.JavaMethodResolveHelper cannot be applied to given types;
  required: com.intellij.psi.PsiElement,com.intellij.psi.PsiFile,com.intellij.psi.PsiType[]
  found: com.intellij.psi.PsiElement,com.intellij.psi.PsiType[]
  reason: actual and formal argument lists differ in length
java: constructor JavaMethodResolveHelper in class com.intellij.psi.resolve.JavaMethodResolveHelper cannot be applied to given types;
  required: com.intellij.psi.PsiElement,com.intellij.psi.PsiFile,com.intellij.psi.PsiType[]
  found: com.intellij.psi.PsiElement,<nulltype>
  reason: actual and formal argument lists differ in length

I'm not finding this object, PsiElement or PsiType[] in the source tree or in the idea.jar anywhere.  Am I missing something?

Also, I was wondering if you'd be at all willing to do a short screencast / presentation (you can use my Adobe Connect account if need be) showing how to configure the project so it will build and run tests?  I realize that may be a tall order, but it never hurts to ask.

Thanks,

Fedor Korotkov

unread,
Aug 16, 2013, 9:22:33 AM8/16/13
to cfml-plugin-fo...@googlegroups.com
Hi Doug,

Check this screencast about configuring Dart module. To configure CFML module just select CFML folder instead Dart. Also please check ReadMe.txt in CFML folder. Note: please use the latest EAP build as your plugin SDK.

Does it work for you now? If not I'll capture an additional screencast.

Best,
Fedor


2013/8/16 Doug Hughes <do...@doughughes.net>

Fedor Korotkov

unread,
Aug 16, 2013, 9:25:19 AM8/16/13
to cfml-plugin-fo...@googlegroups.com
Forgot the link :-) 

Best,
Fedor


2013/8/16 Fedor Korotkov <fedor.k...@gmail.com>

Doug Hughes

unread,
Aug 16, 2013, 3:56:54 PM8/16/13
to cfml-plugin-fo...@googlegroups.com
Thanks for your help! I'll try to give this a whirl this weekend.

FYI, I am using the EAP and I did add the SQL and db dependencies as libs.  But, like I said, I'll give it another whirl this weekend.

Doug

Damon Perron-Laurin

unread,
Aug 16, 2013, 9:52:29 PM8/16/13
to cfml-plugin-fo...@googlegroups.com
Hi guys, i'm just droping my version of the plugin for IntelliJ IDEA Community (eap 13 required) in case you just want to try it out withtout having to download/clean/compile it. 

I didn't have much time (at work) to put it together so it doesent have any SQL feature (except inside .sql file) or complex code completion (cfml standart methods and "local" scope work).

CFML-plugin.jar

Doug Hughes

unread,
Aug 17, 2013, 1:15:59 PM8/17/13
to cfml-plugin-fo...@googlegroups.com
@Fedor - I did manage to make it further into the process by following the Dart screen cast.  Unfortunately, there are still two errors cropping up about the JavaMethodResolveHelper from /com/intellij/coldFusion/model/psi/CfmlVariantsProcessor.java:

java: constructor JavaMethodResolveHelper in class com.intellij.psi.resolve.JavaMethodResolveHelper cannot be applied to given types;
  required: com.intellij.psi.PsiElement,com.intellij.psi.PsiFile,com.intellij.psi.PsiType[]
  found: com.intellij.psi.PsiElement,com.intellij.psi.PsiType[]
  reason: actual and formal argument lists differ in length
java: constructor JavaMethodResolveHelper in class com.intellij.psi.resolve.JavaMethodResolveHelper cannot be applied to given types;
  required: com.intellij.psi.PsiElement,com.intellij.psi.PsiFile,com.intellij.psi.PsiType[]
  found: com.intellij.psi.PsiElement,<nulltype>
  reason: actual and formal argument lists differ in length

The relevant code:

line 72) myMethods = new JavaMethodResolveHelper(parent, parameterTypes);

and

line 75) myMethods = new JavaMethodResolveHelper(parent, null);

It seems that the JavaMethodResolveHelper constructor accepts three arguments, not two.  A bit of guessing and Googling suggested that the missing argument was a middle argument of type PsiFile.  I found that I could get a PsiFile object like this:

final PsiFile file = element.getContainingFile();

By doing this, the plugin would compile and run, but 5 tests failed.  I haven't yet take the time to dig into the details of the failures, but I'm wondering if some tests failing is par for the course for the CFML plugin?  Did I do the right thing with the JavaMethodResolveHelper tweak? 

@Damon - Did you have any of these challenges?

Thanks,

On Fri, Aug 16, 2013 at 9:52 PM, Damon Perron-Laurin <damonper...@gmail.com> wrote:
Hi guys, i'm just droping my version of the plugin for IntelliJ IDEA Community (eap 13 required) in case you just want to try it out withtout having to download/clean/compile it. 

I didn't have much time (at work) to put it together so it doesent have any SQL feature (except inside .sql file) or complex code completion (cfml standart methods and "local" scope work).

Fedor Korotkov

unread,
Aug 19, 2013, 5:23:41 AM8/19/13
to cfml-plugin-fo...@googlegroups.com
@Damon, will you make a pull request? ;-)

@Doug, I think you didn't update the repo. Execute "git pull" in intellij-plugins folder. The latest sources have 3 arguments.

Doug Hughes

unread,
Aug 19, 2013, 12:38:07 PM8/19/13
to cfml-plugin-fo...@googlegroups.com
Fedor - you're 100% correct. Apparently I forked the repo on Github a while ago.  I thought my local cloned repo was of JetBrains/intellij-plugins, but apparently it's not. So next chance I get I'll pull the latest updates from the correct repo and try again.
On Mon, Aug 19, 2013 at 5:23 AM, Fedor Korotkov <fedor.k...@gmail.com> wrote:
@Damon, will you make a pull request? ;-)

@Doug, I think you didn't update the repo. Execute "git pull" in intellij-plugins folder. The latest sources have 3 arguments.

--

Damon Perron-Laurin

unread,
Aug 20, 2013, 2:31:00 PM8/20/13
to cfml-plugin-fo...@googlegroups.com
@Doug
Yes I did, from what I can remember I simply added null as a 3rd argument (this is how it was used somewhere else in the project)
Ill check the code as soon has I get a moment at home (I forgot to turn on my computer this morning)

@Fedor
I'll make one this week :)


Le lundi 19 août 2013 12:38:07 UTC-4, Doug Hughes a écrit :
Fedor - you're 100% correct. Apparently I forked the repo on Github a while ago.  I thought my local cloned repo was of JetBrains/intellij-plugins, but apparently it's not. So next chance I get I'll pull the latest updates from the correct repo and try again.
On Mon, Aug 19, 2013 at 5:23 AM, Fedor Korotkov <fedor.k...@gmail.com> wrote:
@Damon, will you make a pull request? ;-)

@Doug, I think you didn't update the repo. Execute "git pull" in intellij-plugins folder. The latest sources have 3 arguments.

--
You received this message because you are subscribed to the Google Groups "CFML plugin for IntelliJ IDEA" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cfml-plugin-for-intellij-idea+unsub...@googlegroups.com.

Maor Leger

unread,
Aug 29, 2013, 2:43:06 PM8/29/13
to cfml-plugin-fo...@googlegroups.com
So question from a newbie here. Should I get the latest plugins from gitHub and update my CFML plugin with the one there? Or should I just hold onto mine (bundled)?

Thanks!

Fedor Korotkov

unread,
Aug 30, 2013, 3:35:20 AM8/30/13
to cfml-plugin-fo...@googlegroups.com, v...@gmail.com

IntelliJ IDEA builds contain all changes. Just use IntelliJ as usual.

You received this message because you are subscribed to a topic in the Google Groups "CFML plugin for IntelliJ IDEA" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cfml-plugin-for-intellij-idea/CGSwIAehKN4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cfml-plugin-for-inte...@googlegroups.com.

Dave Merrill

unread,
Sep 1, 2013, 8:31:21 AM9/1/13
to cfml-plugin-fo...@googlegroups.com, v...@gmail.com
@Doug Hughes and everyone else, has anyone outside of IntelliJ gotten the plugin to build correctly?

I'm asking because I have little enough experience in Java, and zero in IDEA plugin dev, that I'm probably not the best person to debug that process itself. Once it's well documented and known to work, I may be able to contribute, but those initial steps are probably best left to others,

Seems to me like one of the first steps to enhance the plugin should be to teach it about more recent ACF and Railo versions of the language, first new tags and functions, then possibly new syntax like colons for method arguments.

Thanks,
Dave Merrill

Doug Hughes

unread,
Sep 1, 2013, 2:35:02 PM9/1/13
to cfml-plugin-fo...@googlegroups.com, v...@gmail.com
Dave,

I simply haven't had the time to put into this.  I figured if I could get it to build I might be able to fix some of the things that annoy me.  So far I haven't had any luck there.  But I've only put a couple hours into it since it was open sourced.  I'd plan to, of course, but I have to do it on my own schedule.

Thanks,

--
You received this message because you are subscribed to the Google Groups "CFML plugin for IntelliJ IDEA" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cfml-plugin-for-inte...@googlegroups.com.

Dave Merrill

unread,
Sep 1, 2013, 4:02:59 PM9/1/13
to cfml-plugin-fo...@googlegroups.com, v...@gmail.com
No problem, no pressure, only appreciation  (:-). We're all in the same situation I think. I was just wondering if anyone (not just you) had successfully built the plugin.

Thanks,
Dave


On Sunday, September 1, 2013 2:35:02 PM UTC-4, Doug Hughes wrote:
Dave,

I simply haven't had the time to put into this.  I figured if I could get it to build I might be able to fix some of the things that annoy me.  So far I haven't had any luck there.  But I've only put a couple hours into it since it was open sourced.  I'd plan to, of course, but I have to do it on my own schedule.

Thanks,

Doug Hughes
Reply all
Reply to author
Forward
0 new messages