This project is read-only.

Stories for an 0.2 release of BooLangStudio?

May 20, 2008 at 9:17 PM
So, here is where I figured we could pool ideas and get organized on what features we'd like implemented and what bugs we'd like fixed.

So I guess I'll get this started with throwing out a few of my own ideas/priorities and we can add/remove/polish as neccesary. I figure we can use this discussion as a place to talk about the stories we'd like... then create separate discussions for each story, perhaps?

So I'll get this ball rolling:

  • I'd be interested in seeing an initial stab at porting James' intellisense support to BooLangStudio (his implementation of ParseSource() ) . Do we want to worry about "beefing it up" at all or should we just try to establish a beachhead? I would be interested in creating a common/generic, prolly static "parsetree" that'd exist and be leveraged by any instance of the langauge service (does the IDE start up one language service per document or is one instance doing all of the work per IDE process?).. anywho the parsetree would have some intellisense-useful info about types to be leveraged by ParseSource() ... thoughts?
  • Justin mentioned being interested in making a proper installer for BooLangStudio, as opposed to my kludgey nant/.bat script-based solution. IronPython Studio has a decent wix installer project for the Integrated mode of their app. We still need to address the PLK issue, too.. I may or may not have a solution to this, and it's unclear what MS' feelings are about an open source project distributing a PLK with it's source...
  • There are some syntax highlighting issues id like to police up in the next release... namely the multi-line comment aberrations, and the complete lack of multi-line triple-quoted string support..
Those are the big ones on my mind at the moment... any other stuff that you guys can think of as "reasonable" goals for a next release ( I'm hoping within the next two-three weeks?)
May 20, 2008 at 9:24 PM

Boo has just been updated to 0.8.2!

great timing.. this also means that i need to update the boo source in BooLangStudio to the latest revision from boo svn... kind of a hassle right now.. hopefully we can figure out a scheme to integrate the changes ive made to BooLexer into the grammar somehow.. so we won't have that divergence.. i've talked with cedric about it, a little bit.
May 20, 2008 at 9:29 PM
I had no problem getting an open source PLK for my other plugin project. I just created a free account then applied for the PLK and got it in a matter of seconds, it seemed to be no problem at all as long as your project is only compatible with the Standard or greater versions of Visual Studio. If you try to make it work for any of the express editions of VS then you get into trouble.

I'll take a look at WiX, I've been meaning to dive into that anyway and the built in VS installation package stuff is not idea for this complexity of an installer anyway.
May 20, 2008 at 9:44 PM
Personally, I'd like to get my intellisense stuff ported across so I can get rid of my code-base.

With regard to intellisense, I think it's probably more achievable to get a simple but strong implementation in for the next release. That way we have a solid ground for developing some of the more Boo-specific enhancements. I'd rather not go down that rabbit hole with the state that it's in currently (my side!).

I did a quick check, and it looks like VS creates one instance of the language service per instance of VS. There are probably circumstances where it does create more, but having more than one boo file open at a time isn't one of them.

The installer is important, so it's great that you've volunteered Justin! The less the user has to do the better really.

So for an overview of what I think should be in 0.2:
  • Fairly solid syntax highlighting in place
  • Simple (but useful) intellisense implementation
  • An installer (and the PLK)
For me simplicity is the key for the initial releases. I think quite a few people will be happy just to see basic syntax and intellisense, for the time being.
May 20, 2008 at 10:20 PM
Sounds great! I think that's a good list of stuff to work on, then.. would you like to take the lead, then, on getting the intellisense stuff started?

I guess Justin is interested in exploring the possibility for an installer package.

So I guess that leaves me with the syntax-highlighting clean-up... I'll take a crack at implementing multi-like highlighting for triple-quote strings... also try to pretty up the multi-line comment support.

I will also work to get BooLangStudio updated to use the latest from boo svn.

So with that in mind, I would suggest that you guys each clone the git repo for BooLangStudio to your own repo... and make changes against that repo <-- this is a good place to start to learn how to use git... check out the msysgit project at , if you haven't already (Git-1.5.5-preview20080413.exe is the file you want to download)
May 20, 2008 at 10:24 PM
Excellent, off we go!

I'm already on intellisense, I'll keep you posted on how it's going.
May 20, 2008 at 10:53 PM

Are you going to clone the repo using github's facilities? I was just curious, so that I can follow your progress... you can use the "fork" button to create your own version of the BooLangStudio repo.. make all of the changes that you want.. then if you want to submit the changes into my copy of the repo or whatever, you can click the "pull request" button... it's pretty handy.
May 20, 2008 at 10:57 PM
I was just going to contact you about setting up some kind of private "progress" area, but what you just suggested is a great idea.
May 21, 2008 at 1:50 AM
I've got a few other things to do tonight but I'll try to take a crack at it tonight. I still have to figure out how to work with this source control first too but hopefully I'll have a little something to show for tonight.
May 21, 2008 at 11:29 AM
If you guys need help with anything I would like to contribute,  my VS integration experience is limited but I have been playing around with the old Novell sponsored boo VS plugin for a while now, toying with the idea of doing what you guys have already done now.  =)

Let me know if there is anything specific that needs to be worked on and I will take a stab at it.
May 21, 2008 at 1:09 PM
tangent, welcome! This is great, I'm really pleased at how this is growing, two days ago it was two single man projects, now it's one four man project.

The only problem we're going to have with growing in size is that at this early stage we don't really have enough ground work for people to be working independently, what I mean is most of the features we've thought about will leverage syntax highlighting or intellisense in some way, and without them in place it'll be hard to get anything else going. That sounds really negative, so let me put it another way, both me and Jeff are working hard on getting those two things sorted, and once we do things will branch out nicely. Until then, there are a few issues on the Issue Tracker that you could tackle. Take your time though, familiarise yourself with the code, get comfey, things will get interesting soon.
May 22, 2008 at 5:50 PM
I've bumped the svn verison of boo in Dependencies\boo to 2964, in line with the 0.8.2 release. Also, I've updated the class library and console application project templates to reference Boo.Lang and Boo.Lang.Useful, leveraging $(BooBinPath), by default.

I might do a minor release around these "housekeeping" changes... then I can hopefully pay some attention to the issue trackers that've been logged. Thanks again to torkelo for his investigation of the error output issue!
May 22, 2008 at 6:42 PM
Excellent, I'll pull your changes into my repos.
May 23, 2008 at 7:39 PM
i've merged in torkelo's changes (who already did the work of merging in the intellisense stuff) into the 0.2/master branch of my repo

I'm think that I will continue to merge/track changes in this branch and, once we come to a decision that we're "ready to go", I'll merge this into master

any thoughts/suggestions on this idea?
May 23, 2008 at 8:43 PM
a little bird whispered in my ear and pointed me to a good place to read up on proper maint practices, here:;f=Documentation/howto/maintain-git.txt

So, I've gone and gotten rid of the 0.2/master branch, but not before merging it into master... so that's where the latest and greatest will live... i've also created a branch for v0.1.2

May 23, 2008 at 11:26 PM

I noticed Justin expressed interest in doing the installer. I have some experience building installers with Wix and I want to use BLS outside the experimental hive _right_now_! So I am going to see if I can throw together an installer really quick. Jeff said he will get the key we need to get out of the experimental hive.

My public repo is Feel free to contact me if you have any concerns or want to work on this together.
May 27, 2008 at 11:44 PM

cbilson wrote:

I noticed Justin expressed interest in doing the installer. I have some experience building installers with Wix and I want to use BLS outside the experimental hive _right_now_! So I am going to see if I can throw together an installer really quick. Jeff said he will get the key we need to get out of the experimental hive.

My public repo is Feel free to contact me if you have any concerns or want to work on this together.

   Sounds good to me! I honestly don't know anything about wix and I've just been trying to figure it out as I go along. I just wanted to be useful without stepping on anyones toes as they work on the intellisense and syntax hilighting but if you know WiX and can get something cranked out sooner than later then that sounds good to me! I've been on a little camping holiday as well and these other guys seem to be working on this project like it's a full time gig, so the faster we can get an installer built the better! Perhaps I'll take a look at it and see if I can improve some of the details? Feel free to email me directly about this if you want.

May 28, 2008 at 3:19 AM
So we're both forked from the original repository... how can we push changes to each other without pushing them into the master?
May 28, 2008 at 8:38 AM
If I remember this right, you need to add the other persons repos as a remote on yours, which allows you to merge from it.

git remote add cbilson git://
git merge cbilson

I could be wrong on this though, I've only done it once so far.
May 28, 2008 at 8:49 AM

justinc wrote:
...and these other guys seem to be working on this project like it's a full time gig

I wouldn't worry about that too much. These past few weeks have been relatively free schedule wise; however, as of a week on Friday I'll be moving house, so there'll be a lot less of me for a while. I have no expectations of pace, it just happens I get a bee in my bonnet and work like mad for a while, but I imagine that once these initial features are done it'll slow down.
May 28, 2008 at 2:28 PM

I keep getting an interesting error when trying to push up to my repository:

$ git push -v --all
Pushing to git://
Looking up ... done.
Connecting to (port 9418) ... done.
fatal: The remote end hung up unexpectedly

Am I doing something wrong or is the remote server having issues?

May 28, 2008 at 5:49 PM
the problem is that you cloned from the "Public", ie "read only" URL of your repository. You need to clone from your "personal" repository URL and set up a ssh key to use for that.

When you have the key stuff taken care of, you will clone with something like

git clone
May 28, 2008 at 9:51 PM
Ugh, I'm finding that the GIT UI is nearly worthless... I'll have to break down and use the console it seems. *grumbles*