def set_view_options( view: sublime.View, *, name: Optional[str] = None, settings: Optional[dict] = None, read_only: Optional[bool] = None, scratch: Optional[bool] = None, overwrite: Optional[bool] = None, syntax: Optional[str] = None, scope: Optional[str] = None, encoding: Optional[str] = None, content: Optional[str] = None, line_endings: Optional[str] = None ) -> None: if name is not None: view.set_name(name) if content is not None: view.run_command('append', {'characters': content}) if settings is not None: view_settings = view.settings() for key, value in settings.items(): view_settings.set(key, value) if read_only is not None: view.set_read_only(read_only) if scratch is not None: view.set_scratch(scratch) if overwrite is not None: view.set_overwrite_status(overwrite) if scope is not None: view.assign_syntax(get_syntax_for_scope(scope)) if syntax is not None: view.assign_syntax(syntax) if encoding is not None: view.set_encoding(to_sublime(encoding)) if line_endings is not None: view.set_line_endings(LineEnding(line_endings).name)