ignore

Форк
0
/
add.go 
47 строк · 961.0 Байт
1
package cmd
2

3
import (
4
	"fmt"
5
	"github.com/neptunsk1y/ignore/internal"
6
	"github.com/spf13/cobra"
7
	"log"
8
	"os"
9
)
10

11
var addCommand = &cobra.Command{
12
	Use:   "add [filename] [template]",
13
	Short: "Add a template to .ignore file",
14
	Run: func(cmd *cobra.Command, args []string) {
15
		pathFile := "./." + args[0] + "ignore"
16
		_, err := os.Stat(pathFile)
17
		if err != nil {
18
			if os.IsNotExist(err) {
19
				log.Fatal("The file does not exist")
20
			} else {
21
				log.Fatal("Error:", err)
22
			}
23
		}
24

25
		tr := internal.NewTemplateRegistry()
26
		template := args[1]
27
		if !tr.HasTemplate(template) {
28
			log.Fatal("template does not exist")
29
		}
30

31
		file, err := os.OpenFile(pathFile, os.O_APPEND|os.O_WRONLY, 0666)
32
		if err != nil {
33
			log.Fatal(err)
34
		}
35
		defer file.Close()
36

37
		err = tr.CopyTemplate(template, file)
38
		if err != nil {
39
			log.Fatal(err)
40
		}
41
		fmt.Printf("%s template has been added to .%signore\n", template, args[0])
42
	},
43
}
44

45
func init() {
46
	rootCmd.AddCommand(addCommand)
47
}
48

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.