Total Completion Overhaul [v0.3.0]

I spent the last couple of days with reworking quite the entire completion engine — despite that there are still couple of things to correct, here the changelog:

  • [Internal] Refactored and re-organized code structures, hopefully easier to maintain & understand; Removal of unnecessary code
  • [Resolver] Implemented selective imports & scoped importing
  • [Resolver] Foreach iterator resolution implemented; opApply technique also accepted in most cases!
  • [Parser] dmd v2.058 support + several improvements + less workaround
  • [Resolver] Rudimentary resolution of template instance arguments — comparing parameters with arguments still todo
  • [Parser] No Expression to TypeDeclaration workaround anymore
  • [Formatting] Fixed policy serialization problem
  • [Formatting] Fixed do { … } while (…); formatting crash
  • [Options] Fixed library browsing in the project options
  • [Options] Reworked project options panels
  • [Generic] Fixed settings saving&loading problems
  • It seems that the completion window shows up even faster now – so yeah, why not? ;)

2 thoughts on “Total Completion Overhaul [v0.3.0]

  1. bls

    Hi Alex,
    I am not able to add a default library. in my case tango.lib. using Mono-D 0.30 on Win7.
    IMO, the default libraries (phobos f.i. ) should appear in the default library-list, same is valid for default includes.
    Anyway.. great job!

    1. alex Post author

      ich hab phobos.lib bewusst aus den standardmäßig hinzugefügten libraries rausgenommen — unter Linux heißt das ganze libphobos2.a, und da war mir das bisher zu fummelig damit.. naja, muss noch..

      in deinem projekt kannst du wahlweise auch pragma(lib,”tango.lib”); irgendwo am modulanfang reinschreiben, bewirkt dasselbe :)


Leave a Reply

Your email address will not be published. Required fields are marked *

+ seven = 12

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>