Как я могу правильно сделать код dplyr с отступом vim с помощью оператора pipe (%›%)?

Например, vim неправильно сделает отступ в следующем коде:

flights <- flights %>%
    group_by(year, month, day) %>%
    select(arr_delay, dep_delay) %>%
    summarise(
        arr = mean(arr_delay, na.rm = TRUE),
        dep = mean(dep_delay, na.rm = TRUE)
    ) %>%
    filter(arr > 30 | dep > 30)

Есть ли способ исправить это?

Я использую Vim-R-Plugin, связанная с этим проблема здесь.


person enricoferrero    schedule 19.02.2015    source источник
comment
вы используете :set smartindent?   -  person rawr    schedule 19.02.2015


Ответы (1)


Одна вещь, которую вы можете сделать, это изучить vimscript и изменить это поведение самостоятельно. Если это работает хорошо, вы можете внести изменение оригинальному автору.

Я начал таким образом, но в итоге написал свой собственный код отступа с нуля, который делает все именно так, как мне нравится. Я говорил с автором плагина R о замене его кода моим, но в моем коде есть пара ошибок, которые я никогда не тратил на поиск, и это меня не сильно беспокоит (он застревает, если у вас есть несопоставленная закрывающая фигурная скобка , Например). У меня никогда не было мотивации очистить его до конца и попытаться добавить в репозиторий VIM.

В ответ на ваш запрос я разместил свой код на github. Вы можете попробовать использовать мой код отступа вместо кода r-plugin, если хотите. Это может или не может решить вашу проблему (никаких обещаний). Если я буду достаточно мотивирован, я могу исправить это настолько, что мы сможем сделать его кодом отступа vim по умолчанию.

person farnsy    schedule 12.04.2017