fixed FileAssociatedShader "incompatibility" with vim

Vim does not always simply write to the saved file but replaces them with its swap file.
The removal of the shader source file would cause QFileSystemWatcher to unwatch it.
Hence, editing shader source files with vim would break the intended behavior.

This pull request comprises the code I used to fix it. Maybe you have a better solution or want to adapt it somehow. In this case, treat this as a bug report or vim-support feature request, please.