[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: astyle configuration
From: |
Rik |
Subject: |
Re: astyle configuration |
Date: |
Mon, 13 Jan 2020 14:28:20 -0800 |
On 01/13/2020 01:37 PM, Gene Harvey wrote:
> On Mon, Jan 13, 2020 at 9:44 AM Rik <address@hidden> wrote:
>> I will work a bit more on this. I use a separate file called astylerc
>> which throws many more configuration switches
>>
>> --style=gnu
>> --indent=spaces=2
>> --max-code-length=80
>> --min-conditional-indent=0
>> --indent-namespaces
>> --indent-labels
>> --indent-cases
>> --pad-header
>> --keep-one-line-blocks
>> --keep-one-line-statements
>>
>> --Rik
> Would it be a good idea to use clang-format instead? It has a more
> configuration
> options and it's more robust for handling edge cases (it uses clang's lexer).
>
> Unfortunately, I haven't been able to emulate Octave's style perfectly
> with it. The main issue
> for me is that it doesn't allow for separate syntax with regards to *
> and & placement other
> than by using an option which infers the style based on the current
> placement of those tokens.
> However, other than that I've come decently close to emulating the style.
I now have pretty good conformance with Octave's existing code base. The
only reason, for me, to incur the switching costs would be if clang-format
handled the alignment of tertiary operators in a better manner. An example is
octave_value retval = (! some_variable.isempty ()) ? true
: false;
astyle wants to pull the second line beginning with a colon back towards
column 1 rather than leaving it aligned under the '?' character.
My current astylerc is
--style=gnu
--indent=spaces=2
--max-code-length=80
--min-conditional-indent=1
--indent-cases
--indent-labels
--indent-namespaces
##--indent-preproc-block
##--indent-preproc-cond
##--indent-preproc-define
--pad-header
--pad-comma
--align-pointer=name
--align-reference=type
--attach-closing-while
--close-templates # now that C++11 is required
--keep-one-line-blocks
--keep-one-line-statements
--Rik