I'm a go n00b, but since the source code is available, I figured I'd look. TL;DR: it probably uses the shell's default globbing resolution to produce the file list.
The generate command iterates over the internal files, but I can't find exactly how GoFiles is populated.
You can probably learn what it's doing by running go generate -n
or go generate -x
, and I think you can also explicitly call go generate
with a file pattern list, which would give you this control.
Otherwise, I think you can include more than one magic comment in a single file, so if you have some dependant generators, these could be placed in the same file, sequentially, and you'd get the expected result.
Another alternative would be to try renaming the relevant files so that they sort the way you want them to run, lexicographically.
Unicode is thoroughly underrated.
UTF-8, doubly so. One of the amazing/clever things they did was to build off of ASCII as a subset by taking advantage of the extra bit to stay backwards compatible, which is a lesson we should all learn when evolving systems with users (your chances of success are much better if you extend than to rewrite).
On the other hand, having dealt with UTF-7 (a very “special” email encoding), it takes a certain kind of nerd to really appreciate the nuances of encodings.