...
1 package name
2
3 import (
4 "go/build"
5 "path/filepath"
6 "strings"
7 )
8
9
10
11
12
13 func Package(s string) string {
14 return New(s).Package().String()
15 }
16
17
18
19
20
21 func (i Ident) Package() Ident {
22 c := build.Default
23
24 s := i.Original
25
26 for _, src := range c.SrcDirs() {
27 s = strings.TrimPrefix(s, src)
28 s = strings.TrimPrefix(s, filepath.Dir(src))
29 }
30
31 s = strings.TrimPrefix(s, string(filepath.Separator))
32 s = strings.Replace(s, "\\", "/", -1)
33 s = strings.Replace(s, "_", "", -1)
34 return Ident{New(s).ToLower()}
35 }
36
View as plain text