Check for tabs instead of spaces in the doc build
This adds a tool that checks style (currently just for tabs instead of
spaces in files under include/tests/docs) and produces a travis-ci build
failure if any problems are found.
diff --git a/.travis.yml b/.travis.yml
index 4dd3d8e..23e856c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -38,9 +38,11 @@
# Documentation build:
- os: linux
language: docs
- env: DOCS
+ env: DOCS STYLE
install: pip install sphinx sphinx_rtd_theme
- script: make -C docs html SPHINX_OPTIONS=-W
+ script:
+ - make -C docs html SPHINX_OPTIONS=-W
+ - tools/check-style.sh
cache:
directories:
- $HOME/.cache/pip
diff --git a/tools/check-style.sh b/tools/check-style.sh
new file mode 100755
index 0000000..412e67b
--- /dev/null
+++ b/tools/check-style.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+#
+# Script to check include/test code for common pybind11 code style errors.
+# Currently just checks for tabs used instead of spaces.
+#
+# Invoke as: tools/check-style.sh
+#
+
+found=0
+for f in `grep $'\t' include/ tests/ docs/*.rst -rl`; do
+ if [ "$found" -eq 0 ]; then
+ echo -e '\e[31m\e[01mError: found tabs instead of spaces in the following files:\e[0m'
+ found=1
+ fi
+
+ echo " $f"
+done
+
+exit $found