123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package util
- import (
- "io/ioutil"
- "os"
- "path/filepath"
- )
- const goctlDir = ".goctl"
- func GetTemplateDir(category string) (string, error) {
- home, err := os.UserHomeDir()
- if err != nil {
- return "", err
- }
- return filepath.Join(home, goctlDir, category), nil
- }
- func InitTemplates(category string, templates map[string]string) error {
- dir, err := GetTemplateDir(category)
- if err != nil {
- return err
- }
- if err := MkdirIfNotExist(dir); err != nil {
- return err
- }
- for k, v := range templates {
- if err := createTemplate(filepath.Join(dir, k), v); err != nil {
- return err
- }
- }
- return nil
- }
- func LoadTemplate(category, file, builtin string) (string, error) {
- dir, err := GetTemplateDir(category)
- if err != nil {
- return "", err
- }
- file = filepath.Join(dir, file)
- if !FileExists(file) {
- return builtin, nil
- }
- content, err := ioutil.ReadFile(file)
- if err != nil {
- return "", err
- }
- return string(content), nil
- }
- func createTemplate(file, content string) error {
- if FileExists(file) {
- println(1)
- return nil
- }
- f, err := os.Create(file)
- if err != nil {
- return err
- }
- defer f.Close()
- _, err = f.WriteString(content)
- return err
- }
|