diff --git a/utils/scripts/count-lines.sh b/utils/scripts/count-lines.sh new file mode 100755 index 0000000000000000000000000000000000000000..fda42a6f3bc4470acd939ec3a8f760b8e5ecce10 --- /dev/null +++ b/utils/scripts/count-lines.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -xe +_ROOT="$(git rev-parse --show-toplevel)" +cd "$_ROOT" +cloc --vcs=git \ + --exclude-lang="LLVM IR","Markdown","Nemerle","TeX","Text","make","YAML","INI","JSON","CMake","json" \ + --force-lang="C",def \ + --force-lang-def=utils/scripts/lang-def \ No newline at end of file diff --git a/utils/scripts/lang-def b/utils/scripts/lang-def new file mode 100644 index 0000000000000000000000000000000000000000..f8973371abc2146b0c4954054d6dd9b3ef4e293b --- /dev/null +++ b/utils/scripts/lang-def @@ -0,0 +1,169 @@ +Config Files + filter remove_matches ^\s*# + filter remove_inline #.*$ + extension toml + extension json + extension xml + extension yml + extension yaml + extension ini + extension text + extension txt + 3rd_gen_scale 1.00 +Shell Script + filter remove_matches ^\s*# + filter remove_inline #.*$ + extension sh + extension bash + extension bat + script_exe bash + script_exe sh + 3rd_gen_scale 3.81 + end_of_line_continuation \\$ +C + filter rm_comments_in_strings " /* */ + filter rm_comments_in_strings " // + filter call_regexp_common C++ + extension H + extension h + extension c + extension def + 3rd_gen_scale 0.77 + end_of_line_continuation \\$ +C++ + filter rm_comments_in_strings " /* */ + filter rm_comments_in_strings " // + filter call_regexp_common C++ + extension C + extension CPP + extension c++ + extension cc + extension hh + extension hpp + extension hxx + extension cpp + extension cxx + extension h++ + extension inl + extension ipp + extension pcc + extension tcc + extension tpp + 3rd_gen_scale 1.51 + end_of_line_continuation \\$ +Build System + filter remove_matches ^\s*# + filter remove_inline #.*$ + filename Gnumakefile + filename Makefile + filename gnumakefile + filename makefile + filename CMakeLists.txt + filename cmakelists.txt + filename meson.build + extension meson.build + extension Gnumakefile + extension Makefile + extension am + extension gnumakefile + extension makefile + extension mk + extension CMakeLists.txt + extension cmake + extension cmake.in + script_exe make + 3rd_gen_scale 1.00 + end_of_line_continuation \\$ +Dockerfile + filter remove_matches ^\s*# + filter remove_inline #.*$ + extension Dockerfile + extension dockerfile + filename Dockerfile + filename Dockerfile.cmake + filename Dockerfile.m4 + filename dockerfile + filename dockerfile.cmake + filename dockerfile.m4 + 3rd_gen_scale 2.00 +HTML + filter remove_html_comments + filter call_regexp_common HTML + extension htm + extension html + extension html.hl + extension xht + 3rd_gen_scale 1.90 +Markdown + filter remove_between_general <!-- --> + filter remove_between_regex \[(comment|\/\/)?\]\s*:?\s*(<\s*>|#)?\s*\(.*? .*?\) + extension contents.lr + extension markdown + extension md + extension mdown + extension mdwn + extension mdx + extension mkd + extension mkdn + extension mkdown + extension ronn + extension workbook + 3rd_gen_scale 1.00 +Python + filter remove_matches /\* + filter remove_matches \*/ + filter remove_matches ^\s*# + filter docstring_to_C + filter call_regexp_common C + filter remove_inline #.*$ + extension buck + extension build.bazel + extension gclient + extension gyp + extension gypi + extension lmi + extension py + extension py3 + extension pyde + extension pyi + extension pyp + extension pyt + extension pyw + extension sconscript + extension sconstruct + extension snakefile + extension tac + extension workspace + extension wscript + extension wsgi + extension xpy + script_exe python + script_exe python3 + script_exe python3.3 + script_exe python3.4 + script_exe python3.5 + script_exe python3.6 + script_exe python3.7 + script_exe python3.8 + 3rd_gen_scale 4.20 + end_of_line_continuation \\$ +Rust + filter rm_comments_in_strings " /* */ + filter rm_comments_in_strings " // + filter call_regexp_common C++ + extension rs + extension rs.in + 3rd_gen_scale 1.00 +SQL + filter call_regexp_common C + filter remove_matches ^\s*-- + filter remove_inline --.*$ + extension SQL + extension cql + extension mysql + extension psql + extension sql + extension tab + extension udf + extension viw + 3rd_gen_scale 2.29