docs: def gather_defaults(self):
          """
          Return the number of default variables.
          """
          total_defaults = 0
          defaults_lines = []
  
          if not os.path.exists(self.paths["defaults"]):
              # reset the defaults if no defaults were found
              self.defaults = ""
              return 0
  
          file = open(self.paths["defaults"], "r")
          for line in file:
              if len(line) > 0:
                  first_char = line[0]
              else:
                  first_char = ""
  
              defaults_lines.append(line)
  
              if (first_char != "#" and first_char != "-" and
                      first_char != " " and
                      first_char != "\r" and
                      first_char != "\n" and
                      first_char != "\t"):
                  total_defaults += 1
          file.close()
  
          self.defaults = "".join(defaults_lines)
  
          return total_defaults