What's new in cloc 1.60
Aug 19, 2013
- New Languages:
- LESS
- Razor
- JavaServer Faces
- SASS
- Apex Trigger
- Visualforce Component
- Visualforce Page
- Verilog-SystemVerilog
- Pig Latin
- Updates:
- Improved handling of UTF-16 (both little and big endian).
- use Time::HiRes if available.
- Improved logic that distinguishes between Objective C,
- MUMPS and MATLAB files.
- Added information about duplicate files to output created
- by --ignored.
- Added support for .tar.xz compressed archives.
- CMake Added .cmake file extension.
- MXMLAdded support for Actionscript
- GroovyAdded .gant file extension.
- ValaRecognize Vala header files.
- New options and features:
- --max-file-size=Skip files larger than megabytes when
- traversing directories.By default, =100.
- cloc's memory requirement is roughly twenty times
- larger than the largest file so running with
- files larger than 100 MB on a computer with less
- than 2 GB of memory will cause problems.
- Note:this check does not apply to files
- explicitly passed as command line arguments.
- Bug Fixes:
- Suppress "Wrote " messages when running with --quiet.
- Fixed an error that caused cloc to fail with "Can't use an
- undefined value as an ARRAY reference" when running with
- Perl 5.16 or newer when it encounters certain file types.
New in cloc 1.58 (Mar 14, 2013)
- New Languages:
- Ant
- Arduino Sketch
- InstallShield
- Maven
- PowerShell
- Rust
- Vala
- New options and features:
- --diff-timeout NRunning diff on large files with many repeated lines may cause Algorithm::Diff::sdiff() to run for hours. This option sets the upper time limit on the duration of this operation for a single file pair. Default is 10 seconds.
- --force-lang-def FILESee the section --read-lang-def v. --force-lang-def below.
- --skip-archive REGEXIgnore files that end with the given Perl regular expression. For example, if given --skip-archive='(zip|tar(.(gz|Z|bz2|xz|7z))?)' the code will skip files that end with .zip, .tar, .tar.gz, .tar.Z, .tar.bz2, .tar.xz, and .tar.7z (feature req. 32).
New in cloc 1.56 (Apr 10, 2012)
- New Languages:
- Clojure
- ClojureScript
- AutoHotkey
- QML
- CFScript
- OpenCL
- New options and features:
- unix
- Override the operating system autodetection logic and run in
- UNIX mode.
- windows:
- Override the operating system autodetection logic and run in
- Microsoft Windows mode.
- show-os:
- Print the name of the of the operating system mode and exit.
- csv-delimiter:
- Use the provided delimiter instead of a comma when generating
- csv output.
- stdin-name:
- On UNIX systems, enables cloc to count code piped in via STDIN.
- This switch provides a filename for to use to infer the language.
- .git subdirectories are now ignored.
- Updated yacc counter to recognize C99 comments.
- Improved detection and reporting of ignored zero sized files.
- Removed spurious from YAML output.
- Fixed handling of multi-line Ruby comments surrounded by =begin/=end.
- Associated .ctl and .dsr extensions with Visual Basic
- Bug Fixes:
- Produce correct diff results when comparing empty files with populated
- files.
- Remove temporary directory names from --by-file output when working
- with archive files.
- Honor user's requested scratch directory if given --sdir.
New in cloc 1.55 (Oct 14, 2011)
- New Languages:
- Dart
- New options and features:
- sum-one
- Force printing of the SUM: line even if only one source
- file is counted.
New in cloc 1.54 (Oct 3, 2011)
- New Languages:
- CMake, Cython, Objective C++, Ocaml, Smarty
- New options and features:
- autoconf:
- Count files of recognized languages that end with ".in" (for example, code.h.in, Makefile.in) as used by GNU automake/autoconf.
- match-d, --not-match-d:
- Include, or skip over, directories whose names match provided regular expressions.
- follow-links:
- Follow symbolic links (on Unix-like OS's).
- YAML and XML output: header lines now include the cloc URL, version, # lines and files counted, etc.
- YAML and XML output: if writing to a file (rather than STDOUT), save the file name as an element inside the file.
- Include support for languages with double extensions. First implementation of these uses .spc.sql for SQL Stored Procedures and .data.sql as SQL Data as distinct from just SQL.
- Handle archive files (tar files, zip files, etc) with spaces in their names.
- Bug Fixes:
- Lisp: Include .lisp as a valid file extension.
- Correctly identify operating system as Windows if MKS Toolkit is installed.
- Fix incorrectly handled .inc files (could be PHP or Pascal).
- counted:
- Correct output to show only files which were actually used to produce the code count. Also show the output by language rather than by filename.
- diff:
- Fixed null output when one input has a single file while the comparison input has multiple files.
- Fixed null output when no lines of code are modified in common files (only entire files were added or removed).
- Handle cases where one of the two inputs is an empty file or directory.
- diff + --exclude-file-list:
- --diff now skips files defined by --exclude-file-list
- diff + --exclude-lang:
- --diff now skips languages defined by --exclude-lang
- diff + --xml:
- Include user-provided xsl file name in XML --diff output.
- XML output for --by-file and --by-file-by-lang.
- diff + --csv:
- Added comma separated value output for --diff.
- diff + --sum-reports:
- Can now use the --sum-reports option with --diff.
- exclude-dir:
- Quote metacharacters when comparing directory names against --exclude-dir value.
- strip-comments:
- Do not remove blank lines if they follow lines with (language-dependent) continuation markers.
- sum-reports + --list-file:
- Allow the --sum-reports option to take its inputs from files defined by --list-file
- Outstanding issues:
- sql output formats remain unimplemented for --diff.
New in cloc 1.53 (Dec 3, 2010)
- New Languages:
- MXML
- New options:
- lang-no-ext
- Alternate method to count files without file
- extension.
- ignore-case
- Works with --diff; treat uppercase and lowercase text
- as equivalent.
- Bug Fixes:
- Pascal:Add // as a comment marker.
- IDL: Include .pro as a recognized file extension.
- Correct XSLT syle when running with --3.
- diff:
- Implemented YAML output option.
- Implemented XML output option.Includes an optional
- default XSLT style file.
- Include code/comment/blank counts of added files to
- total added material and include code/comment/blank
- counts of removed files to total removed material.
- Ignore unrecognized languages.
- exclude-ext
- Was inadvertently disabled in v1.52; works now.
- Outstanding issues:
- csv, --sql output formats remain unimplemented for --diff.
New in cloc 1.52 (Sep 11, 2010)
- New Languages:
- Groovy
- Scala
- XAML
- New options:
- --exclude-ext
- Ignore files with the given file extension.
- --ignore-whitespace
- Works with --diff; ignore whitespace in code and comments
- when computing differences.
- Bug Fixes:
- Fortran:Treat line starting with an exclamation mark as a comment.
- Cobol:Treat page eject directive and any line with characters
- in columns 1-6 as a blank line.
- --diff:
- Fix negative value of removed blank lines.
- Better output column alignment when running with --by-file.
- Bug fixes when dealing with fully qualified Windows paths.
- --exclude-list-file
- Can now also include directories to ignore in the supplied
- input file.
- Other Improvements:
- Better logic to select the file whose name identifies it as
- containing source code when the file is one of several having
- identical contents (for example, if main.c and main.c.bak have
- identical contents, choose main.c for counting instead of
- main.c.bak, which would be rejected because the filename
- does not match any recognized language).
- Contents of .hg/ (Mercurial) directories are ignored.
- On Windows: Ignore case in file name extensions.
New in cloc 1.51 (May 12, 2010)
- This is a bugfix release for the Windows platform only.
- It contains a fix for a problem with output filename
- handling. Without this fix, output files requested with
- the switches --report-file, --out, --categorized, and
- --ignored might not be created if the parent directory
- or file name have spaces or are located in different
- directories.
New in cloc 1.50 (Apr 30, 2010)
- New option, --skip-win-hidden, to skip MS/Windows hidden files
- New option, --read-binary-files, to force reading files Perl's -b
- operator thinks are binary (could be text with unicode comments)
- Improve the MUMPS/MATLAB/Objective C filter
- Fixed bugs 2787984 (--report-file doesn't handle shell expansions)
New in cloc 1.09 (Mar 16, 2010)
- New options, --sql, --sql-project, --sql-append to produce output
- in the form of SQL table create and insert statements
- Display code counts when producing YAML output with --by-file
- Added support for counting Ruby HTML, Kermit
- New option, --skip-win-hidden, to skip MS/Windows hidden files
- New option, --read-binary-files, to force reading files Perl's -b
- operator thinks are binary (could be text with unicode comments)
- Improve the MUMPS/MATLAB/Objective C filter
- Fixed bugs 2787984 (--report-file doesn't handle shell expansions)
- and 2783289 (--sum-reports produces empty results)
- Fix a variable reference that triggers an error with Perl 5.10
New in cloc 1.08 (Apr 23, 2009)
- New options:
- --help
- --xls To improve viewing XML output
- --exclude-list-file To exclude files that appear in a list file
- --by-file-by-lang To produce output grouped both by files and by language
- Bug fixes:
- Set previously uninialized variable when #! shell scripts have just one line
- Improvements:
- Always ignore .svn/ and .cvs/ subdirectories.
- Treat Perl POD as comments.
New in cloc 1.07 (Jan 14, 2009)
- Add support for VHDL language.
- Count source code within archive files such as .tar.gz, .zip, without supplying extra options.
- Improve filter that distinguishes between MATLAB, MUMPS, and Objective C.
New in cloc 1.05 (Oct 2, 2008)
- New languages: ActionScript, D. New options: --skip-uniqueness, --original-dir, --match-f, --not-match-f Python triple quoted strings now treated as comments.
- JSP is now also processed with C/C++ filters. Exit (instead of warn and continue) if incorrect options are given.
- Fixed a bug in the duplicate file identifying code. Previous versions counted duplicate files twice.
- Fix output column alignment when working with long file names or languages.
New in cloc 1.04 (Jul 2, 2008)
- New option, --unicode, for counting code in files saved with UTF-8 encoding. Allow a value of 0 for --progress-rate to suppress progress output.
New in cloc 1.03 (Feb 16, 2008)
- fix bug 1888765 (incorrect XML output)
- line for scripting languages now counted as code, not comment
- force-lang's argument is now optional
- new option --script-lang to allow script language executables to be defined from the command line