[ 
https://issues.apache.org/jira/browse/TINKERPOP-2539?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen Mallette updated TINKERPOP-2539:
----------------------------------------
    Fix Version/s:     (was: 3.5.0)

> Nested closing parentheses, commas and punctuation at the end of lines are 
> not considered when checking if a line exceeds max line length
> -----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TINKERPOP-2539
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2539
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: gremlint
>    Affects Versions: 3.5.0
>            Reporter: Øyvind Sæbø
>            Priority: Minor
>
> This issue is migrated from 
> [https://github.com/OyvindSabo/gremlint/issues/44].  It is mentioned in a 
> comment in the Gremlint code, and since OyvindSabo/gremlint will be retired, 
> I'm adding it here now so the comment in tinkerpop/gremlint can refer to this 
> Jira task instead.
> h3. The issue:
> Currently, for nested steps, lines can sometimes be longer than the specified 
> maximum line length because the function which checks the length does not 
> know how deeply nested the steps are. Furthermore, commas or punctuation at 
> the end of lines are not taken into consideration.
> h3. An example where closing parentheses are ignored:
> Consider the following query formatted with a max line length of 66:
> {code:java}
> g.V().hasLabel('person').groupCount().by(values('age').choose(is(lt(28)),constant('young'),choose(is(lt(30)),
>  constant('old'), constant('very old')))){code}
>  
>  It is formatted like this (67 characters wide):
> {code:java}
> g.V().
>   hasLabel('person').
>   groupCount().
>     by(
>       values('age').
>       choose(
>         is(lt(28)),
>         constant('young'),
>         choose(is(lt(30)), constant('old'), constant('very old')))){code}
>  
>  It is expected to be formatted like this:
> {code:java}
> g.V().
>   hasLabel('person').
>   groupCount().
>     by(
>       values('age').
>       choose(
>         is(lt(28)),
>         constant('young'),
>         choose(
>           is(lt(30)),
>           constant('old'),
>           constant('very old')))){code}
>  
> A test case for this should be added to 
> gremlint/src/formatQuery/__tests__/maxLineLength.test.ts.
> h3. An example where punctuation at the end of the line is ignored:
> Consider the following query formatted with a max line length of 45:
> {code:java}
> g.V().hasLabel('person').where(outE('created').count().is(P.gte(2))).count(){code}
>  
> It is formatted like this (46 characters wide):
> {code:java}
> g.V().
>   hasLabel('person').
>   where(outE('created').count().is(P.gte(2))).
>   count(){code}
>  
> It is expected to be formatted like this:
> {code:java}
> g.V().
>   hasLabel('person').
>   where(
>     outE('created').count().is(P.gte(2))).
>   count(){code}
>  
> There is currently a commented out test for this in 
> gremlint/src/formatQuery/__tests__/maxLineLength.test.ts which should be 
> uncommented upon completion of this task.
> h3. An example where comma at the end of the line is ignored:
> Consider the following query formatted with a max line length of 22:
> {code:java}
> g.V().choose(hasLabel('person'), out('created'), 
> identity()).values('name'){code}
>  
> It is formatted like this (23 characters wide):
> {code:java}
> g.V().
>   choose(
>     hasLabel('person'),
>     out('created'),
>     identity()).
>   values('name'){code}
>  
> It is expected to be formatted like this:
> {code:java}
> g.V().
>   choose(
>     hasLabel(
>       'person'),
>     out('created'),
>     identity()).
>   values('name'){code}
>  
> A test case for this should be added to 
> gremlint/src/formatQuery/__tests__/maxLineLength.test.ts.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to