public static function highlight_file($filename, $language = '', $return = false, $opts = 0)
    {
        if (is_bool($language)) {
            !is_int($return) ?: $opts = $return;
            $return = $language;
            $language = '';
        }
        elseif (is_int($language)) {
            $opts = $language;
            $language = '';
        }

        if (file_exists($filename) && is_readable($filename)) {
            $gs = new static($filename, '', $opts);

            if ($language == '') {
                $ext = pathinfo($filename, PATHINFO_EXTENSION);
                $language = $gs->get_language_name_from_extension($ext);
            }

            $gs->setLanguage($language);
            $s = $gs->parseCode();

            if ($gs->error()) {
                return false;
            }

            if ($return) {
                return '<code>' . $s . '</code>';
            }
            echo '<code>' . $s . '</code>';

            return true;
        }

        return false;
    }