feat: editor write path
This commit is contained in:
1 parent
d9158025d4
commit
a0b3c58c52
88 files changed
+5738
-263
No files matched your search
@@ -93,3 +93,44 @@ func Plan(current []Row, counts map[string]VersionCount, change Change) ([]Row,
|
||||
}
|
||||
return next, nil
|
||||
}
|
||||
|
||||
func EnabledTag(rows []Row, tag string) bool {
|
||||
return slices.ContainsFunc(rows, func(row Row) bool { return row.Tag == tag && row.Enabled })
|
||||
}
|
||||
|
||||
func HasRow(rows []Row, tag string) bool {
|
||||
return slices.ContainsFunc(rows, func(row Row) bool { return row.Tag == tag })
|
||||
}
|
||||
|
||||
func MissingTags(rows []Row, tags []string) []string {
|
||||
missing := []string{}
|
||||
for _, tag := range tags {
|
||||
if tag != language.Unassigned && !EnabledTag(rows, tag) && !slices.Contains(missing, tag) {
|
||||
missing = append(missing, tag)
|
||||
}
|
||||
}
|
||||
slices.Sort(missing)
|
||||
return missing
|
||||
}
|
||||
|
||||
func DefaultTag(rows []Row) string {
|
||||
for _, row := range rows {
|
||||
if row.IsDefault {
|
||||
return row.Tag
|
||||
}
|
||||
}
|
||||
return language.Unassigned
|
||||
}
|
||||
|
||||
func CompareTags(defaultTag string, left string, right string) int {
|
||||
if left == right {
|
||||
return 0
|
||||
}
|
||||
if left == defaultTag {
|
||||
return -1
|
||||
}
|
||||
if right == defaultTag {
|
||||
return 1
|
||||
}
|
||||
return strings.Compare(left, right)
|
||||
}
|
||||
Reference in new issue
Block a user