2013-10-20 4 views
0

Я пытаюсь проиндексировать мои тесты с помощью ctags, чтобы я мог легче перемещаться с помощью плагина CtrlP vim. Тесты находятся в сценарии кофе. Это то, что у меня есть в моей конфигурации ~/.ctags, чтобы найти описываемые блоки.Как создать ctags для тестов mocha

--regex-coffee=/^[ \t]*(describe+[ \t]+\"(.+?)\")+[ ,]+*->.*$/\1/t,test/ 

Он находит описания блоков в порядке, и это то, что файл Ctags выглядит

User_resource_spec.coffee tests/e2e/User_resource_spec.coffee 1;" F 
assert tests/e2e/User_resource_spec.coffee /^assert = require("assert")$/;" v 
describe "Create User" tests/e2e/User_resource_spec.coffee /^describe "Create User", ->$/;" t 
describe "Users" tests/e2e/User_resource_spec.coffee /^ describe "Users", ->$/;" t 
should tests/e2e/User_resource_spec.coffee /^should = require("should")$/;" v 

У меня есть проблема в том, что когда я

:tag describe "Create User" 

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

describe "Create User" 

просто

describe 

затем снова работает. Я предполагаю, что он не работает из-за пробелов и кавычек.

Что-то странное, но это то, что когда я помещаю периоды и подчеркивания вместо пробелов и избавляюсь от кавычек, он все равно не работает. Как и я, я до сих пор не могу перейти к этому тегу. Тем не менее, другие теги с подчеркиваниями и периодами работают отлично.

Я не могу изменить теги, чтобы просто «описать», хотя, потому что я хочу различать тесты.

Как получить ctags для работы с пробелами и кавычками. Или, если это невозможно сделать, тогда было бы лучшим решением для перехода на конкретные тесты мокки в vim.

+0

Описывает ли «Пользователи» «работу? – romainl

ответ

1

Вы должны бежать кавычки:

:tag describe \"Create Users\" 

Это очень много, чтобы напечатать, почему вы не просто выполните следующие?

:tag des<Tab> 

Было бы перечислить describe \"Create Users\" и describe \"Users\", а также показать вам, почему :tag describe "Create Users" не работает (не-спасся кавычки).

Обратите внимание, что Vim использует поиск по всему слову по умолчанию для :tag и друзей; вы можете использовать поиск в регулярном выражении, чтобы сделать процесс немного детерминированным:

:tag /Crea<Tab> 

 Смежные вопросы

  • Нет связанных вопросов^_^