Emacs: projectile-toggle-between-implementation-and-test для обнаружения файлов спецификации TypeScript
Мне очень понравилось использовать эту функцию снаряда на других языках, но в настоящее время я с трудом пытаюсь найти способ установить ее для типичного проекта TypeScript.
ls services/
foo.service.ts foo.service.spec.ts bar.ts bar.spec.ts
Когда я выполняю
projectile-toggle-between-implementation-and-test
в любом из этих 4 файлов я получаю следующую ошибку:
helm-M-x-execute-command: No matching test file found for project type ‘npm’
Другими словами, правило
try to find a file in the same directory with/without *.spec.ts* suffix
1 ответ
Оказывается, это довольно просто. Вам необходимо оценить следующий фрагмент (обратите внимание на тип проекта npm):
(defun projectile-test-suffix (project-type)
"Find default test files suffix based on PROJECT-TYPE."
(cond
((member project-type '(emacs-cask)) "-test")
((member project-type '(rails-rspec ruby-rspec)) "_spec")
((member project-type '(rails-test ruby-test lein-test boot-clj go)) "_test")
((member project-type '(scons)) "test")
((member project-type '(npm)) ".spec")
((member project-type '(maven symfony)) "Test")
((member project-type '(gradle gradlew grails)) "Spec")))