Существует ли плагин Vim для Ruby, который предоставляет команду «переключиться в / из теста» вне Rails? - PullRequest
2 голосов
/ 22 февраля 2012

Тим Поуп rails.vim предоставляет команду :A (и набор связанных команд), которая открывает «альтернативный» файл.Для большинства классов это тест, а для теста - класс.

Было бы неплохо иметь такую ​​функциональность в не-Rails Ruby проектах.Есть ли плагин, который обеспечивает это?Бонусные баллы, если это поможет мне создать тестовый файл при создании файла реализации.:)

Ответы [ 4 ]

4 голосов
/ 22 февраля 2012

Наш герой пишет также rake.vim . Он делает то же самое, что и rails.vim, но в проектах Ruby.

1 голос
/ 03 сентября 2015

Я создал следующую команду, которая позволяет делать

:E /pattern/replace

для перехода к файлу с текущим именем файла и замены pattern на replace

Например, если ваши тестовые файлы находятся в /test/code.js, а ваши файлы src в /src/code.js, вы можете написать следующую команду:

command! -nargs=* Es :call EditSubstitute("/test/src")
command! -nargs=* Et :call EditSubstitute("/src/test")

чтобы получить команду :Es для перехода из тестового файла в исходный файл и команду :Et для перехода из исходного файла в тестовый файл.

Вот функция, которая делает это:

function! EditSubstitute(args)
  if (len(a:args))<2
    return
  endif
  let s:delimiter = (a:args[0])
  let s:split = split(a:args,s:delimiter,1)[1:]
  let s:fullpath = expand('%:p')
  let s:bar = substitute(s:fullpath, s:split[0], s:split[1], "")
  echo (s:bar)
  silent execute('edit '.s:bar)
endfunction
command! -nargs=* E :call EditSubstitute(<q-args>)
0 голосов
/ 03 сентября 2015

Взгляните на vimrc парня из "Уничтожить все программное обеспечение" https://github.com/garybernhardt/dotfiles/blob/master/.vimrc#L280

нажатие <leader>. переключит вас между вашим кодом и кодом спецификации.

-frbl

0 голосов
/ 22 февраля 2012

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

Я держу свой тест поверх и файлснизу.Тогда я смогу просматривать оба одновременно.

Я использую NERDTree, чтобы сделать просмотр также проще, но это не является обязательным требованием.

Вы можете получить полную ссылку на то, что я используюздесь: https://github.com/coderjoe/dotfiles

Если вам это нравится, я бы рекомендовал НЕ , используя мои точечные файлы из вышеупомянутого репозитория, но начните с чего-то вроде RyanB и создайте свои собственные наборы на основе ваших собственных предпочтений.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...