./devel/astyle, Free, Fast and Small Automatic Formatter for C, C++, C++/CLI, C#, and Java

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.1, Package name: astyle-3.1, Maintainer: pkgsrc-users

When indenting source code, we as programmers have a tendency to
use both spaces and tab characters to create the wanted indentation.
Moreover, some editors by default insert spaces instead of tabs
when pressing the tab key, and other editors (Emacs for example)
have the ability to "pretty up" lines by automatically setting up
the white space before the code on the line, possibly inserting
spaces in a code that up to now used only tabs for indentation.

Since the NUMBER of space characters showed on screen for each tab
character in the source code changes between editors (until the
user sets up the number to his liking...), one of the standard
problems facing programmers when moving from one source code editor
to another is that code containing both spaces and tabs that was
up to now perfectly indented, suddently becomes a mess to look at
when changing to another editor. Even if you as a programmer take
care to ONLY use spaces or tabs, looking at other peoples source
code can still be problematic.

To address this problem I have created Artistic Style - a series
of filters, written in C++, that automatically reindent & reformat
C/C++/Java source files. These can be used from a command line, or
it can be incorporated as classes in another C++ program.


Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 84814b8bb4e52489687f2bce3c2d57ce7d3dcebe
RMD160: a8225fc99f11d681eeef55e1d812fe9a88d13685
Filesize: 181.239 KB

Version history: (Expand)


CVS history: (Expand)


   2018-09-01 22:35:22 by Benny Siegert | Files touched by this commit (2)
Log message:
Fix astyle build on NetBSD-8.

Add an include for limits.h, covering PATH_MAX. From Rhialto in PR pkg/53501.
   2018-03-17 18:16:59 by Amitai Schleier | Files touched by this commit (3)
Log message:
Fix build on Darwin (at least 17.4.0) by including the Darwin makefile
from the "macos" source tarball, which differs from the \ 
"linux" one used
here only by which build instructions it contains.
   2018-02-18 05:34:20 by Roland Illig | Files touched by this commit (3) | Package updated
Log message:
devel/astyle: update to 3.1

Changes since 2.05.1:

  Artistic Style 3.1  (January 2018)

     * Add new options "project", "project=####", and \ 
"project=none" (#11).
     * Add new options, "break-return-type" and \ 
"break-return-type-decl"
       (358, 286, 205, 16).
     * Add new options, "attach-return-type" and \ 
"attach-return-type-decl"
       (358, 286, 205, 16).
     * Add new option "style=ratliff", as an alternate name for banner \ 
style.
     * Add new environment variable ARTISTIC_STYLE_PROJECT_OPTIONS (#11).
     * Add multiple extensions to the command line file paths option.
     * Improve recognition of unary + and - when using pad-oper.
     * Change the Windows default options file location from USERPROFILE to
       APPDATA.
     * Change options file input to accept UTF-16, or UTF-8 with a BOM (or
       signature).
     * Change "unsigned short" data type to c++11 "char16_t".
     * Change translations for new project options file.
     * Fix utf8LengthFromUtf16() calculation being less than the actual
       length.
     * Fix multiply followed by a dereference for "align-pointer=type".
     * Fix recognition of a uniform class initializer in a base class
       initialization (#441).
     * Fix indentation of "volatile" keyword not used in a method \ 
definition
       (#450).
     * Fix indentation of "final" keyword not used in a method definition
       (#450).
     * Fix indentation of compound literals in an argument list (#456).
     * Fix indentation of trailing return type method following a constructor
       (#463).
     * Fix space padding of closing brace before a dot (#468).
     * Fix Objective-C to allow for "Extern C" statements in the \ 
source files
       (#443, 444, 446).
     * Fix Objective-C to allow for method definitions without a specified
       return type (#447).
     * Fix Objective-C to allow for method definitions with multiple param
       types.
     * Fix Objective-C to replace tabbed padding with a space.
     * Fix Objective-C formatting of line-end comments with
       "unpad-return-type".
     * Fix Objective-C "align-method-colon" to ignore ternary (?) \ 
operators.
     * Fix C# base class constructor indentation (#459).
     * Fix C# indentation of method declaration containing a colon (#465)
     * Fix C/C++ to allow "interface" as a non-keyword (#445).
     * Fix Java to allow "default" as a non-switch keyword.
     * Fix line ends initialization if no line end has been read.
     * Fix Java build from including ASLocalizer in the shared library.
     * Fix to check for AStyleWx line tags after C style comments.
     * Fix boundary conditions and other errors discovered by fuzzing.
     * Refactoring:
          * Extract method isNumericVariable() in ASFormatter class.
          * Extract method isTopLevel() in ASBeautifier class.
          * Extract method fileExists() in Console class.
          * Rename ASEncoding variable from "utf8_16" to \ 
"encode".
          * Rename ASBeautifier vector from squareBracketDepthStack to
            parenDepthStack.
          * Combine style options in ASOptions class to avoid compiler
            limits.

  Artistic Style 3.0.1  (May 2017)

     * Fix crash caused by certain class initializer formats (#435).
     * Fix "final" identifier not being recognized as a pre-command header
       (#433).
     * Fix recognition of certain rvalue reference variables.

  Artistic Style 3.0  (April 2017)

     * Add new option "indent-after-parens" (#396, 152, 108, 79).
     * Add new option "attach-closing-while" (#177).
     * Add "style=run-in" as an alternative for \ 
"style=horstmann".
     * Add "break-closing-braces" to "style=stroustrup" (#267).
     * Add formatting for C++11 trailing return type methods.
     * Add new class ASPeekStream using RAII to allow early method returns.
     * Change affected variable names to new AStyle terminology.
     * Change some vector push_back() statements to emplace_back().
     * Fix memory leak when using "indent-preproc-define".
     * Fix sometimes splitting an r-value reference when "pad-oper" is \ 
used.
     * Fix in-statement-indent brace check not always checking a brace
       (#421).
     * Fix formatting of C# get/set and add/remove when braces are attached
       (#430).
     * Fix formatting of C# generic constraints (#430).
     * Fix padding of C# null conditional operator.
     * Fix attach-inlines to not attach a brace followed by a run-in comment.
     * Fix not always breaking lines after "add-braces" (#341).
     * Fix unpadding the "in" in a foreach statement (#386).
     * Fix boundary conditions discovered by american fuzzy lop fuzzer
       (#370).
     * Refactoring:
          * Replace NULL with C++11 nullptr.
          * Rename Utf8_16 class to ASEncoding.
          * Move ASConsole constructor and destructor from inline to
            non-inline.
          * Move console error stream (cerr) from global to ASConsole class.
          * Move ASConsole pointer in ASOptions from global to a class
            member.
          * Move findHeader and findOperator methods from ASBeautifier to
            ASBase.
          * Minor changes from PVS-Studio analyzer.
          * Minor changes from clang-tidy.

  Artistic Style 2.06  (December 2016)

     * Add new bracket style option "style=mozilla".
     * Add new option "break-one-line-headers" (#33, 64, 367).
     * Add new option "indent-continuation".
     * Add new option "pad-comma" (#100).
     * Add removing spaces before a comma (#100).
     * Add new Objective-C options "pad-return-type" (-xq) and
       "unpad-return-type" (-xr).
     * Add new Objective-C options "pad-param-type" (-xS) and
       "unpad-param-type" (-xs).
     * Add formatting of C++14 single-quote digit separators (#337).
     * Add indentation for CORBA IDL module statement (#414).
     * Add translations for Bulgarian, Estonian, Greek, Hungarian, Norwegian,
       and Romanian.
     * Remove lineend option from formatCinToCout function.
     * Improve align-method-colon and apply to Objective-C method calls.
     * Improve recognition of header guards in preprocessor statements.
     * Improve recognition of C++11 uniform initializer brackets (#381, 411,
       415).
     * Improve the processing of quoted strings and verbatim strings.
     * Change align-method-colon short first line to align on the longest
       line instead of the first line.
     * Change to not break empty one line brackets to support new
       "break-one-line-headers".
     * Change add-brackets to not add to one line blocks to support new
       "break-one-line-headers".
     * Change add-brackets to not add to one line statements in support new
       "break-one-line-headers".
     * Fix not recognizing an escaped space character within a quote (#403).
     * Fix not recognizing "else" brackets as COMMAND_TYPE (#400).
     * Fix attaching "if" statements to a #else preprocessor directive
       (#356).
     * Fix not clearing global variables for a new file (#364).
     * Fix not recognizing an rvalue reference in a template (#404).
     * Fix breaking a line when processing the first line of a file (#400).
     * Fix breaking a line in an exponential (#392).
     * Fix indentation of an "enum" without following brackets (#401, 384).
     * Fix indentation of arguments using preceding commas (#355).
     * Fix indentation of Pico style one line blocks.
     * Fix not padding header for "new" or "delete" followed \ 
by parens.
     * Fix template variable not being cleared at end of a statement (#380).
     * Fix "close-templates" to only close ending angle brackets (#375).
     * Fix pad-oper to not pad a + or - following an open bracket (#378).
     * Fix C# to recognize "using" as a header.
     * Fix C# to always recognize "forever" as a header.
     * Fix Pico style not always computing the indentation for one line
       blocks.
     * Fix indentation of Objective-C @interface statement (#333).
     * Fix assert error when Objective-C "@" is followed by whitespace.
     * Fix end of line comments for "pad-method-prefix" and
       "unpad-method-prefix".
     * Fix end of line comments for "pad-method-colon".
     * Refactoring:
          * Consolidate scattered ASFormatter conditional statements into a
            padParenObjC method.
          * Remove BracketMode STROUSTRUP_MODE and change it to LINUX_MODE.
          * Remove ASBase methods from being inlined as class definitions.
          * Replace C char arrays in astyle_main.cpp with C++ strings.
          * Return language translation as a mutable variable.
          * Portability changes for additional compiler support (#352).
          * Minor changes based on results of the Clang-Tidy.
   2018-02-18 05:16:59 by Roland Illig | Files touched by this commit (2)
Log message:
devel/astyle: fix COMMENT and move documentation to share/doc/astyle

Bumped PKGREVISION.
   2016-07-11 20:26:52 by Amitai Schlair | Files touched by this commit (4) | Package updated
Log message:
Update to 2.05.1. From the changelog:

- Fix incorrectly reporting files containing disabled formatting as
  being formatted.
- Fix incorrect handling of quoted arguments in the options file (#321).
- Fix error in identifying an enum return type as an enumeration
  (#322, 323).
- Fix error in identifying an enum argument as an enumeration (#327).
- Fix recognition of Qt keywords when used as variables in C++ (#329).
- Fix recognition of a pointer in a C++ cast (#316).
- Fix removing trailing whitespace after a changed pointer or
  reference cast.

- Add new bracket style option "style=vtk" (#155).
- Add new option "indent-preproc-block" to indent blocks of preprocessor
  directives (#21, #114, #229, #242, #294).
- Add new option, "dry-run", to run AStyle without updating the files
  (#184, #285).
- Add new options, "html" (-!") and "html=###", to \ 
display the HTML help
  documentation in the default browser.
- Add tags "*INDENT-OFF*" and "*INDENT_ON*" to disable \ 
formatting of
  source code blocks (#2, #47, #55, #78, #110, #176).
- Add tag *NOPAD* to disable selected formatting on a single line.
- Add '__attribute__ ((visibility ("default")))' to Linux exported \ 
functions.
- Remove option "style=ansi" and make it depreciated (#146).
- Remove fix for broken 'case' statements from release 2.02.1, Nov 21, 2011.
- Improve Korean translation (#256).
- Change shared libraries to include the version number as part of the
  file name (#264)
- Change "help" display to stdout to allow piping and redirection (#63).
- Change "version" display to stdout.
- Change headers to include foreach, forever, Q_FOREACH, and Q_FOREVER
  (#98, #154).
- Change compiler definition ASTYLE_NO_VCX (no Visual Studio exports) to
  ASTYLE_NO_EXPORTS.
- Change shared library error handler argument from "char*" to \ 
"const char*".
- Fix not recognizing noexcept, interrupt, and autoreleasepool as
  pre-command headers (#225, #259).
- Fix formatting of C++11 uniform initializer brackets (#253, #257,
  #260, #284).
- Fix to not automatically space pad C++11 uniform initializer
  brackets (#275).
- Fix formatting of enums with leading commas (#159, #179, #270).
- Fix formatting of logical && operator in class initializers (#290).
- Fix flagging a 'const' variable as a 'const' method (#275).
- Fix piping and redirection adding an extra character to the output
  (#245, #252, #305).
- Fix "indent-modifiers" to attach class access modifiers to Horstmann
  style brackets.
- Fix ASFormatter to correctly recognize the end of a C++ raw string
  literal (#261).
- Fix to recognize C++11 "enum class" as an enum (#303).
- Fix indent of C++11 "noexecpt" statements within a class (#260, #304).
- Fix not resetting templateDepth when a template was not found (#295).
- Fix formatting of multiplication in a block paren (#144).
- Fix whitespace padding when formatting an rvalue references (#297).
- Fix to recognize an rvalue reference without a name (#265).
- Fix to not identify an operator overload method as a calculation (#296).
- Fix concatenating multiplication with a pointer dereference (#291).
- Fix recognition of a pointer dereference following a question mark (#213).
- Fix extra space after a trailing reference type (#300).
- Fix _asm blocks not being identified as a block opener and the
  variable not cleared on exit (#163).
- Fix indentation of line comments before a "class" opening bracket.
- Fix indentation of line comments before a "namespace" opening bracket.
- Fix isBracketType() method to correctly process a NULL_TYPE.
- Fix unpad-paren to recognize additional variables (#43, #132, #143).
- Fix indentation of C# "let" statements.
- Fix a few omissions with "fill-empty-lines".
- Fix file read to read 64K blocks of data.
- Refactor to un-obfuscate (clarify) the code, and improve design and
  decomposition::
    - Extract class Utf8_16 from ASConsole.
    - Replace Linux dependency on iconv with a Utf8_16 class for ASLibrary.
    - Move global "using" statements to the astyle namespace in astyle.h
      and ASLocalizer.h.
    - Move shared library declarations from astyle.h to astyle_main.h.
    - Move indentable macros from ASEnhancer to ASResource and create
      static pairs.
    - Simplify ASBeautifier procedure to identify the colon (:) type.
    - Major refactoring in ASBeautifier to create separate variables for
      an enum, a class statement and a class initializer.
    - This was needed to fix the processing of C++11 uniform
      initializers in a class initializer.
    - Minor changes to ASFormatter and ASBeautifier based on results of
      the Clang analyzer.
    - Change several methods in astyle_main to "const".
   2015-11-03 04:29:40 by Alistair G. Crooks | Files touched by this commit (1995)
Log message:
Add SHA512 digests for distfiles for devel category

Issues found with existing distfiles:
	distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
	distfiles/fortran-utils-1.1.tar.gz
	distfiles/ivykis-0.39.tar.gz
	distfiles/enum-1.11.tar.gz
	distfiles/pvs-3.2-libraries.tgz
	distfiles/pvs-3.2-linux.tgz
	distfiles/pvs-3.2-solaris.tgz
	distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2015-03-13 18:08:14 by Tobias Nygren | Files touched by this commit (1)
Log message:
needs libiconv
   2014-08-21 08:21:15 by Thomas Klausner | Files touched by this commit (2)
Log message:
Remove unused patches.