suite check: закрыты пробелы в проверках шапки, иерархии и словаря
- документ без темы: ошибка, если такой не один или если он несёт ключи слоя — иначе конвенция, потерявшая topic, молча лишалась всех проверок распространения - иерархия заголовков: один заголовок первого уровня, без перескоков через уровень - имя темы: латиница и пригодность для имени файла — ошибкой, kebab-case — предупреждением - сценарные связки чужого словаря ловятся в начале строки, где их ставит сценарный блок, а не в середине фразы, где это чаще SQL
This commit is contained in:
@@ -267,6 +267,31 @@ func Foreign(version int, code string) map[string]string {
|
||||
return foreign
|
||||
}
|
||||
|
||||
// ForeignConnectives lists the scenario connectives of the other vocabularies
|
||||
// of the same version. They are kept apart from Foreign because they are caught
|
||||
// differently: a connective is a whole word of everyday speech in some
|
||||
// language — AND and OR are SQL keywords too — so only its position at the
|
||||
// start of a line tells a scenario block from a mention.
|
||||
func ForeignConnectives(version int, code string) map[string]string {
|
||||
own, err := Lookup(version, code)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
foreign := make(map[string]string)
|
||||
for otherCode, other := range registry[version] {
|
||||
if otherCode == code {
|
||||
continue
|
||||
}
|
||||
for w := range other.Scenario {
|
||||
if _, mine := own.Scenario[w]; mine {
|
||||
continue
|
||||
}
|
||||
foreign[w] = otherCode
|
||||
}
|
||||
}
|
||||
return foreign
|
||||
}
|
||||
|
||||
func versions() string {
|
||||
out := make([]string, 0, len(registry))
|
||||
for v := range registry {
|
||||
|
||||
Reference in New Issue
Block a user