Мой вопрос связан с этим each-file">1, но я не против добавлять комментарии к файлам с аннотациями типов. Мы просто не хотим, чтобы автоматически генерировались комментарии к сотням файлов, хотя в файлах больше ничего не происходило. Есть ли способ настроить Sorbet для такой работы?
Настройте Sorbet для обработки всех файлов без комментариев, как если бы они были напечатаны: игнорировать комментарий
Ответы (2)
# набрано: false значение по умолчанию для файлов без сигилов.
Таким образом, желаемое поведение уже должно быть на месте.
person
Tom Lord
schedule
28.05.2020
Спасибо за ваш ответ. К сожалению, у меня был тип в заголовке, на самом деле он должен быть
typed: ignore
вместо typed: false
. Я понимаю, что описания в вопросе было недостаточно, чтобы прояснить это самостоятельно. Я обновил заголовок вопроса соответственно.
- person Linus; 28.05.2020
Судя по вашему описанию,
typed: false
по умолчанию для файлов без сигилов должно быть разумным. Sorbet не будет трогать эти файлы и только проверять такие вещи, как отсутствующие константы или опечатки. typed: ignore
очень ограничен и, скорее всего, вы захотите использовать его только в редких случаях, когда хотите скрыть какой-то код от сорбета. Команда даже рекомендует не игнорировать файлы.
- person hdoan; 28.05.2020
Вы можете пройти долгий путь, используя следующие флаги Sorbet:
$ srb tc --help
Typechecker for Ruby
Usage:
sorbet [OPTION...] <path 1> <path 2> ...
...
--ignore string Ignores input files that contain the given
string in their paths (relative to the input
path passed to Sorbet). Strings beginning with /
match against the prefix of these relative
paths; others are substring matchs. Matches must
be against whole folder and file names, so
`foo` matches `/foo/bar.rb` and `/bar/foo/baz.rb`
but not `/foo.rb` or `/foo2/bar.rb`.
...
--typed-override filepath.yaml
Yaml config that overrides strictness levels
on files (default: "")
...
Если все файлы, которые вы хотите игнорировать, находятся в одной папке или могут быть сопоставлены с некоторыми совпадениями пути, то несколько --ignore
строк в вашем sorbet/config
файле должны делать то, что вы хотите.
В противном случае вы можете использовать типизированные переопределения из файла YAML, чтобы заставить Sorbet интерпретировать нужные вам файлы как typed: ignore
. Вы должны, опять же, иметь возможность добавить этот флаг в свой файл sorbet/config
.
person
paracycle
schedule
29.05.2020