<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>JavaFX for IntelliJ IDEA</title>
	<atom:link href="http://fx4idea.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fx4idea.wordpress.com</link>
	<description>Plugin development blog</description>
	<lastBuildDate>Fri, 27 Mar 2009 17:30:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='fx4idea.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>JavaFX for IntelliJ IDEA</title>
		<link>http://fx4idea.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://fx4idea.wordpress.com/osd.xml" title="JavaFX for IntelliJ IDEA" />
	<atom:link rel='hub' href='http://fx4idea.wordpress.com/?pushpress=hub'/>
		<item>
		<title>The Java Posse talks about Plugins</title>
		<link>http://fx4idea.wordpress.com/2009/03/27/the-java-posse-talks-about-plugins/</link>
		<comments>http://fx4idea.wordpress.com/2009/03/27/the-java-posse-talks-about-plugins/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 17:30:19 +0000</pubDate>
		<dc:creator>fx4idea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fx4idea.wordpress.com/?p=67</guid>
		<description><![CDATA[On their last podcast the java posse talks about plugins. Go listen to it. It&#8217;s interesting as usual. (But the sound is so-so from the Roundup. But it&#8217;s interesting stuff and free so can&#8217;t really complain to much) Their Podcast<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=67&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm1.static.flickr.com/207/513204721_b34837dbae.jpg?v=0" alt="The Posse" style="float:right;width:200px;">On their last podcast the java posse talks about plugins. Go listen to it. It&#8217;s interesting as usual. (But the sound is so-so from the Roundup. But it&#8217;s interesting stuff and free so can&#8217;t really complain to much)</p>
<p><a href="http://javaposse.com/index.php?post_id=447632">Their Podcast</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fx4idea.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fx4idea.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fx4idea.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fx4idea.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fx4idea.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fx4idea.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fx4idea.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fx4idea.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fx4idea.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fx4idea.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fx4idea.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fx4idea.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fx4idea.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fx4idea.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=67&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fx4idea.wordpress.com/2009/03/27/the-java-posse-talks-about-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dd0a5accb8bd97703aeb97edff1df42?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fx4idea</media:title>
		</media:content>

		<media:content url="http://farm1.static.flickr.com/207/513204721_b34837dbae.jpg?v=0" medium="image">
			<media:title type="html">The Posse</media:title>
		</media:content>
	</item>
		<item>
		<title>FxLanguage not as singleton in guice but as constant somewhere</title>
		<link>http://fx4idea.wordpress.com/2009/03/26/fxlanguage-not-as-singleton-in-guice-but-as-constant-somewhere/</link>
		<comments>http://fx4idea.wordpress.com/2009/03/26/fxlanguage-not-as-singleton-in-guice-but-as-constant-somewhere/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 17:11:56 +0000</pubDate>
		<dc:creator>fx4idea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fx4idea.wordpress.com/?p=62</guid>
		<description><![CDATA[When I moved over to use Guice instead of just static singletons I already knew I was going to have to still use those static singletons in some instances. Today I discovered I will have to use it for the Language object. It seems even if you create it outside of the Host IDEA. The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=62&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm2.static.flickr.com/1010/1487925030_88e053d6c7.jpg?v=0" alt="Sad for haveing to backtrack" style="float:right;width:200px;">When I moved over to use Guice instead of just static singletons I already knew I was going to have to still use those static singletons in some instances. Today I discovered I will have to use it for the Language object. It seems even if you create it outside of the Host IDEA. The Langauge class you inherit from still prohibits you to create more then one with the same name anyway. (I was trying to just go new FxLangauge() in my unit test and since the Tokens already created a instance it all went haywire). So I moved it to a constant on FxLanguage.INSTANCE. I still think it&#8217;s better then the way the examples are done with for instance GroovyFileType.LANGUAGE. I think there might be more places where I will have to do this and then so be it. I&#8217;m still going to be on the lookout if there&#8217;s another way to solve it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fx4idea.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fx4idea.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fx4idea.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fx4idea.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fx4idea.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fx4idea.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fx4idea.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fx4idea.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fx4idea.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fx4idea.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fx4idea.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fx4idea.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fx4idea.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fx4idea.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=62&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fx4idea.wordpress.com/2009/03/26/fxlanguage-not-as-singleton-in-guice-but-as-constant-somewhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dd0a5accb8bd97703aeb97edff1df42?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fx4idea</media:title>
		</media:content>

		<media:content url="http://farm2.static.flickr.com/1010/1487925030_88e053d6c7.jpg?v=0" medium="image">
			<media:title type="html">Sad for haveing to backtrack</media:title>
		</media:content>
	</item>
		<item>
		<title>First psi tree</title>
		<link>http://fx4idea.wordpress.com/2009/03/25/first-psi-tree/</link>
		<comments>http://fx4idea.wordpress.com/2009/03/25/first-psi-tree/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 17:35:24 +0000</pubDate>
		<dc:creator>fx4idea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fx4idea.wordpress.com/?p=56</guid>
		<description><![CDATA[I&#8217;ve managed to build my first psi trees now. And seen them in the PsiViewer plugin in the host IDEA. It still is a pretty random tree. It simple devides the source into chunks of 10 tokens and then those into chunks of 5. But I&#8217;ve managed to make it compile and all. The tricky [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=56&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm2.static.flickr.com/1291/1400175456_f5bcfb085d.jpg?v=1230068576" alt="Tree" style="float:right;width:200px;"> I&#8217;ve managed to build my first psi trees now. And seen them in the PsiViewer plugin in the host IDEA. It still is a pretty random tree. It simple devides the source into chunks of 10 tokens and then those into chunks of 5. But I&#8217;ve managed to make it compile and all. The tricky part was understanding how the whole parsing process works. I&#8217;m still not totally clear on this. Also I had trouble getting the psiViewer to view the tree but this was fixed but clicking the buttons randomly then it worked&#8230; wierd. I&#8217;ve started to try to unit test the psi parser but it&#8217;s tricky so far. Will write more about that later.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fx4idea.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fx4idea.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fx4idea.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fx4idea.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fx4idea.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fx4idea.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fx4idea.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fx4idea.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fx4idea.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fx4idea.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fx4idea.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fx4idea.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fx4idea.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fx4idea.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=56&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fx4idea.wordpress.com/2009/03/25/first-psi-tree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dd0a5accb8bd97703aeb97edff1df42?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fx4idea</media:title>
		</media:content>

		<media:content url="http://farm2.static.flickr.com/1291/1400175456_f5bcfb085d.jpg?v=1230068576" medium="image">
			<media:title type="html">Tree</media:title>
		</media:content>
	</item>
		<item>
		<title>Guice for Dependency Injection</title>
		<link>http://fx4idea.wordpress.com/2009/03/24/guice-for-dependency-injection/</link>
		<comments>http://fx4idea.wordpress.com/2009/03/24/guice-for-dependency-injection/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 17:48:35 +0000</pubDate>
		<dc:creator>fx4idea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fx4idea.wordpress.com/?p=49</guid>
		<description><![CDATA[I&#8217;m not going to go into the merits of DI, at least not in this post but what I wanted to say was that I now started to use it for building the plugin. To get the extension points, witch is configured as class names, to get injected I had to create delegating wrappers that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=49&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm3.static.flickr.com/2129/2457630328_aa4c898a22.jpg?v=0" alt="Guice" style="float:right;width:200px;" width="200" />I&#8217;m not going to go into the merits of DI, at least not in this post but what I wanted to say was that I now started to use it for building the plugin. To get the extension points, witch is configured as class names, to get injected I had to create delegating wrappers that simply forwards all method calls to a instance it fetches from the guice injector. It would be nice to be able to get around this but right now I don&#8217;t see how.</p>
<p>It add a bit of complexity but in the end it makes everything so much simpler so I believe it will be worth it. I don&#8217;t know how to handle the different component levels in idea, Application, Project, Module. I&#8217;m hoping I can solve it with scopes in guice but else I will just have to use separate injectors for each level. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fx4idea.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fx4idea.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fx4idea.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fx4idea.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fx4idea.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fx4idea.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fx4idea.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fx4idea.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fx4idea.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fx4idea.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fx4idea.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fx4idea.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fx4idea.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fx4idea.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=49&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fx4idea.wordpress.com/2009/03/24/guice-for-dependency-injection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dd0a5accb8bd97703aeb97edff1df42?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fx4idea</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2129/2457630328_aa4c898a22.jpg?v=0" medium="image">
			<media:title type="html">Guice</media:title>
		</media:content>
	</item>
		<item>
		<title>Unit tests for faster lexer development</title>
		<link>http://fx4idea.wordpress.com/2009/03/23/unit-tests-for-faster-lexer-development/</link>
		<comments>http://fx4idea.wordpress.com/2009/03/23/unit-tests-for-faster-lexer-development/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 17:16:24 +0000</pubDate>
		<dc:creator>fx4idea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fx4idea.wordpress.com/?p=44</guid>
		<description><![CDATA[I started using JUnit to test the lexer. It speeds up things a lot. No need to start the host IDEA each time I want to try something and also when I start developing the lexer &#8220;for real&#8221; I will be able to move faster because of the safety net. But that&#8217;s just standard TDD [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=44&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm4.static.flickr.com/3212/2621455898_311c5a8839.jpg?v=0" alt="Green light" style="float:right;width:200px;"> I started using JUnit to test the lexer. It speeds up things a lot. No need to start the host IDEA each time I want to try something and also when I start developing the lexer &#8220;for real&#8221; I will be able to move faster because of the safety net. But that&#8217;s just standard TDD stuff. I didn&#8217;t need to use guice to make this possible yet. I can just instantiate the lexer class directly in the tests. It does not have any dependencies right now except for the token constants.</p>
<p>Two other minor things I&#8217;ve been doing is getting the first syntax highlighting to work with my own lexer. it only highlighted two keywords, numbers and durations and the rest as &#8220;errors&#8221;. But it felt very nice to see those colors. the other thing was I&#8217;ve been looking over some of the parsing code for the example projects and from what I can see it would benefit from some DI. Guice to the rescue. Will just have to figure out how to hook things up. But I&#8217;ve managed to see that I can use external libraries with my plugins so I don&#8217;t see why it should not work.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fx4idea.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fx4idea.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fx4idea.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fx4idea.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fx4idea.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fx4idea.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fx4idea.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fx4idea.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fx4idea.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fx4idea.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fx4idea.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fx4idea.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fx4idea.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fx4idea.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=44&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fx4idea.wordpress.com/2009/03/23/unit-tests-for-faster-lexer-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dd0a5accb8bd97703aeb97edff1df42?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fx4idea</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3212/2621455898_311c5a8839.jpg?v=0" medium="image">
			<media:title type="html">Green light</media:title>
		</media:content>
	</item>
		<item>
		<title>Developing the lexer</title>
		<link>http://fx4idea.wordpress.com/2009/03/22/developing-the-lexer/</link>
		<comments>http://fx4idea.wordpress.com/2009/03/22/developing-the-lexer/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 17:04:43 +0000</pubDate>
		<dc:creator>fx4idea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fx4idea.wordpress.com/?p=35</guid>
		<description><![CDATA[Since it was recomended in the language article and also all example projects I&#8217;ve found so far uses JFlex to build the lexer. The first thing I did was installing the JFlex plugin for IDEA. Seemed to work mostly fine for the examples. Then I tried out some simple things like finding keywords, whitespace and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=35&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm4.static.flickr.com/3043/2948880438_cacccb64c0.jpg?v=0" alt="Tokens" style="float:right;" width="200">Since it was recomended in the language article and also all example projects I&#8217;ve found so far uses JFlex to build the lexer. The first thing I did was installing the JFlex plugin for IDEA. Seemed to work mostly fine for the examples. Then I tried out some simple things like finding keywords, whitespace and setting the rest as &#8220;bad chars&#8221;. The focus of the lexer so far isn&#8217;t to be complete just enough so I can learn how to build the syntax highlighter later on. I played around with it a bit but felt I needed some way to see the output. So I built a wrapper for the Lexer class that just logged all tokens it sent out. After that I just played around with the jflex code to see how to do different things. I already knew regexp so that part wasn&#8217;t so hard. The tricky parts where the &#8220;states&#8221;. But after a while I think I understand those to.</p>
<p>The biggest issue I have with the lexer right now is to know how &#8220;smart&#8221; to make it. Using the states you can make it pretty smart. But I&#8217;m thinking probably alot of that might be better to put into the parser. I&#8217;ll give you a example:</p>
<p>13s could for instance be lexed as [integerLiteral(13)][durationSuffix(s)] or [durationLiteral(13s)] or [secondLiteral(13)]  and probably lots of other ways to. So how to chose witch way to do it? I think I will just have to work with the systems that depend on the data a bit and it will become clearer.</p>
<p>Another minor issue I had was with the example code. They all used the &#8220;Interface for constants&#8221; pattern. I&#8217;ve decided against that. I will instead use &#8220;class for constants&#8221; pattern together with Static import. Personal preference I guess.</p>
<p>Also after having looked through the plugin codes it seems to not use alot of Dependency injection. I think I might try to integrate guice into this. Would make things easier to test in isolation. But I&#8217;m not sure it&#8217;s possible. Will have to look it up.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fx4idea.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fx4idea.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fx4idea.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fx4idea.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fx4idea.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fx4idea.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fx4idea.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fx4idea.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fx4idea.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fx4idea.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fx4idea.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fx4idea.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fx4idea.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fx4idea.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=35&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fx4idea.wordpress.com/2009/03/22/developing-the-lexer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dd0a5accb8bd97703aeb97edff1df42?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fx4idea</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3043/2948880438_cacccb64c0.jpg?v=0" medium="image">
			<media:title type="html">Tokens</media:title>
		</media:content>
	</item>
		<item>
		<title>Registering a file Type</title>
		<link>http://fx4idea.wordpress.com/2009/03/21/registering-a-file-type/</link>
		<comments>http://fx4idea.wordpress.com/2009/03/21/registering-a-file-type/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 16:36:37 +0000</pubDate>
		<dc:creator>fx4idea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fx4idea.wordpress.com/?p=27</guid>
		<description><![CDATA[As they say in the article registering a file type for your language plugin is the first step so I set out to do that. First I downloaded a random 16&#215;16 png file to use as a icon. The I looked in the example code for the scala plugin and pretty much wrote exactly like [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=27&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm4.static.flickr.com/3064/2528013768_a6ab243f37.jpg?v=0" alt="Icon missing" style="float:right;" width="200"></p>
<p>As they say in the article registering a file type for your language plugin is the first step so I set out to do that. First I downloaded a random 16&#215;16 png file to use as a icon. The I looked in the example code for the scala plugin and pretty much wrote exactly like that and it almost just worked. The only issues was:</p>
<p><strong>icon not on the class path</strong><br />
<em><strong>Problem: </strong></em>the plugin could not find the icon on the class path when I started it.<br />
<em><strong>Solution: </strong></em>I had forgoten to configure the java compiler to copy*.png files when it compiles.<br />
<em><strong>Improvements: </strong></em>none needed.</p>
<p><strong>Wrong icon size</strong></p>
<div style="margin-top:0;margin-bottom:0;"><em><strong>Problem: </strong></em>The icon got way to big.<br />
<em><strong>Solution: </strong></em>It turned out I accidentally downloaded a 32&#215;32 image instead of 16&#215;16 as I should have. So a simple resize and then it worked like a charm.</div>
<div style="margin-top:0;margin-bottom:0;"><em><strong>Improvements: </strong></em> I should get a prettier icon then the dummy one I use now.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fx4idea.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fx4idea.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fx4idea.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fx4idea.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fx4idea.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fx4idea.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fx4idea.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fx4idea.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fx4idea.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fx4idea.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fx4idea.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fx4idea.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fx4idea.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fx4idea.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=27&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fx4idea.wordpress.com/2009/03/21/registering-a-file-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dd0a5accb8bd97703aeb97edff1df42?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fx4idea</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3064/2528013768_a6ab243f37.jpg?v=0" medium="image">
			<media:title type="html">Icon missing</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting up the environment</title>
		<link>http://fx4idea.wordpress.com/2009/03/20/setting-up-the-environment/</link>
		<comments>http://fx4idea.wordpress.com/2009/03/20/setting-up-the-environment/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 17:32:50 +0000</pubDate>
		<dc:creator>fx4idea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fx4idea.wordpress.com/?p=18</guid>
		<description><![CDATA[I started out my development by installing some basic tools and things I knew I would need and then starting my first &#8220;Hello world&#8221;-ish project. I already had IntelliJ IDEA installed. So what I knew I needed was the plugin development kid. When that was installed I started a new project and choose the plugin [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=18&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm1.static.flickr.com/61/168920451_407602d6d3.jpg?v=0" alt="Set up" style="float:right;" width="200"></p>
<p>I started out my development by installing some basic tools and things I knew I would need and then starting my first &#8220;Hello world&#8221;-ish project.</p>
<p>I already had IntelliJ IDEA installed. So what I knew I needed was the plugin development kid. When that was installed I started a new project and choose the plugin kind. Then I simply pressed play. And it all worked. Success. After that I created a new project in the IDEA that is running the plugin. This project will host my test-files, not JUnit just files to see if everything works. And this worked to. Success again. I hadn&#8217;t expected this to be a big problem and so far it wasn&#8217;t. I had some issues though.</p>
<p><strong>Slow Host start up</strong><br />
<strong><em>Problem:</em> </strong>When you run a plugin project in IDEA it creates a new instance of the IDE to host your plugin. But the problem was that I have so much plugins and things in my IDEA installation that starting a new instance took a long time. So when I want to try my plugin out it take a long time to start it.<br />
<strong><em>Solution:</em></strong> Disable all plugins in the host IDEA. This apparantly does not affect the normal IDEA since they don&#8217;t seem to share settings. After this IDEA started quickly enough for me.<br />
<strong><em>Improvements: </em></strong>It would be nice to be able to reload the plugin without haveing to restart the host IDEA but I don&#8217;t know if that is even possible. Will have to look it up if startup becomes to bothersome.</p>
<p><strong>Slow Project start up</strong><br />
<strong><em>Problem:</em></strong> When the host IDEA started my &#8220;test-project&#8221; it for some reason had to rescan the Java SDK every time. This takes quite a long time. I&#8217;ve noticed this in normal java development as well but there it&#8217;s not a problem because you start IDEA at most once a day. But here I need to restart often and it really takes time.<br />
<strong><em>Solution:</em></strong> Remove the Java SDK from the project. Not it loaded without problems.<br />
<strong><em>Improvements: </em></strong>Clearly this is only a temporary solution since I will need the SDK eventually for resolving references in the JavaFX scripts. So parhaps there&#8217;s some way to prevent IDEA from rescaning the SDK. Will have to look this up pretty soon.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fx4idea.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fx4idea.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fx4idea.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fx4idea.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fx4idea.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fx4idea.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fx4idea.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fx4idea.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fx4idea.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fx4idea.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fx4idea.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fx4idea.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fx4idea.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fx4idea.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=18&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fx4idea.wordpress.com/2009/03/20/setting-up-the-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dd0a5accb8bd97703aeb97edff1df42?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fx4idea</media:title>
		</media:content>

		<media:content url="http://farm1.static.flickr.com/61/168920451_407602d6d3.jpg?v=0" medium="image">
			<media:title type="html">Set up</media:title>
		</media:content>
	</item>
		<item>
		<title>Why?</title>
		<link>http://fx4idea.wordpress.com/2009/03/19/why/</link>
		<comments>http://fx4idea.wordpress.com/2009/03/19/why/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 17:20:32 +0000</pubDate>
		<dc:creator>fx4idea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fx4idea.wordpress.com/?p=3</guid>
		<description><![CDATA[So I&#8217;ve decided that I&#8217;m going to try to develop a plugin for developing JavaFX applications using the awesome IntelliJ IDEA IDE. You might be asking why would you try to do such a thing. And the question would be even more merited if you knew a few more things about me. Such as the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=3&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm4.static.flickr.com/3431/3364972747_2eeca19297.jpg?v=0" style="float:right;" width="200"></p>
<p>So I&#8217;ve decided that I&#8217;m going to try to develop a plugin for developing JavaFX applications using the awesome IntelliJ IDEA IDE. You might be asking why would you try to do such a thing. And the question would be even more merited if you knew a few more things about me. Such as the fact I have never written any plugins for IDEA before, or any other application for that matter, nor have I written basically any JavaFX code, I&#8217;ve looked at some samples and thought it looked interesting. I do however use IDEA on a daily basis and I would say I&#8217;m quite good at the normal Java language. But back to the things I don&#8217;t know. I&#8217;ve never written a lexer or a parser or any other of that &#8220;compiler&#8221; stuff, except for trivial data representing input like csv files or almost-xml &#8482;.</p>
<p>So the why? Well the thinking went something like this:</p>
<ul>
<li> I want to write simple games and demos as a hobby.</li>
<li> JavaFX looks like a really cool way to possibly do this.</li>
<li> NetBeans is currently the only viable way to write JavaFX code as far as I&#8217;m concerned.</li>
<li> NetBeans is a horrible set back from what I&#8217;m used to have when writing Java code in IDEA.</li>
<li> There is currently no support for JavaFX in IDEA, except for basic syntax highlighting.</li>
<li> JetBrains don&#8217;t seem to be interested to write a plugin until JavaFX has proven itself.</li>
<li> So if I want to write JavaFX in IDEA, I have to build the plugin myself.</li>
</ul>
<p>As a added bonus I think I will learn alot durring this process of trying this out.  I also intend to document my progress and discoveries in this blog as I move along.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fx4idea.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fx4idea.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fx4idea.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fx4idea.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fx4idea.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fx4idea.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fx4idea.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fx4idea.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fx4idea.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fx4idea.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fx4idea.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fx4idea.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fx4idea.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fx4idea.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fx4idea.wordpress.com&amp;blog=7023611&amp;post=3&amp;subd=fx4idea&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fx4idea.wordpress.com/2009/03/19/why/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5dd0a5accb8bd97703aeb97edff1df42?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fx4idea</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3431/3364972747_2eeca19297.jpg?v=0" medium="image" />
	</item>
	</channel>
</rss>
