code: def _looks_like_resource_file(self, name):
          
          # inefficient since we end up reading the file twice,
          # but it's fast enough for our purposes, and prevents
          # us from doing a full parse of files that are obviously
          # not robot files
  
          if (re.search(r'__init__.(txt|robot|html|tsv)$', name)):
              # These are initialize files, not resource files
              return False
  
          found_keyword_table = False
          if (name.lower().endswith(".robot") or
              name.lower().endswith(".txt") or
              name.lower().endswith(".tsv")):
  
              with open(name, "r") as f:
                  data = f.read()
                  for match in re.finditer(r'^\*+\s*(Test Cases?|(?:User )?Keywords?)',
                                           data, re.MULTILINE|re.IGNORECASE):
                      if (re.match(r'Test Cases?', match.group(1), re.IGNORECASE)):
                          # if there's a test case table, it's not a keyword file
                          return False
  
                      if (not found_keyword_table and
                          re.match(r'(User )?Keywords?', match.group(1), re.IGNORECASE)):
                          found_keyword_table = True
          return found_keyword_table
docs: Return true if the file has a keyword table but not a testcase table