This patch allows defining external styles, which can be used exactly
like the embedded styles (llvm, google, mozilla...).
These styles are clang-format files installed either systemwide in
/usr/local/share/clang-format, or per-user in ~/.local/share/clang-
format. These can be specified by simply using the name of the file,
and clang-format will search the directories for the style:
clang-format -style=foo-1.0
The patch also allows loading specifying a file name directly, either
relative or absolute:
clang-format -style=/home/clang-format-styles/foo-1.0 clang-format -style=styles/foo-1.0
This works also in BaseOnStyle field, which allows defining compagny-
wide (and possibly versionned) clang-format styles, without having to
maintain many copies in each repository: each repository will simply
need to store a short .clang-format, which simply references the
compagny-wide style.
The drawback is that these style need to be installed on each computer,
but this may be automated through an OS package. In any case, the error
cannot be ignored, as the user will be presented with an error message
if he does not have the style.
(this change isn't a good idea - if you want to expand tilde call fs::expand_tilde - it's not related to VFS)