4 Using a tag to test this file itself
12 cobra "github.com/spf13/cobra"
19 command := &cobra.Command{
21 Short: "Finds the files tagged with the requested tag",
23 RunE: func(cmd *cobra.Command, args []string) error {
31 cmd.Println("Trying to search for tag", tag, "in directory:", dirName)
32 searchTag(tag, dirName)
37 if err := command.Execute(); err != nil {
43 func searchTag(tag string, dirName string) {
44 var containedFiles []string
45 files, err := ioutil.ReadDir(dirName)
50 for _, fileInfo := range files {
51 fileName := fileInfo.Name()
52 file, err := os.Open(fileName)
58 startSequenceEnv := os.Getenv("TAG_FIND_START_SEQUENCE")
59 var startSequence string
61 if len(startSequenceEnv) != 0 {
62 startSequence = startSequenceEnv
67 scanner := bufio.NewScanner(file)
69 if strings.HasPrefix(scanner.Text(), startSequence) && strings.Contains(scanner.Text(), tag) {
70 containedFiles = append(containedFiles, fileName)
75 if err := scanner.Err(); err != nil {
81 if len(containedFiles) != 0 {
82 for _, fileName := range containedFiles {