./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:

Master sites:

Filesize: 181.239 KB

Version history: (Expand)

CVS history: (Expand)

   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:

The following distfiles were unfetchable (note: some may be only fetched

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2020-01-26 06:26:29 by Roland Illig | Files touched by this commit (189)
Log message:
all: migrate some SourceForge homepage URLs back from https to http


In the above commit, the homepage URLs were migrated from http to https,
assuming that SourceForge would use the same host names for both http and
https connections. This assumption was wrong. Their documentation at
https://sourceforge.net/p/forge/documentation/Custom%20VHOSTs/ states
that the https URLs use the domain sourceforge.io instead.

To make the homepages from the above commit reachable again, pkglint has
been extended to check for reachable homepages. This check is only
enabled when the --network command line option is given.

Each of the homepages that referred to https://$project.sourceforge.net
before was migrated to https://$project.sourceforge.io (27), and if that
was not reachable, to the fallback URL http://$project.sourceforge.net
   2020-01-19 00:36:14 by Roland Illig | Files touched by this commit (3046)
Log message:
all: migrate several HOMEPAGEs to https

pkglint --only "https instead of http" -r -F

With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.

This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
   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 \ 
       (358, 286, 205, 16).
     * Add new options, "attach-return-type" and \ 
       (358, 286, 205, 16).
     * Add new option "style=ratliff", as an alternate name for banner \ 
     * 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
     * Change options file input to accept UTF-16, or UTF-8 with a BOM (or
     * 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
     * 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 \ 
     * Fix indentation of "final" keyword not used in a method definition
     * Fix indentation of compound literals in an argument list (#456).
     * Fix indentation of trailing return type method following a constructor
     * 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
     * Fix Objective-C to replace tabbed padding with a space.
     * Fix Objective-C formatting of line-end comments with
     * Fix Objective-C "align-method-colon" to ignore ternary (?) \ 
     * 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 \ 
          * Rename ASBeautifier vector from squareBracketDepthStack to
          * Combine style options in ASOptions class to avoid compiler

  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
     * 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 \ 
     * 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 \ 
     * Fix in-statement-indent brace check not always checking a brace
     * Fix formatting of C# get/set and add/remove when braces are attached
     * 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
     * Refactoring:
          * Replace NULL with C++11 nullptr.
          * Rename Utf8_16 class to ASEncoding.
          * Move ASConsole constructor and destructor from inline to
          * Move console error stream (cerr) from global to ASConsole class.
          * Move ASConsole pointer in ASOptions from global to a class
          * Move findHeader and findOperator methods from ASBeautifier to
          * 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,
     * 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
     * Change add-brackets to not add to one line blocks to support new
     * Change add-brackets to not add to one line statements in support new
     * 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
     * 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
     * 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
     * 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