Как настроить RubyMine для сохранения синтаксиса хеша Ruby 1.9.2 при преобразовании кода? - PullRequest
0 голосов
/ 25 октября 2011

RubyMine может переключать синтаксис блока между do;end и { } блочной нотацией.Например, учитывая следующий код:

[1, 2, 3].each do |i|
  puts i
end

Я могу поместить каретку на do и нажать Option-Enter Enter (на Mac), чтобы преобразовать этот фрагмент кода в:

[1, 2, 3].each { |i| puts i }

То же самое с каретой в { выполняет обратное преобразование.

Однако, когда код внутри блока содержит новый синтаксис хэша Ruby 1.9.2, RubyMine уничтожает его во время преобразования:

# before
[1, 2, 3].each { |i| some_func(param: i) }

# after
[1, 2, 3].each do |i|
  some_func(param : i)
end

Обратите внимание на пробел между param и :.

Я просмотрел параметры стиля Ruby в настройках RubyMine, но не смог найти ничего, что управляет двоеточиями.Как я могу помешать RubyMine возиться с моими двоеточиями?

1 Ответ

2 голосов
/ 25 октября 2011

Это ошибка

...