clemos / haxe-sublime-bundle

Sublime Text bundle for Haxe programming language
Apache License 2.0
237 stars 86 forks source link

[refactoring] Auto-select build in function of the current file + refactoring concerns #103

Open clemos opened 11 years ago

clemos commented 11 years ago

Hi Heinz,

I've been trying to work on the bundle today.

I wanted the default build to be selected in function of the current file path, to avoid auto-selecting a build that doesn't "use" this file / doesn't work. For instance, I often have several folders opened in the same project, including other libraries that may contain .hxml files, and this often interferes.

Now I've been playing for over an hour, but I can't seem to go anywhere...

First, the console is very verbose, with lots of not so insightful infos such as :

HaxeListBuildTypesListener::on_activated
<sublime.View object at 0x45dd050>
show at X
decl file: None

This makes it very painful to find your own prints in the mess. It would be very nice to comment these, maybe using an error / debug / info logging strategy if you still want users to be able to trigger them.

Also, the project / build selection's inner working is still very obscure to me. Are there clear rules as to how / when these are selected ? IMHO this part would need an important rewrite, because I see it still contains the dirtiest parts of my code base :p (such as extract_build_args) I'd be happy to give a hand in that, but I'm not sure where to start. What do you think ?

Finally, I've also been trying to fix the auto reload / reimport feature for ST2/python 2, but without success. It seems the MyImporter class somehow works in ST2 when uncommented, as long as you sys.meta_path.append at the end of haxe_plugin.py. But even though it doesn't fail, the executed code is still out of sync. I've pushed the commit, though, because it shouldn't affect ST3, but I didn't have the chance to test it on ST3. Can you confirm it doesn't break anything ?

Regards, Clément

frabbit commented 11 years ago

hey Clément,

This makes it very painful to find your own prints in the mess. It would be very nice to comment these, maybe using an error / debug / info logging strategy if you still want > users to be able to trigger them.

i would be happy if you could integrate such a system and yes there is a lot of trash that's currently printed, feel free to remove or comment them if you think they are not important.

Also, the project / build selection's inner working is still very obscure to me. Are there clear rules as to how / when these are selected ? IMHO this part would need an important rewrite, because I see it still contains the dirtiest parts of my code base :p (such as extract_build_args) I'd be happy to give a hand in that, but I'm not sure where to start. What do you think ?

i agree, this part is still very dirty, feel free to improve this part. I hope to find some time on the weekend to give you a more indepth overview of this part ;).

Finally, I've also been trying to fix the auto reload / reimport feature for ST2/python 2, but without success. It seems the MyImporter class somehow works in ST2 when uncommented, as long as you > sys.meta_path.append at the end of haxe_plugin.py. But even though it doesn't fail, the executed code is still out of sync. I've pushed the commit, though, because it shouldn't affect ST3, but I didn't have the chance to test it on ST3. Can you confirm it doesn't break anything ?

i will try to look at this during at the weekend, i don't have the time at the moment.

best, Heinz