Your comments

How about a more general mechanism than just calling "bash --login"?

What I really need are per-project environment settings. These could be simply defined in the project file for now and via a GUI at some future date.

When using popen, these could be pushed into the "env" argument.

You could, of course, also have an option in the build definition: "execution_shell" = True or somesuch.
To scratch my own itch in a sub-optimal way, I've rewritten the AutoFormat plugin and produced an AstyleFormat plugin ( If you put the correct options in your ~/.astylerc it will format code properly.

This has both command and on_pre_save hooks. The next problem is to get it to save and reset the edit position -- right now it will bump you to the end of the file after reformatting.