Changes

Line 1: Line 1: −
{{TOCright}}
  −
[[Category:Activity Team]]
  −
   
== Summary ==
 
== Summary ==
   −
A set of configuration files and scripts to [http://en.wikipedia.org/wiki/Lint_%28software%29 lint] various sugar related code.
+
A set of configuration files and scripts to [[wikipedia:Lint_%28software%29|lint]] various sugar related code.
   −
For python files, sugar-lint will call pylint (should be installed before) with custom configuration file and pep8.py (comes with sugar-lint sources).
+
During execution, sugar-lint will lint:
 +
* python files by pylint (should be installed before) with custom configuration file and pep8.py (comes with sugar-lint sources),
 +
* vala files by vala-indent (should be installed from http://git.sugarlabs.org/projects/vala-indent).
 +
* C/C++ files by indent command (should be installed)
   −
== Usage ==
+
== Install ==
    
Clone sugar-lint repository:
 
Clone sugar-lint repository:
   −
  git clone git://git.sugarlabs.org/sugar-lint/mainline.git ''<local-path>''
+
  git clone git://git.sugarlabs.org/sdk/sugar-lint.git ''<install-path>''
 +
cd ''<install-path>''
 +
git submodule update --init
    
Add sugar-lint command to PATH e.g. to ~/.bashrc (you need to relogin):
 
Add sugar-lint command to PATH e.g. to ~/.bashrc (you need to relogin):
   −
  echo PATH=''<local-path>'':$PATH >> ~/.bashrc
+
  echo PATH=''<full-install-path>'':$PATH >> ~/.bashrc
 +
 
 +
== Usage ==
 +
 
 +
=== Direct invocation ===
    
To lint files:
 
To lint files:
Line 25: Line 31:     
  sugar-lint -r .
 
  sugar-lint -r .
 +
 +
If fails were detected, call diff command (by default {{Code|vimdiff}} or {{Code|DIFFER}} environment variable value) to diff the source file and temporary file with comments in problematic places:
 +
 +
sugar-lint -d ''<file>''
 +
 +
=== Lint files before commiting ===
    
To add pre-commit git hook to lint files before commiting to arbitrary project:
 
To add pre-commit git hook to lint files before commiting to arbitrary project:
   −
  ln -s ''<local-path>''/sugar/lint/git-pre-commit-hook ''<project-root>''/.git/hooks/pre-commit
+
  ln -s ''<full-install-path>''/sugar_lint/git-pre-commit-hook ''<project-root>''/.git/hooks/pre-commit
 +
 
 +
== Additional syntax in source files ==
 +
 
 +
Various sugar-lint related hints that could be used in source files.
 +
 
 +
=== Disable sugar-lint ===
 +
 
 +
To disable checks entirely for source file.
 +
 
 +
Python syntax:
 +
# sugar-lint: disable
 +
 
 +
Vala syntax:
 +
// sugar-lint: disable
 +
/* sugar-lint: disable */
 +
 
 +
=== Ignore pep8.py checks in Python sources ===
 +
 
 +
# pep8: ignore=''code''[,''code'']
 +
 
 +
== Customize lint configuration ==
 +
 
 +
After cloning sugar-lint sources it contain default configuration files and configuration might be tuned to local need at any time. Configuration files are:
 +
 
 +
* {{Code|sugar_lint/pylintrc}}<br>pylint config file;
 +
* {{Code|sugar_lint/pep8rc}}<br>pep8.py config file;
 +
* {{Code|sugar_lint/indent.pro}}<br>indent and vala-indent config file.
   −
== Resources ==
+
== Getting involved ==
   −
* [http://git.sugarlabs.org/projects/sugar-lint sources]
+
* Read the [http://git.sugarlabs.org/sdk/sugar-lint/blobs/master/HACKING HACKING] file to know how to contribute with code.
 +
* Sugar Lint [http://git.sugarlabs.org/sdk/sugar-lint sources].