func (s *CTagsTargetFileSaver) Run(ctx *types.Context) error { source := *s.Source preprocPath := ctx.PreprocPath err := utils.EnsureFolderExists(preprocPath) if err != nil { return i18n.WrapError(err) } ctagsTargetFilePath := filepath.Join(preprocPath, s.TargetFileName) err = utils.WriteFile(ctagsTargetFilePath, source) if err != nil { return i18n.WrapError(err) } ctx.CTagsTargetFile = ctagsTargetFilePath return nil }