Как настроить Uncrustify для стиля Allman для программирования Swift iOS?

Я пытаюсь получить конфигурацию UncrustifyX, которая будет работать со Swift, используя стиль Allman. Я использую BBUncrustifyPlugin в Xcode. Вот что у меня есть до сих пор:

# indent using tabs
input_tab_size                           = 8
output_tab_size                          = 4
indent_columns                           = output_tab_size
indent_with_tabs                         = 1

# indent case
indent_switch_case                       = indent_columns
indent_case_brace                        = 0

# indent class body
indent_class                             = True

# newlines
nl_after_semicolon                       = true

# spaces
# add in general
sp_before_sparen                         = add
# but remove for
sp_version_paren                         = remove
sp_catch_paren                           = remove
sp_scope_paren                           = remove
sp_func_call_user_paren                  = remove

# Allman style for curly braces
nl_assign_brace                          = add
nl_enum_brace                            = add
nl_union_brace                           = add
nl_struct_brace                          = add
nl_class_brace                           = add
nl_do_brace                              = add
nl_if_brace                              = add
nl_for_brace                             = add
nl_else_brace                            = add
nl_while_brace                           = add
nl_switch_brace                          = add
nl_fcall_brace                           = add
nl_fdef_brace                            = add
nl_brace_else                            = add
nl_brace_while                           = remove
nl_case_colon_brace                      = add
nl_after_brace_open                      = true

# one liners
nl_func_leave_one_liners                 = true
nl_enum_leave_one_liners                 = true
nl_create_if_one_liner                   = true
nl_create_for_one_liner                  = true
nl_create_while_one_liner                = true

Он правильно расставляет большинство фигурных скобок, но разделяет восклицательные и вопросительные знаки и имеет некоторые другие проблемы. Я не уверен, что еще я могу сделать, чтобы заставить его работать правильно.

Я составил суть здесь:


person Bryan Cimo    schedule 21.12.2015    source источник
comment
Привет, вы нашли лучшую конфигурацию или улучшили это? Я ищу хороший форматировщик быстрого кода для нашей команды и нашел ваш вопрос   -  person sage444    schedule 28.03.2016
comment
Пока нет, мне интересно, если вы найдете что-то, пожалуйста, дайте мне знать. Я все еще использую выше.   -  person Bryan Cimo    schedule 28.03.2016
comment
Возможно, swiftcleanapp.com является вариантом, поскольку мне не удалось заставить uncrustify работать последовательно со Swift.   -  person Binarian    schedule 17.05.2016


Ответы (1)


Во-первых, я должен сказать: я не могу помочь вам с настройкой uncrustify.

Но, возможно, я могу предложить вам другое решение: вам следует взглянуть на инструмент командной строки с открытым исходным кодом swiftformat. Среди прочих это тоже supports the allman- aka east-coast- style.

https://github.com/nicklockwood/SwiftFormat

person Kai Zimmer    schedule 15.06.2017