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")))
Другие вопросы по тегам