1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

chore: add script for code formatting

This commit is contained in:
Zetok Zalbavar 2017-03-01 18:22:33 +00:00
parent db2e2d7ab7
commit e65e45aafe
No known key found for this signature in database
GPG Key ID: C953D3880212068A
2 changed files with 46 additions and 0 deletions

View File

@ -7,6 +7,9 @@ Most stylistic features described below are described as clang-format rules
present in the root of the repository, as such most code formatting rules can present in the root of the repository, as such most code formatting rules can
be applied by simply running clang-format over the source code in question. be applied by simply running clang-format over the source code in question.
You can run [`tools/format-code.sh`] to format all C++ files tracked by
git.
## Coding Standard ## Coding Standard
qTox is written under **[ISO/IEC 14882:2011 (C++11)][ISO/IEC/C++11]** without qTox is written under **[ISO/IEC 14882:2011 (C++11)][ISO/IEC/C++11]** without
@ -468,3 +471,4 @@ someWidget->setTooltip(QStringLiteral("<html><!-- some HTML text -->") + tr("Tra
[ISO/IEC/C++11]: http://www.iso.org/iso/catalogue_detail.htm?csnumber=50372 [ISO/IEC/C++11]: http://www.iso.org/iso/catalogue_detail.htm?csnumber=50372
[Exceptions]: https://en.wikipedia.org/wiki/C%2B%2B#Exception_handling [Exceptions]: https://en.wikipedia.org/wiki/C%2B%2B#Exception_handling
[RTTI]: https://en.wikipedia.org/wiki/Run-time_type_information [RTTI]: https://en.wikipedia.org/wiki/Run-time_type_information
[`tools/format-code.sh`]: /tools/format-code.sh

42
tools/format-code.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/bash
#
# Copyright © 2017 The qTox Project Contributors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Format all C++ codebase tracked by git using `clang-format`.
# Requires:
# * git
# * clang-format
# usage:
# ./$script
# Fail as soon as error appears
set -eu -o pipefail
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly BASE_DIR="$SCRIPT_DIR/../"
format() {
cd "$BASE_DIR"
[[ -f .clang-format ]] # make sure that it exists
# NOTE: some earlier than 3.8 versions of clang-format are broken
# and will not work correctly
clang-format -i -style=file $(git ls-files *.cpp *.h)
}
format