Bug 374570

Summary: Folding incorrect for python function with multiline arguments
Product: [Frameworks and Libraries] frameworks-syntax-highlighting Reporter: stevemcqueen
Component: syntaxAssignee: KWrite Developers <kwrite-bugs-null>
Status: CONFIRMED ---    
Severity: normal CC: aayush.agarwal_wu, chris.m.geroux, christoph, georgediam, justin.zobel, walter.von.entferndt
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description stevemcqueen 2017-01-05 01:02:31 UTC
Code folding does not work as expected for python functions where the arguments span multiple lines. It only collapses the arguments themselves (which can be useful) but not the entire function (which is not useful).

Example:

def test1(foo, bar, baz):
    """folds entire function correctly"""
    print foo

def test2(foo,
          bar,
          baz):
    """only folds the arguments"""
    print foo

def test2(
        foo,
        bar,
        baz):
    """only folds the arguments"""
    print foo

class Foo(object):
    def test1(self, foo, bar):
        """folds correctly"""
        print foo
    
    def test2(self,
              foo,
              bar):
        """only folds arguments"""
        print foo



Version info:
OS: KDE Neon
Kate: 16.12
KDE Frameworks: 5.29
Qt: 5.7.0
Comment 1 Justin Zobel 2020-10-27 02:08:55 UTC
Can confirm this on Kate 20.11.70
Comment 2 George Diamantopoulos 2021-01-28 04:02:55 UTC
Still present on Kate 20.12.1
Comment 3 Christoph Cullmann 2024-03-15 20:00:02 UTC
*** Bug 463012 has been marked as a duplicate of this bug. ***
Comment 4 Christoph Cullmann 2024-09-13 20:18:53 UTC
Ok, the issue seems that we try to fold the (), that doesn't match well with the indentation concept.
Comment 5 Christoph Cullmann 2024-09-22 18:37:33 UTC
*** Bug 423921 has been marked as a duplicate of this bug. ***