Thread overview
Mono-D 0.3.5
Mar 26, 2012
alex
Mar 29, 2012
F i L
Apr 01, 2012
alex
Apr 01, 2012
F i L
Apr 03, 2012
akaz
Apr 04, 2012
alex
Apr 04, 2012
Jacob Carlborg
Apr 04, 2012
akaz
Apr 04, 2012
alex
Apr 04, 2012
Joshua Niehus
March 26, 2012
Couple of bug fixes + new refactoring feature:

- [Expression Evaluator] Began with the expression eval stuff -- added few class   stubs
- [Resolver] Fixed 2 small completion bugs (very precise, indeed! :-D)
- [Parser] Fixed block boundaries determination bug
- [Highlighting] Small highlighting change (added __vector keyword and recolored 'mixin')
- [Building/Settings] Small usability improvement
- [Settings] Fixed saving-bug
- [Generic] Add 'lib' prefix to library name when creating new (linux/mac) projects
- [Refactoring] Added renaming validation check
- [Refactoring] Finished a rough implementation of symbol import refactoring   (accessible via keystroke or context menu - just hover an undefined symbol, and right-click)
- [Internal] Further code refactoring -- a lot of code could be abstracted
- [Completion] Improved method parameter insight

Article: http://mono-d.alexanderbothe.com/?p=355
Issues: https://github.com/aBothe/Mono-D/issues
March 29, 2012
On Monday, 26 March 2012 at 23:57:27 UTC, alex wrote:
> Couple of bug fixes + new refactoring feature:
>
> - [Expression Evaluator] Began with the expression eval stuff -- added few class   stubs
> - [Resolver] Fixed 2 small completion bugs (very precise, indeed! :-D)
> - [Parser] Fixed block boundaries determination bug
> - [Highlighting] Small highlighting change (added __vector keyword and recolored 'mixin')
> - [Building/Settings] Small usability improvement
> - [Settings] Fixed saving-bug
> - [Generic] Add 'lib' prefix to library name when creating new (linux/mac) projects
> - [Refactoring] Added renaming validation check
> - [Refactoring] Finished a rough implementation of symbol import refactoring   (accessible via keystroke or context menu - just hover an undefined symbol, and right-click)
> - [Internal] Further code refactoring -- a lot of code could be abstracted
> - [Completion] Improved method parameter insight
>
> Article: http://mono-d.alexanderbothe.com/?p=355
> Issues: https://github.com/aBothe/Mono-D/issues

Great job, Alex. As always.

For what it's worth, I don't like the new "mixin" coloring. It's colored like a type now, which doesn't make sense to me (in some cases it does, aka: mixin Template name). One of the things I like about MonoDevelop is that I can color seporate many different things: types, attributes, flow control, etc.. but now mixin looks like I'm defining a variable, which isn't usually how I use mixins.

Also, code completion seems to randomly die in this release. Not sure exactly what causes it since it seems to only happens when working with larger files and randomly. I think it might be something to do with template variadic parameters. If I come across something a more concrete, I'll post an bug report.
April 01, 2012
On Thursday, 29 March 2012 at 22:39:36 UTC, F i L wrote:
> For what it's worth, I don't like the new "mixin" coloring. It's colored like a type now, which doesn't make sense to me (in some cases it does, aka: mixin Template name). One of the things I like about MonoDevelop is that I can color seporate many different things: types, attributes, flow control, etc.. but now mixin looks like I'm defining a variable, which isn't usually how I use mixins.

Meh, I guess I'll highlight mixin like 'private' and 'const' are highlighted - so as it was more like an attribute, not a type anymore :)

> Also, code completion seems to randomly die in this release. Not sure exactly what causes it since it seems to only happens when working with larger files and randomly. I think it might be something to do with template variadic parameters. If I come across something a more concrete, I'll post an bug report.

Yeah sure, I cleaned up a lot of stuff - perhaps some hopefully minor things got broken - and variadic parameters aren't really implemented
April 01, 2012
UTC, alex wrote:
> Meh, I guess I'll highlight mixin like 'private' and 'const' are highlighted - so as it was more like an attribute, not a type anymore :)

Awesome, thank you!


>> Also, code completion seems to randomly die in this release. Not sure exactly what causes it since it seems to only happens when working with larger files and randomly. I think it might be something to do with template variadic parameters. If I come across something a more concrete, I'll post an bug report.
>
> Yeah sure, I cleaned up a lot of stuff - perhaps some hopefully minor things got broken - and variadic parameters aren't really implemented

I've been doing a lot with mixin templates lately, so that's probably it.
April 03, 2012
I need some help with Mono-D.

I am on Linux 64 and I try to use both DMD 2.958 and GDC-4.6.3

However, I find difficult to:

 -set the Toolchain per project; apparently, only global option (Edit->Preferences->Other->D->Compiler Toolchains) exists

 -add libraries per project; again, only global option (Edit->Preferences->Other->D->Compiler Toolchains->Default Libraries exists)

 -the GDC toolchain keeps passing some unknown parameters to the compiler: for example, for the "Debug ARguments"->"Executable", the passed arguments are:

 -g -debug $sources $libs $includes -od$objectsDirectory -of"$exe"

 of which all of "-debug" and "-od$objectsDirectory" and "-of"$exe"" are unknown to gdc (and similar for the others Build configurations)

 And finally: what should I put in that "Default Libraries" test box for DMD and for GDC toolchains to link with some C libraries that the gcc accepts as "-lmediastreamer" and "-lortp"? I should mention they are shared libraries: /usr/lib/libmediastreamer.so and /usr/lib/libortp.so, so there is no .a file that DMD could access.

 Compiling with gdc from the command line and adding -lmediastreamer -lortp works! Why Mono-D cannot be convinced to create such a simple compilation line?

I use MonoDevelop 2.8.0.6.3 with (apparently) the latest Mono-D, ie. 0.3.5, installed according to: http://mono-d.alexanderbothe.com/?page_id=9

Thank you
April 04, 2012
On Monday, 26 March 2012 at 23:57:27 UTC, alex wrote:
> Couple of bug fixes + new refactoring feature:
>
> [snip]

Got it up and running on my Mac. Awesome job, thanks

josh
April 04, 2012
On Tuesday, 3 April 2012 at 21:55:14 UTC, akaz wrote:
> Why Mono-D cannot be convinced to create such a simple compilation line?

Because I've never used gdc before to compile D programs. I probably should do more testing concerning toolchains etc.

Anyway thanks for the feedback, I'll add these issues to the todo list.
April 04, 2012
On 2012-04-03 23:55, akaz wrote:
> I need some help with Mono-D.
>
> I am on Linux 64 and I try to use both DMD 2.958 and GDC-4.6.3
>
> However, I find difficult to:

> -the GDC toolchain keeps passing some unknown parameters to the
> compiler: for example, for the "Debug ARguments"->"Executable", the
> passed arguments are:
>
> -g -debug $sources $libs $includes -od$objectsDirectory -of"$exe"
>
> of which all of "-debug" and "-od$objectsDirectory" and "-of"$exe"" are
> unknown to gdc (and similar for the others Build configurations)

These are the flags used by DMD. If you can point Mono-D to "gdmd" instead of "gdc" it might work. gdmd is a wrapper around gdc that convert dmd flags to gdc flags.

-- 
/Jacob Carlborg
April 04, 2012
> These are the flags used by DMD. If you can point Mono-D to "gdmd" instead of "gdc" it might work. gdmd is a wrapper around gdc that convert dmd flags to gdc flags.

I cannot. GDMD toolchain is not even present among those in Mono-D.

OTOH, I still do not know how to pass -lortp regular flag to the toolchain, in order to link with that libortp.so library.

April 04, 2012
On Wednesday, 4 April 2012 at 15:02:02 UTC, akaz wrote:
>> These are the flags used by DMD. If you can point Mono-D to "gdmd" instead of "gdc" it might work. gdmd is a wrapper around gdc that convert dmd flags to gdc flags.
>
> I cannot. GDMD toolchain is not even present among those in Mono-D.
>
> OTOH, I still do not know how to pass -lortp regular flag to the toolchain, in order to link with that libortp.so library.

Right-click the project node in the solution explorer and open up the Properties -- in the Build->Compiling section you can enter custom libraries as well as linker & compiler arguments so it'll finally include the specified library.