func replaceText(content string, info *gauge_messages.TextInfo, replacement string) string { parts := regexp.MustCompile("\r\n|\n").Split(content, -1) for i := info.GetStartingLineNo(); i < info.GetEndLineNo(); i++ { parts = append(parts[:info.GetStartingLineNo()], parts[info.GetStartingLineNo()+1:]...) } parts[info.GetStartingLineNo()-1] = replacement return strings.Join(parts, "\n") }
func ExtractConcept(conceptName *gauge_messages.Step, steps []*gauge_messages.Step, conceptFileName string, changeAcrossProject bool, selectedTextInfo *gauge_messages.TextInfo) (bool, error, []string) { content := SPEC_HEADING_TEMPLATE if util.IsSpec(selectedTextInfo.GetFileName()) { content, _ = common.ReadFileContents(selectedTextInfo.GetFileName()) } concept, conceptUsageText, err := getExtractedConcept(conceptName, steps, content) if err != nil { return false, err, []string{} } writeConceptToFile(concept, conceptUsageText, conceptFileName, selectedTextInfo.GetFileName(), selectedTextInfo) return true, errors.New(""), []string{conceptFileName, selectedTextInfo.GetFileName()} }
func ReplaceExtractedStepsWithConcept(selectedTextInfo *gauge_messages.TextInfo, conceptText string) string { content, _ := common.ReadFileContents(selectedTextInfo.GetFileName()) return replaceText(content, selectedTextInfo, conceptText) }