code: def _read_settings_file(settings_file: 'Path') -> SettingsData:
      
      # Read settings from persistent file
      data = _read_json_file(settings_file)
      settings, version = _migrate(data)
  
      if (data.get('_version') != version):
          _write_settings_file(settings, version, settings_file)
  
      return settings, version
docs: Read the settings file, which is a json object with settings IDs as keys
      and boolean values. For each key, look up the `Settings` object with that
      key. If the key is one of the old IDs (kebab case), replace it with the
      new ID and rewrite the settings file
  
      :param settings_file: the path to the settings file
      :return: a dict with all new settings IDs as the keys, and boolean values
          (the values stored in the settings file, or `False` if the key was not
          found).