I am using CC-mode in Emacs that was installed with apt on Ubuntu 20.04. It formats code as follows:
#include <vector>
int main() {
auto f1 = [](int a) {
return std::vector<int>({a});
};
auto f2 = [](int a) -> std::vector<int> {
return std::vector<int>({a});
};
}
In my opinion, format for f1 is acceptable but f2 not. Is there a way
to have it format f2 as in f1? Or, more preferably, as in the following,
which was achieved with CC-mode installed on Ubuntu 16.04.
#include <vector>
int main() {
auto f1 = [](int a) {
return std::vector<int>({a});
};
auto f2 = [](int a) -> std::vector<int> {
return std::vector<int>({a});
};
}
My current workaround is as follows, but not ideal:
using vector_t = std::vector<int>;
auto f2wa = [](int a) -> vector_t {
return vector_t({a});
};
If you use
google-set-c-style.elfrom melpa you get your preferred formatting,In general, with cc-modes, you can play around with
c-guessto examine and set the style rules until you find what you want.