#emacs #projectile #emacs-projectile
#emacs #projectile #emacs-projectile
Вопрос:
Мне действительно понравилось использовать эту функцию projectile на других языках, но в настоящее время мне трудно найти способ настроить ее для типичного проекта 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")))
Комментарии:
1. Я не знаком с TypeScript, но, возможно, было бы лучше определить некоторый тип проекта TS, если его можно идентифицировать на основе его файловой структуры.