1

Я считаю, что аргументы функции, элементы списка и т.д. Намного проще, когда они разбиты на разные строки. Если это труднее читать, я могу присоединиться к ним позже "J". Как можно разбить все в скобках? Кажется, это какой-то шаблон регулярного поиска, но я не смог найти способ заставить его работать независимо от аргументов и уровня отступа:

Примеры:

Example 1:
parser.add_argument('--viz', action='store_true', help='to show vizualisation or not')

Desired output:
parser.add_argument('--viz',
        action='store_true',
        help='to show vizualisation or not')


Example 2:
Input:
parser.add_argument('--viz', action='store_true', lambda: print("sometext here"))

Desired output:
parser.add_argument('--viz',
        action='store_true',
        lambda: print("sometext here"))


Example 3:
Input:
def func(*args, **kwargs):
    temp = ['asd', 123, true]

Desired output:
def func(*args,
         **kwargs):

    temp = ['asd',
             123,
             true]

Пример того, что я хочу

1 ответ1

1

Если это код Python, как мне кажется, мой плагин splitjoin, кажется, работает правильно для всех этих примеров, с некоторыми отличиями в отступах (которые в любом случае происходят из встроенного скрипта отступа).

Это не столько ответ с точки зрения «это то, как вы это делаете», потому что это сложная проблема, когда вам нужно считать скобки, игнорировать строки и так далее. Вот почему я написал целый плагин для этого материала, который обрабатывает каждую ситуацию с помощью отдельной функции обратного вызова. Я могу только предложить вам попробовать и посмотреть, хорошо ли он подходит для ваших случаев использования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .