Make "root" flag configurable via CPPLINT.CFG
diff --git a/cpplint/cpplint.py b/cpplint/cpplint.py
index 61bae45..cbf2330 100755
--- a/cpplint/cpplint.py
+++ b/cpplint/cpplint.py
@@ -142,6 +142,7 @@
filter=+filter1,-filter2,...
exclude_files=regex
linelength=80
+ root=subdir
"set noparent" option prevents cpplint from traversing directory tree
upwards looking for more .cfg files in parent directories. This option
@@ -157,6 +158,9 @@
"linelength" allows to specify the allowed line length for the project.
+ The "root" option is similar in function to the --root flag (see example
+ above).
+
CPPLINT.cfg has an effect on files in the same directory and all
sub-directories, unless overridden by a nested configuration file.
@@ -1666,7 +1670,7 @@
filename = re.sub(r'/\.flymake/([^/]*)$', r'/\1', filename)
# Replace 'c++' with 'cpp'.
filename = filename.replace('C++', 'cpp').replace('c++', 'cpp')
-
+
fileinfo = FileInfo(filename)
file_path_from_root = fileinfo.RepositoryName()
if _root:
@@ -4794,7 +4798,7 @@
# Make Windows paths like Unix.
fullname = os.path.abspath(filename).replace('\\', '/')
-
+
# Perform other checks now that we are sure that this is not an include line
CheckCasts(filename, clean_lines, linenum, error)
CheckGlobalStatic(filename, clean_lines, linenum, error)
@@ -6034,7 +6038,7 @@
nesting_state.CheckCompletedBlocks(filename, error)
CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error)
-
+
# Check that the .cc file has included its header if it exists.
if file_extension == 'cc':
CheckHeaderFileIncluded(filename, include_state, error)
@@ -6103,6 +6107,9 @@
_line_length = int(val)
except ValueError:
sys.stderr.write('Line length must be numeric.')
+ elif name == 'root':
+ global _root
+ _root = val
else:
sys.stderr.write(
'Invalid configuration option (%s) in file %s\n' %