Documentation
¶
Index ¶
- Constants
- func AddImport(file, alias, impt string) ([]byte, error)
- func AddImportForContent(fileContent []byte, alias, impt string) ([]byte, error)
- func AddSlashForComments(s string) string
- func BaseName(include, subFixToTrim string) string
- func BaseNameAndTrim(include string) string
- func Bytes2Str(in []byte) (out string)
- func CamelString(s string) string
- func CheckAndUpdateThriftgo() error
- func CheckCompiler(tool string) (bool, error)
- func CopyString2StringMap(from, to map[string]string)
- func CopyStringSlice(from, to *[]string)
- func GetBuildGoPaths() []string
- func GetFirstKV(m map[string][]string) (string, []string)
- func GetGOPATH() (gopath string, err error)
- func GetHandlerPackageUniqueName(name string) (string, error)
- func GetMiddlewareUniqueName(name string) (string, error)
- func GetPackageUniqueName(name string) (string, error)
- func ImportToSanitizedPath(path string) string
- func InitGoMod(module string) error
- func InstallAndCheckThriftgo() error
- func IsWindows() bool
- func MapForm(input []string) (map[string][]string, error)
- func PackArgs(c interface{}) (res []string, err error)
- func PathExist(path string) (bool, error)
- func QueryVersion(exe string) (version string, err error)
- func RelativePath(path string) (string, error)
- func SearchGoMod(cwd string, recurse bool) (moduleName, path string, found bool)
- func ShouldUpdate(current, latest string) bool
- func SnakeString(s string) string
- func SplitGoTags(input string) []string
- func SplitPackage(pkg, subFixToTrim string) string
- func SplitPackageName(pkg, subFixToTrim string) string
- func Str2Bytes(in string) (out []byte)
- func SubDir(root, subPkg string) string
- func SubPackage(mod, dir string) string
- func ToCamelCase(name string) string
- func ToGoFuncName(s string) string
- func ToSnakeCase(name string) string
- func ToVarName(paths []string) string
- func TrimLastChar(s string) string
- func UnpackArgs(args []string, c interface{}) error
Constants ¶
const ThriftgoMiniVersion = "v0.2.0"
Variables ¶
This section is empty.
Functions ¶
func AddImportForContent ¶ added in v0.5.1
func AddSlashForComments ¶
AddSlashForComments can adjust the format of multi-line comments
func BaseNameAndTrim ¶
func CamelString ¶
CamelString converts the string 's' to PascalCase (upper camel case). Underscores before lowercase letters are removed and the following letter is capitalized. State flags: j = next char should be uppercased (after underscore), k = seen first letter already.
func CheckAndUpdateThriftgo ¶
func CheckAndUpdateThriftgo() error
CheckAndUpdateThriftgo checks the version of thriftgo and updates the tool to the latest version if its version is less than v0.2.0.
func CheckCompiler ¶
CheckCompiler will check if the tool exists.
func CopyString2StringMap ¶
func CopyStringSlice ¶
func CopyStringSlice(from, to *[]string)
func GetBuildGoPaths ¶
func GetBuildGoPaths() []string
GetBuildGoPaths returns the list of Go path directories.
func GetMiddlewareUniqueName ¶
GetMiddlewareUniqueName can get a non-repeating variable name for middleware name
func GetPackageUniqueName ¶
GetPackageUniqueName can get a non-repeating variable name for package alias
func ImportToSanitizedPath ¶ added in v0.9.8
ImportToSanitizedPath converts import path to file system path and replaces dots with underscores in the last component. For example: "github.com/example/v1.2" becomes "github.com/example/v1_2" on Unix systems. NOTE: no idea about the background, it might caused go import package issues before?
func InstallAndCheckThriftgo ¶
func InstallAndCheckThriftgo() error
InstallAndCheckThriftgo will automatically install thriftgo and judge whether it is installed successfully.
func PackArgs ¶
PackArgs serializes a struct into a flat list of "Key=Value" strings for passing arguments through the protoc/thriftgo plugin interface. Slices are joined with ";", maps are encoded as "k1=v1;k2=v2". Only exported, non-zero fields are included.
func QueryVersion ¶
QueryVersion will query the version of the corresponding executable.
func RelativePath ¶
func SearchGoMod ¶
SearchGoMod searches go.mod from the given directory (which must be an absolute path) to the root directory. When the go.mod is found, its module name and path will be returned.
func ShouldUpdate ¶
ShouldUpdate will return "true" when current is lower than latest.
func SnakeString ¶
SnakeString converts the string 's' to snake_case. Inserts '_' before uppercase letters that follow a lowercase letter or non-underscore. j tracks whether we've seen a non-underscore lowercase char (to avoid leading underscores).
func SplitGoTags ¶
SplitGoTags splits a Go struct tag string into individual key:"value" pairs, respecting quoted values that may contain spaces.
func SplitPackage ¶
func SplitPackageName ¶
func Str2Bytes ¶
Str2Bytes performs a zero-copy string to byte slice conversion using unsafe pointer casting. The returned slice shares memory with the input string; do NOT modify it.
func SubPackage ¶
func ToCamelCase ¶
func ToGoFuncName ¶ added in v0.6.2
ToGoFuncName converts a string to a function naming style for go
func ToSnakeCase ¶
func ToVarName ¶
ToVarName joins path segments and converts them to a valid Go identifier. Non-alphanumeric characters are replaced with '_', and leading digits are dropped. Segments are joined with "__" (e.g. ["api","v1"] -> "api__v1").
func UnpackArgs ¶
UnpackArgs deserializes a "Key=Value" string list (from PackArgs) back into a struct. This is the inverse of PackArgs, used by the plugin process to receive configuration.
Types ¶
This section is empty.