z_mirror/fmm

git clone https://git.raiguard.me/z_mirror/fmm

Caleb HeuerFix last underscore always being trimmed5bdab9a

predep-parsing
589 B32 linesraw
1package main
2
3import (
4	"strings"
5)
6
7type ModIdent struct {
8	Name    string
9	Version *Version
10}
11
12func newModIdent(input string) ModIdent {
13	input = strings.TrimSuffix(input, ".zip")
14	parts := strings.Split(input, "_")
15	if len(parts) == 1 {
16		return ModIdent{input, nil}
17	}
18
19	name := strings.Join(parts[:len(parts)-1], "_")
20	version, err := newVersion(parts[len(parts)-1])
21	if err != nil {
22		return ModIdent{input, nil}
23	}
24	return ModIdent{name, version}
25}
26
27func (i *ModIdent) toString() string {
28	if i.Version != nil {
29		return i.Name + " " + i.Version.toString(false)
30	}
31	return i.Name
32}