def run_validator(self, view):

        # clear the last run
        view.erase_status('glshadervalidator')

        # set up the settings if necessary
        self.apply_settings(view)

        # early return if they have disabled the linter
        if view.settings().get('glsv_enabled') == 0:
            self.clear_errors(view)
            return

        # early return for anything not syntax
        # highlighted as GLSL / ESSL
        if not self.is_glsl_or_essl(view):
            return

        # ANGLE expects files to be suffixed as .frag or
        # .vert so we need to do that check here
        if self.is_valid_file_ending(view):

            # Clear the last set of errors
            self.clear_errors

            # ensure that the script has permissions to run
            # this only runs once and is short circuited on subsequent calls
            self.ANGLECLI.ensure_script_permissions()

            # Get the file and send to ANGLE
            self.errors = self.ANGLECLI.validate_contents(view)
            self.show_errors(view)
        else:
            view.set_status('glshadervalidator', "File name must end in .frag or .vert")
Runs a validation pass
dataset/ETHPy150Open WebGLTools/GL-Shader-Validator/GLShaderValidator.py/GLShaderValidatorCommand.run_validator