code.gitea.io/gitea@v1.19.3/modules/user/user.go (about) 1 // Copyright 2014 The Gogs Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package user 5 6 import ( 7 "os" 8 "os/user" 9 "runtime" 10 "strings" 11 ) 12 13 // CurrentUsername return current login OS user name 14 func CurrentUsername() string { 15 userinfo, err := user.Current() 16 if err != nil { 17 return fallbackCurrentUsername() 18 } 19 username := userinfo.Username 20 if runtime.GOOS == "windows" { 21 parts := strings.Split(username, "\\") 22 username = parts[len(parts)-1] 23 } 24 return username 25 } 26 27 // Old method, used if new method doesn't work on your OS for some reason 28 func fallbackCurrentUsername() string { 29 curUserName := os.Getenv("USER") 30 if len(curUserName) > 0 { 31 return curUserName 32 } 33 34 return os.Getenv("USERNAME") 35 }