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