Branch: refs/heads/master Author: Colomban Wendling lists.ban@herbesfolles.org Committer: Colomban Wendling lists.ban@herbesfolles.org Date: Sat, 29 Nov 2014 21:48:01 UTC Commit: 173c09eab2afcd9549b75cd779bedca54fc9f718 https://github.com/geany/geany/commit/173c09eab2afcd9549b75cd779bedca54fc9f7...
Log Message: ----------- Merge pull request #302 from kernc/common_linters
Common linters by default in the Build menu
Modified Paths: -------------- data/filetypes.c data/filetypes.cpp data/filetypes.haskell data/filetypes.javascript data/filetypes.python data/filetypes.ruby data/filetypes.sh data/filetypes.xml doc/geany.txt
Modified: data/filetypes.c 19 lines changed, 13 insertions(+), 6 deletions(-) =================================================================== @@ -78,12 +78,19 @@ context_action_cmd= # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1
-[build_settings] +[build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) -compiler=gcc -Wall -c "%f" -linker=gcc -Wall -o "%e" "%f" -run_cmd="./%e" - - +FT_00_LB=_Compile +FT_00_CM=gcc -Wall -c "%f" +FT_00_WD= +FT_01_LB=_Build +FT_01_CM=gcc -Wall -o "%e" "%f" +FT_01_WD= +FT_02_LB=_Lint +FT_02_CM=cppcheck --language=c --enable=warning,style --template=gcc "%f" +FT_02_WD= +EX_00_LB=_Execute +EX_00_CM="./%e" +EX_00_WD=
Modified: data/filetypes.cpp 18 lines changed, 13 insertions(+), 5 deletions(-) =================================================================== @@ -50,11 +50,19 @@ context_action_cmd= # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1
-[build_settings] +[build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) -compiler=g++ -Wall -c "%f" -linker=g++ -Wall -o "%e" "%f" -run_cmd="./%e" - +FT_00_LB=_Compile +FT_00_CM=g++ -Wall -c "%f" +FT_00_WD= +FT_01_LB=_Build +FT_01_CM=g++ -Wall -o "%e" "%f" +FT_01_WD= +FT_02_LB=_Lint +FT_02_CM=cppcheck --language=c++ --enable=warning,style --template=gcc "%f" +FT_02_WD= +EX_00_LB=_Execute +EX_00_CM="./%e" +EX_00_WD=
Modified: data/filetypes.haskell 13 lines changed, 10 insertions(+), 3 deletions(-) =================================================================== @@ -72,9 +72,16 @@ context_action_cmd= # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1
-[build_settings] +[build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) -compiler=ghc --make "%f" -run_cmd="./%e" +FT_00_LB=_Compile +FT_00_CM=ghc --make "%f" +FT_00_WD= +FT_02_LB=_Lint +FT_02_CM=hlint "%f" +FT_02_WD= +EX_00_LB=_Execute +EX_00_CM="./%e" +EX_00_WD=
Modified: data/filetypes.javascript 10 lines changed, 5 insertions(+), 5 deletions(-) =================================================================== @@ -38,11 +38,11 @@ context_action_cmd= # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1
-[build_settings] +[build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) -compiler= -run= - - +FT_02_LB=_Lint +FT_02_CM=jshint "%f" +FT_02_WD= +error_regex=([^:]+): line ([0-9]+), col ([0-9]+)
Modified: data/filetypes.python 14 lines changed, 11 insertions(+), 3 deletions(-) =================================================================== @@ -61,9 +61,17 @@ context_action_cmd= # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=0
-[build_settings] +[build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) -compiler=python -m py_compile "%f" -run_cmd=python "%f" +FT_00_LB=_Compile +FT_00_CM=python -m py_compile "%f" +FT_00_WD= +FT_02_LB=_Lint +FT_02_CM=pep8 --max-line-length=80 "%f" +FT_02_WD= +error_regex=(.+):([0-9]+):([0-9]+) +EX_00_LB=_Execute +EX_00_CM=python "%f" +EX_00_WD=
Modified: data/filetypes.ruby 10 lines changed, 7 insertions(+), 3 deletions(-) =================================================================== @@ -73,9 +73,13 @@ context_action_cmd= # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1
-[build_settings] +[build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) -compiler=ruby -c "%f" -run_cmd=ruby "%f" +FT_00_LB=_Compile +FT_00_CM=ruby -wc "%f" +FT_00_WD= +EX_00_LB=_Execute +EX_00_CM=ruby "%f" +EX_00_WD=
Modified: data/filetypes.sh 9 lines changed, 7 insertions(+), 2 deletions(-) =================================================================== @@ -52,8 +52,13 @@ context_action_cmd= # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1
-[build_settings] +[build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) -run_cmd="./%f" +FT_02_LB=_Lint +FT_02_CM=shellcheck --format=gcc "%f" +FT_02_WD= +EX_00_LB=_Execute +EX_00_CM="./%f" +EX_00_WD=
Modified: data/filetypes.xml 9 lines changed, 9 insertions(+), 0 deletions(-) =================================================================== @@ -38,3 +38,12 @@ xml_indent_tags=true #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 + +[build-menu] +# %f will be replaced by the complete filename +# %e will be replaced by the filename without extension +# (use only one of it at one time) +FT_02_LB=_Lint +FT_02_CM=xmllint --noout "%f" +FT_02_WD= +error_regex=(.+):([0-9]+):
Modified: doc/geany.txt 15 lines changed, 15 insertions(+), 0 deletions(-) =================================================================== @@ -2886,6 +2886,7 @@ the following items:
* Compile * Build +* Lint * Make All * Make Custom Target * Make Object @@ -2925,6 +2926,20 @@ Interpreted languages do not use the Build command. commands is recommended; this will also make it easier for users to build your software.
+Lint +```` + +Source code linters are often used to find code that doesn't correspond to +certain style guidelines: non-portable code, common or hard to find +errors, code "smells", variables used before being set, unused functions, +division by zero, constant conditions, etc. Linters inspect the code and +issue warnings much like the compilers do. This is formally referred to as +static code analysis. + +Some common linters are pre-configured for you in the Build menu (``pep8`` +for Python, ``cppcheck`` for C/C++, JSHint for JavaScript, ``xmllint`` for +XML, ``hlint`` for Haskell, ``shellcheck`` for shell code, ...), but all +these are standalone tools you need to obtain before using.
Make ````
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).