thSoft / elysium

LilyPond IDE for Eclipse
http://elysium.thsoft.hu
14 stars 3 forks source link

outdated marker deletion on ily file #166

Closed nittka closed 6 years ago

nittka commented 6 years ago

In commit bf7ca26c92e27afc4abab6042080b2b85c13ecbc, I moved the postprocess method, so it is now executed only if a compile really took place. Generally, I think this is correct. However, a full compile will not be executed for ily files, only for ly (see CompilerJob line 74).

Does it make sense to extend the compilation to all LilyPond file extensions? If not, postprocess should be executed if executeLilyPondCompile is true, not only if fullCompile ist true.

thSoft commented 6 years ago

I think the correct behavior would be if ily files were not marked outdated at all, since the marker means that the user should compile the file to have its score updated, but ily files themselves are not meant to be compiled.

nittka commented 6 years ago

This would imply, that invokinkg recompile should not be possible on ily-files!?

thSoft commented 6 years ago

Good question! Recompile on ily files should not compile them, but only the files including them transitively. The manual states:

The extension ‘.ily’ is used to distinguish this included file, which is not meant to be compiled on its own, from the main file.

nittka commented 6 years ago

However, if you don't mark an ily file as dirty, the user does not see which ily file to recompile (in order to recompile the including ones)...

a) don't mark ily as dirty and don't allow explicit recompile on them (you can still invoke recompile on multiple files simultaneously) b) mark ily files as dirty, allow explicit recompile (but don't compile them - just compile the including ones an remove the marker). Problem: the marker will not be removed if you compile the including files (as we'd have to check whether all including files have been compiled). c) don't mark them as dirty, allow explicit recompile (and leave the user in the dark to some extent)

Currently, I would vote for a. To me it seems to be the most consistent approach.

thSoft commented 6 years ago

Yes, a) is the most consistent option, it is enough if the transitively including .ly files are marked as dirty. Later, it would be great to have a view to visualize the Inclusion Hierarchy.

nittka commented 6 years ago

We'll deal with the inclusion hierarchy view in a separate ticket :-)

nittka commented 6 years ago

Only ly-files will be marked as outdated.