Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package highlight for openSUSE:Factory checked in at 2021-02-22 14:23:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/highlight (Old) and /work/SRC/openSUSE:Factory/.highlight.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "highlight" Mon Feb 22 14:23:15 2021 rev:34 rq:874193 version:3.62 Changes: -------- --- /work/SRC/openSUSE:Factory/highlight/highlight.changes 2020-12-23 14:21:13.453724835 +0100 +++ /work/SRC/openSUSE:Factory/.highlight.new.2378/highlight.changes 2021-02-22 14:23:17.303603798 +0100 @@ -1,0 +2,17 @@ +Fri Feb 19 21:27:57 UTC 2021 - antoine.belv...@opensuse.org + +- Update to version 3.62: + * Fixed `--list-scripts` output. + +------------------------------------------------------------------- +Wed Feb 17 21:36:15 UTC 2021 - antoine.belv...@opensuse.org + +- Update to version 3.61: + * Added `--syntax-supported` option + * Fixed indentation of Plain TeX output +- Drop makefile patches since build can actually be configured + without them: + * highlight-3.45-fix-doc-dir.patch + * highlight-3.59-use_optflags.patch + +------------------------------------------------------------------- Old: ---- highlight-3.45-fix-doc-dir.patch highlight-3.59-use_optflags.patch highlight-3.60.tar.bz2 highlight-3.60.tar.bz2.asc New: ---- highlight-3.62.tar.bz2 highlight-3.62.tar.bz2.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ highlight.spec ++++++ --- /var/tmp/diff_new_pack.WbfcXm/_old 2021-02-22 14:23:17.959604438 +0100 +++ /var/tmp/diff_new_pack.WbfcXm/_new 2021-02-22 14:23:17.967604446 +0100 @@ -1,7 +1,7 @@ # # spec file for package highlight # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %bcond_without gui Name: highlight -Version: 3.60 +Version: 3.62 Release: 0 Summary: Universal Source Code to Formatted Text Converter License: GPL-3.0-or-later @@ -27,10 +27,6 @@ Source0: http://www.andre-simon.de/zip/%{name}-%{version}.tar.bz2 Source1: http://www.andre-simon.de/zip/%{name}-%{version}.tar.bz2.asc Source99: highlight.keyring -# PATCH-FIX-OPENSUSE highlight-3.45-fix-doc-dir.patch -Patch0: highlight-3.45-fix-doc-dir.patch -# PATCH-FIX-OPENSUSE highlight-3.59-use_optflags.patch -Patch1: highlight-3.59-use_optflags.patch BuildRequires: dos2unix BuildRequires: gcc-c++ BuildRequires: libboost_headers-devel @@ -65,15 +61,19 @@ dos2unix extras/pandoc/* extras/themes-resources/base16/* %build -%make_build OPTFLAGS="%{optflags}" cli +export CFLAGS="%{optflags}" +%make_build cli + %if %{with gui} # Don't call gui and cli targets in the same make invocation # as it leads to concurrency issues. -%make_build OPTFLAGS="%{optflags}" gui +%make_build gui \ + doc_dir="%{_docdir}/%{name}/" \ + QMAKE="qmake-qt5 QMAKE_CXXFLAGS=\"%{optflags}\"" %endif %install -%makeinstall \ +%makeinstall doc_dir="%{_docdir}/%{name}/" \ %if %{with gui} install-gui %suse_update_desktop_file -G "Text converter" -r %{name} Utility TextEditor ++++++ highlight-3.60.tar.bz2 -> highlight-3.62.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/ChangeLog.adoc new/highlight-3.62/ChangeLog.adoc --- old/highlight-3.60/ChangeLog.adoc 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/ChangeLog.adoc 2021-02-19 20:46:18.000000000 +0100 @@ -6,6 +6,18 @@ :toc: left :toclevels: 1 +== highlight 3.62 + +19.02.2021 + + - fixed `--list-scripts` output (thanks to Jens Schleusener) + +== highlight 3.61 + +11.02.2021 + + - added `--syntax-supported` option + - fixed indentation of Plain TeX output == highlight 3.60 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/ballerina.lang new/highlight-3.62/langDefs/ballerina.lang --- old/highlight-3.60/langDefs/ballerina.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/ballerina.lang 2021-02-19 20:46:18.000000000 +0100 @@ -30,7 +30,7 @@ Strings={ Delimiter=[["|']], Escape = [[ \\u\d{4}|\\x?\d{3}|\\\w|\\[\'\\\"] ]], - Interpolation=[[ \$\{.+?\} ]], + Interpolation=[[ \$\{[^}]+\} ]], } IgnoreCase=false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/ceylon.lang new/highlight-3.62/langDefs/ceylon.lang --- old/highlight-3.60/langDefs/ceylon.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/ceylon.lang 2021-02-19 20:46:18.000000000 +0100 @@ -29,7 +29,7 @@ Strings = { Delimiter=[["""|"|']], RawPrefix="R", - Interpolation=[[ ``[\w\(\)]+?``|\\\{.+?\} ]], + Interpolation=[[ ``[\w\(\)]+?``|\\\{[^}]+\} ]], } Comments = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/cmake.lang new/highlight-3.62/langDefs/cmake.lang --- old/highlight-3.60/langDefs/cmake.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/cmake.lang 2021-02-19 20:46:18.000000000 +0100 @@ -13,7 +13,7 @@ Regex=[[ [0-9A-Z_]{2,} ]], }, { Id=3, - Regex=[[\$\{.+\$\{.+?\}.+?\}|\$\{.+?\} ]], + Regex=[[\$\{.+\$\{[^}]+\}.+?\}|\$\{[^}]+\} ]], }, { Id=3, Regex=[[ [A-Z_\>]+\:([\w/]+) ]], @@ -29,7 +29,7 @@ { Open=[[ \[=*\[ ]], Close=[[ \]=*\] ]], Raw=true } }, AssertEqualLength=true, - Interpolation=[[ \$\{.+?\} ]] + Interpolation=[[ \$\{[^}]+\} ]] } IgnoreCase=false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/dart.lang new/highlight-3.62/langDefs/dart.lang --- old/highlight-3.60/langDefs/dart.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/dart.lang 2021-02-19 20:46:18.000000000 +0100 @@ -34,7 +34,7 @@ Strings = { Delimiter=[['|"]], RawPrefix="r", - Interpolation=[[\$\w+|\$\{.+?\}]], + Interpolation=[[\$\w+|\$\{[^}]+\}]], Escape = [[ \\u\d{4}|\\x?\d{3}|\\\w|\\[\'\\\"] ]] } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/js.lang new/highlight-3.62/langDefs/js.lang --- old/highlight-3.60/langDefs/js.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/js.lang 2021-02-19 20:46:18.000000000 +0100 @@ -41,7 +41,7 @@ Strings={ Delimiter=[["|'|`]], - Interpolation=[[ \$\{.+?\} ]], + Interpolation=[[ \$\{[^}]+\} ]], Escape = [=[ \\u\{?[[:xdigit:]]{4,6}\}?|\\\d{3}|\\x[[:xdigit:]]{2}|\\[ntvbrfa\\\?'\"] ]=] } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/kotlin.lang new/highlight-3.62/langDefs/kotlin.lang --- old/highlight-3.60/langDefs/kotlin.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/kotlin.lang 2021-02-19 20:46:18.000000000 +0100 @@ -28,7 +28,7 @@ Strings = { Delimiter=[['|`|"]], - Interpolation=[[ [%$]\w+|\$\{.+?\} ]], + Interpolation=[[ [%$]\w+|\$\{[^}]+\} ]], } Comments = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/rs.lang new/highlight-3.62/langDefs/rs.lang --- old/highlight-3.60/langDefs/rs.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/rs.lang 2021-02-19 20:46:18.000000000 +0100 @@ -35,7 +35,8 @@ Strings = { Delimiter=[["]], RawPrefix="r", - Escape = [[ \\[\'\\\"aftnrv]|\\U\{[0-9a-fA-F]{8}\}|\\u\{[0-9a-fA-F]{4}\}|\\x?? ]] + Escape = [[ \\[\'\\\"aftnrv]|\\U\{[0-9a-fA-F]{8}\}|\\u\{[0-9a-fA-F]{4}\}|\\x?? ]], + Interpolation=[[ \{[^}]+\}|\{\} ]] } Comments = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/scala.lang new/highlight-3.62/langDefs/scala.lang --- old/highlight-3.60/langDefs/scala.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/scala.lang 2021-02-19 20:46:18.000000000 +0100 @@ -9,7 +9,7 @@ table.insert(Keywords, { Id=1, List={"abstract", "def", "object", "override", "sealed", "trait", "type", "val", "var", "yield", - "forSome", "implicit", "lazy", "match", "null", "with"}, + "forSome", "implicit", "lazy", "match", "null", "with", "given"}, } ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/terraform.lang new/highlight-3.62/langDefs/terraform.lang --- old/highlight-3.60/langDefs/terraform.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/terraform.lang 2021-02-19 20:46:18.000000000 +0100 @@ -8,16 +8,14 @@ Keywords={ { Id=1, - List= { "variable", "resource", "connection", "data", "vars", "tags", "module", "locals", "provider" - } + List= { "variable", "resource", "connection", "data", "vars", "tags", "module", "locals", "provider" } }, { Id=3, Regex=[[(\w+)\s*\=]] }, { Id=2, - List= { "false", "true" - } + List= { "false", "true" } } } @@ -26,7 +24,7 @@ -- hereDoc opening delimiter, see OnStateChange to handle end of string Strings={ Delimiter=[[<<[\-]?\s*["']?\s*[A-Za-z_]+["']?|"|`|']], - Interpolation=[[ (\$\{.+?\}) ]] + Interpolation=[[ (\$\{[^}]+\}) ]] } Comments = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/langDefs/ts.lang new/highlight-3.62/langDefs/ts.lang --- old/highlight-3.60/langDefs/ts.lang 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/langDefs/ts.lang 2021-02-19 20:46:18.000000000 +0100 @@ -36,7 +36,7 @@ Strings = { Delimiter=[[`|'|"]], - Interpolation=[[ \$\{.+?\} ]], + Interpolation=[[ \$\{[^}]+\} ]], } Comments = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/man/highlight.1 new/highlight-3.62/man/highlight.1 --- old/highlight-3.60/man/highlight.1 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/man/highlight.1 2021-02-19 20:46:18.000000000 +0100 @@ -1,4 +1,4 @@ -.TH highlight 1 "2020-01-18" "Andre Simon" "user documentation" +.TH highlight 1 "2021-01-09" "Andre Simon" "user documentation" .SH NAME Highlight - a universal sourcecode to formatted text converter @@ -26,8 +26,8 @@ .IP "--config-file=<file>" set path to a lang or theme file .IP "-h, --help[=topic]" - print this help or a topic description - <topic> = [syntax, theme, plugin, config] +print this help or a topic description +<topic> = [syntax, theme, plugin, config] .IP "-i, --input=<file>" name of input file .IP "-o, --output=<file>" @@ -40,6 +40,8 @@ set type of source code, necessary if input file suffix is missing. The syntax may also be defined as path of the language file. .IP "--syntax-by-name=<name>" specify type of source code by given name. Will not read a file of this name, useful for stdin and to determine the syntax of the file before piping its content to highlight. This option overrides --syntax. +.IP "--syntax-supported" +test if the given syntax can be loaded and print the result (assumes -S or --syntax-by-name) .IP "-v, --verbose" print debug info to stderr .IP "-q, --quiet" @@ -47,10 +49,10 @@ .IP "--force[=syntax]" generate output if input syntax is unknown. The fallback syntax may be set here, Plain Text is default. .IP "--list-scripts=<type>" -list installed scripts +list installed scripts <type> = [langs, themes, plugins] .IP "--list-cat=<categories>" -filter the scripts by the given categories (example: --list-cat='source;script') +filter the scripts by the given categories (example: --list-cat='source;script') .IP "--max-size=<size>" set maximum input file size (examples: 512M, 1G; default: 256M) .IP "--plug-in=<script>" @@ -212,7 +214,7 @@ may contain command line options, but no input file paths. .SH HINTS -If no in- or output files are specified, stdin and stdout will be used for in- or output. +If no in- or output files are specified, stdin and stdout will be used for in- or output. Since version 3.44, reading from stdin can also be triggered by the '-' option. Default output format: xterm256 or truecolor if appropriate, HTML otherwise. @@ -224,8 +226,8 @@ Reformatting code (-F) will only work with C, C++, C# and Java input files. .SH BUGS -Wrapping lines with -V or -W will cause faulty highlighting of long single line comments and directives. -Using line-range might interfere with multi line syntax elements. Use with caution. +Wrapping lines with -V or -W will cause faulty highlighting of long single line comments and directives. +Using line-range might interfere with multi line syntax elements. Use with caution. .SH FILES The configuration files are stored in .I /usr/share/highlight/. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/cli/cmdlineoptions.cpp new/highlight-3.62/src/cli/cmdlineoptions.cpp --- old/highlight-3.60/src/cli/cmdlineoptions.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/cli/cmdlineoptions.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -49,7 +49,7 @@ S_OPT_PLUGIN_READFILE, S_OPT_PLUGIN_PARAMETER, S_OPT_LIST_SCRIPTS, S_OPT_CANVAS, S_OPT_KEEP_INJECTIONS, S_OPT_FORCE_STDOUT, S_OPT_LATEX_BEAMER, S_OPT_NO_VERSION_INFO, S_OPT_REFORMAT_OPT, S_OPT_RANGE_OPT, S_OPT_BASE16, S_OPT_CATEGORIES, S_OPT_PIPED_FNAME, - S_OPT_ISOLATE, S_OPT_MAX_FILE_SIZE + S_OPT_ISOLATE, S_OPT_MAX_FILE_SIZE, S_OPT_SYNTAX_SUPPORTED }; const Arg_parser::Option options[] = { @@ -125,7 +125,7 @@ { S_OPT_FORCE_STDOUT, OPT_FORCE_STDOUT, Arg_parser::no }, { S_OPT_LATEX_BEAMER, OPT_LATEX_BEAMER, Arg_parser::no }, { S_OPT_NO_VERSION_INFO, OPT_NO_VERSION_INFO, Arg_parser::no }, - + { S_OPT_PLUGIN, OPT_PLUGIN, Arg_parser::yes }, { S_OPT_PLUGIN_READFILE, OPT_PLUGIN_READFILE, Arg_parser::yes }, { S_OPT_PLUGIN_PARAMETER, OPT_PLUGIN_PARAMETER, Arg_parser::yes }, @@ -138,7 +138,8 @@ { S_OPT_PIPED_FNAME, OPT_PIPED_FNAME, Arg_parser::yes }, { S_OPT_ISOLATE, OPT_ISOLATE_TAGS, Arg_parser::no }, { S_OPT_MAX_FILE_SIZE, OPT_MAX_FILE_SIZE, Arg_parser::yes }, - + { S_OPT_SYNTAX_SUPPORTED, OPT_SYNTAX_SUPPORTED, Arg_parser::no }, + { 0, 0, Arg_parser::no } }; @@ -195,13 +196,14 @@ explicit_output_format(false), opt_isolate(false), opt_encoding_explicit(false), + opt_syntax_supported_check(false), maxFileSize(268435456), fallbackSyntax("txt"), anchorPrefix ( "l" ), helpLang ( "en" ), encodingName ( "ISO-8859-1" ) { - + char* hlEnvOptions=getenv("HIGHLIGHT_OPTIONS"); if (hlEnvOptions!=NULL) { std::ostringstream envos; @@ -212,15 +214,15 @@ std::vector<char*> options; while (ss >> arg) { - ls.push_back(arg); + ls.push_back(arg); options.push_back(const_cast<char*>(ls.back().c_str())); } - options.push_back(0); + options.push_back(0); parseRuntimeOptions(options.size()-1, (const char**) &options[0], false); } - + parseRuntimeOptions(argc, argv); - + if ( skipArg.size() && inputFileNames.size() > 1) { istringstream valueStream; string elem; @@ -229,7 +231,7 @@ while ( getline ( valueStream, elem, ';' ) ) { ignoredFileTypes.insert ( elem ); } - + vector<string>::iterator file=inputFileNames.begin(); while ( file!=inputFileNames.end()) { for ( set<string>::iterator ext=ignoredFileTypes.begin(); ext!=ignoredFileTypes.end(); ext++ ) { @@ -242,7 +244,7 @@ file++; } } - + // no batch mode + no explicit format given if (inputFileNames.size()==1 && !explicit_output_format) { int colorOptions = Platform::isColorEscCapable(); @@ -255,7 +257,7 @@ CmdLineOptions::~CmdLineOptions() {} void CmdLineOptions::parseRuntimeOptions( const int argc, const char *argv[], bool readInputFilenames) { - + Arg_parser parser ( argc, argv, options ); if ( parser.error().size() ) { // bad option @@ -263,7 +265,7 @@ cerr << "Try 'highlight --help' for more information.\n"; exit ( EXIT_FAILURE ); } - + int argind = 0; for ( ; argind < parser.arguments(); ++argind ) { const int code = parser.code ( argind ); @@ -402,14 +404,14 @@ case 's': styleName = arg; if (Platform::fileExists(styleName)){ - absThemePath = styleName; + absThemePath = styleName; } break; case 'S': case S_OPT_COMPAT_SRCLANG: syntax = arg; opt_syntax = true; - + if (Platform::fileExists(arg) && string::npos!=arg.find_last_of('.')){ absLangPath = arg; syntax = arg.substr(0, arg.find_last_of('.')); @@ -455,7 +457,7 @@ opt_force_output = true; if ( !arg.empty() ) { fallbackSyntax=arg; - } + } break; case S_OPT_INLINE_CSS: opt_inline_css=true; @@ -468,6 +470,8 @@ keywordCase = StringTools::CASE_LOWER; else if ( tmp == "capitalize" ) keywordCase = StringTools::CASE_CAPITALIZE; + else + cerr << "highlight: unknown argument " << arg << endl; } break; case S_OPT_PRINT_CONFIG: @@ -532,8 +536,13 @@ break; case S_OPT_NO_TRAILING_NL: opt_no_trailing_nl = 1; - if (arg=="empty-file" || arg=="blank") - opt_no_trailing_nl = 2; + if (arg.size()) { + if (arg=="empty-file") + opt_no_trailing_nl = 2; + else + cerr << "highlight: unknown argument " << arg << endl; + } + break; case S_OPT_KEEP_INJECTIONS: opt_keep_injections = true; @@ -549,7 +558,7 @@ } else if (arg.find(".theme")!=string::npos) absThemePath=arg; else cerr << "highlight: unknown config file type" << endl; break; - + case S_OPT_RANGE_OPT: { size_t delimPos=arg.find("-"); if (delimPos!=string::npos) { @@ -568,10 +577,10 @@ case S_OPT_CANVAS: canvasPaddingWidth=80; numberSpaces=4; // get around problem with maskWs and tab output - if ( !arg.empty() ) + if ( !arg.empty() ) StringTools::str2num<unsigned int> ( canvasPaddingWidth, arg, std::dec ); break; - + case S_OPT_CATEGORIES: listScriptCategory=arg; if (listScriptType.empty()) listScriptType = "langs"; @@ -592,7 +601,10 @@ } break; } - + case S_OPT_SYNTAX_SUPPORTED: + opt_syntax_supported_check = true; + break; + default: cerr << "highlight: option parsing failed" << endl; } @@ -713,12 +725,12 @@ { if (!styleName.empty()) return styleName+".theme"; - + bool isEscOutput = outputType==highlight::ESC_XTERM256 || outputType==highlight::ESC_TRUECOLOR; bool isDarkTerminal = Platform::isDarkTerminal(); if (opt_base16_theme) return isEscOutput && isDarkTerminal ? "harmonic-dark.theme" : "harmonic-light.theme"; - + return isEscOutput && isDarkTerminal ? "edit-vim-dark.theme" : "edit-kwrite.theme"; } @@ -733,7 +745,7 @@ } bool CmdLineOptions::omitVersionInfo() const { - return opt_no_version_info; + return opt_no_version_info; } bool CmdLineOptions::isolateTags() const @@ -741,6 +753,17 @@ return opt_isolate; } +bool CmdLineOptions::isSkippedExt ( const string& ext ) const +{ + return ignoredFileTypes.count ( ext ); +} + +bool CmdLineOptions::checkSyntaxSupport() const +{ + return opt_syntax_supported_check; +} + + string CmdLineOptions::getOutFileSuffix() const { switch ( outputType ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/cli/cmdlineoptions.h new/highlight-3.62/src/cli/cmdlineoptions.h --- old/highlight-3.60/src/cli/cmdlineoptions.h 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/cli/cmdlineoptions.h 2021-02-19 20:46:18.000000000 +0100 @@ -112,10 +112,12 @@ #define OPT_REFORMAT_OPT "reformat-option" #define OPT_RANGE_OPT "line-range" #define OPT_BASE16 "base16" -#define OPT_CATEGORIES "list-cat" +#define OPT_CATEGORIES "list-cat" #define OPT_PIPED_FNAME "syntax-by-name" #define OPT_ISOLATE_TAGS "isolate" #define OPT_MAX_FILE_SIZE "max-size" +#define OPT_SYNTAX_SUPPORTED "syntax-supported" + // Improve CLI option compatibility with GNU source-highlight #define OPT_COMPAT_DOC "doc" @@ -128,7 +130,6 @@ #define OPT_COMPAT_LINENUM "line-number" #define OPT_COMPAT_LINEREF "line-number-ref" -using namespace std; /// handle command line options @@ -144,29 +145,29 @@ ~CmdLineOptions(); /** \return Single output file name*/ - const string &getSingleOutFilename(); + const std::string &getSingleOutFilename(); /** \return Single input file name*/ - const string &getSingleInFilename() const; + const std::string &getSingleInFilename() const; /** \return Output directory*/ - const string& getOutDirectory() ; + const std::string& getOutDirectory() ; /** \return Style output file name*/ - const string getStyleOutFilename() const; + const std::string getStyleOutFilename() const; /** \return Style input file name*/ - const string& getStyleInFilename() const; + const std::string& getStyleInFilename() const; /** \return Char set*/ - const string& getEncoding() const; + const std::string& getEncoding() const; /** \return SVG width*/ - const string& getSVGWidth() const; + const std::string& getSVGWidth() const; /** \return SVG height*/ - const string& getSVGHeight() const; - + const std::string& getSVGHeight() const; + /** \return Number of spaces to replace a tab*/ int getNumberSpaces() const; @@ -192,7 +193,7 @@ bool useCRDelimiter() const; /** \return colour theme name */ - string getThemeName() const ; + std::string getThemeName() const ; /** gibt true zurck, falls deutsche Hilfe ausgegeben werden soll */ int helpLanguage() const; @@ -204,7 +205,7 @@ bool fragmentOutput() const; /** \return output file suffix */ - string getOutFileSuffix() const; + std::string getOutFileSuffix() const; /** \return True if anchors should be attached to line numbers*/ bool attachLineAnchors() const; @@ -223,7 +224,7 @@ /** \return True if shorthands of LaTeX Babel package should be disabled*/ bool disableBabelShorthands() const; - + /** \return True if support for the Beamer package should be enabled*/ bool enableBeamerMode() const; @@ -231,7 +232,7 @@ bool useFNamesAsAnchors() const; /** \return Data directory*/ - const string &getDataDir() const; + const std::string &getDataDir() const; /** \return True if language syntax is given*/ bool syntaxGiven() const; @@ -244,7 +245,7 @@ /** \return True if line numbers are filled with leading zeroes */ bool fillLineNrZeroes() const; - + /** \return True if plug-in injections are outputted despite of --fragment */ bool keepInjections() const; @@ -253,21 +254,21 @@ /** \return True if output should not contain version info comment */ bool omitVersionInfo() const; - + /** \return programming syntax */ - const string &getSyntax() const ; + const std::string &getSyntax() const ; /** \return Wrapping style*/ highlight::WrapMode getWrappingStyle() const; /** \return List of input file names*/ - const vector <string> & getInputFileNames() const; + const std::vector <std::string> & getInputFileNames() const; /** \return indentation and reformatting scheme*/ - string getIndentScheme() const; + std::string getIndentScheme() const; /** \return RTF page size */ - const string &getPageSize() const; + const std::string &getPageSize() const; /** \return Output file format */ highlight::OutputType getOutputType() const; @@ -289,13 +290,13 @@ { return opt_encoding_explicit; } - + /** \return True if style was defined by user*/ bool styleDefined() const { return !styleName.empty(); } - + /** \return True if output should be generated if language type is unknown*/ bool forceOutput() const; @@ -322,7 +323,7 @@ /** \return True if RTF output should include page color */ bool includePageColor() const ; - + /** \return True if LaTeX output should include fancier symbols */ bool prettySymbols() const; @@ -334,61 +335,67 @@ /** \return True if output token of the same syntax category should be in separate tags */ bool isolateTags() const; - + + /** \return true if file extension should be ignored */ + bool isSkippedExt ( const std::string& ext ) const; + + /** \return true if syntax load result should be reported */ + bool checkSyntaxSupport () const; + /** \return max. input file size (default 256 MB) */ off_t getMaxFileSize() const; - - /** \return The given base font, empty string by default */ - const string& getBaseFont() const ; + + /** \return The given base font, empty std::string by default */ + const std::string& getBaseFont() const ; /** \return Document title */ - const string& getDocumentTitle() const ; + const std::string& getDocumentTitle() const ; /** \return anchor prefix */ - const string& getAnchorPrefix() const ; + const std::string& getAnchorPrefix() const ; /** \return class name */ - const string& getClassName() const ; + const std::string& getClassName() const ; /** \return list of plugin file paths */ - const vector <string> &getPluginPaths() const; + const std::vector <std::string> &getPluginPaths() const; /** \return list of astyle options */ - const vector <string> &getAStyleOptions() const; - - /** \return 1 if trailing nl should be omitted, + const std::vector <std::string> &getAStyleOptions() const; + + /** \return 1 if trailing nl should be omitted, * 2 if it should only be omitted for empty input */ int disableTrailingNL() const ; /** \return The given base font size, empty string by default */ - const string& getBaseFontSize() const ; + const std::string& getBaseFontSize() const ; /** \return name of nested syntax which starts the input */ - const string& getStartNestedLang() const ; + const std::string& getStartNestedLang() const ; /** \return absolute theme definition path name */ - const string& getAbsThemePath() const ; + const std::string& getAbsThemePath() const ; /** \return absolute language definition path name */ - const string& getAbsLangPath() const ; + const std::string& getAbsLangPath() const ; /** \return parameter passed to plugin */ - const string& getPluginParameter() const ; + const std::string& getPluginParameter() const ; /** \return category to filter scripts of --list-scripts */ - const string& getCategories() const ; + const std::string& getCategories() const ; /** \return optional help topic */ - const string& getHelpTopic() const; + const std::string& getHelpTopic() const; /** \return name of the file which will later be redirected to highlight's stdin */ - const string& getSyntaxByFilename() const; + const std::string& getSyntaxByFilename() const; /** \return category of scripts which should be listed */ - const string& getListScriptKind() const; - + const std::string& getListScriptKind() const; + /** \return fallback syntax if not defined or found by filename or shebang */ - const string& getFallbackSyntax() const; + const std::string& getFallbackSyntax() const; /** \return line number width */ int getNumberWidth(); @@ -401,29 +408,23 @@ /** \return ANSI background color padding width */ int getCanvasPadding(); - + /** \return line range start */ int getLineRangeStart(); - + /** \return line range end (number of lines starting from getLineRangeStart() ) */ int getLineRangeEnd(); - + /** \return Keyword Case (upper, lower, unchanged) */ StringTools::KeywordCase getKeywordCase() const; - /** \return true if file extension should be ignored */ - bool isSkippedExt ( const string& ext ) - { - return ignoredFileTypes.count ( ext ); - } - private: int numberSpaces; // number of spaces which replace a tab int lineNrWidth; // width of line number (left padding) int lineLength; // length of line before wrapping int lineNrStart; // line number start count - int lineRangeStart; // line range start + int lineRangeStart; // line range start int lineRangeEnd; // line range end int opt_no_trailing_nl; @@ -434,7 +435,7 @@ StringTools::KeywordCase keywordCase; // name of single output file - string outFilename, + std::string outFilename, // output directory outDirectory, // programming syntax which will be loaded @@ -447,17 +448,17 @@ styleInFilename, // used to define data directories at runtime dataDir; - + // name of indenation scheme - string indentScheme, - pageSize, + std::string indentScheme, + pageSize, startNestedLang; - string baseFont, baseFontSize; - string docTitle, className; - string skipArg; - string svg_height, svg_width; - string absThemePath, absLangPath/*, twoPassFile*/; + std::string baseFont, baseFontSize; + std::string docTitle, className; + std::string skipArg; + std::string svg_height, svg_width; + std::string absThemePath, absLangPath/*, twoPassFile*/; bool opt_syntax; bool opt_include_style; @@ -496,39 +497,40 @@ bool explicit_output_format; bool opt_isolate; bool opt_encoding_explicit; - + bool opt_syntax_supported_check; + off_t maxFileSize; - string fallbackSyntax, anchorPrefix; - string helpLang, encodingName; + std::string fallbackSyntax, anchorPrefix; + std::string helpLang, encodingName; - string pluginPath, pluginParameter, + std::string pluginPath, pluginParameter, listScriptCategory, helpTopic, redirectedFilename, listScriptType; /** list of all input file names */ - vector <string> inputFileNames; + std::vector <std::string> inputFileNames; /** list of plugin file names */ - vector <string> userPlugins; + std::vector <std::string> userPlugins; /** list of additional Artistic Style options */ - vector <string> astyleOptions; - + std::vector <std::string> astyleOptions; + /** list of file types which should be ignored */ - set <string> ignoredFileTypes; + set <std::string> ignoredFileTypes; /** \return file suffix */ - string getFileSuffix ( const string & fileName ) const; + std::string getFileSuffix ( const std::string & fileName ) const; /** \return directory name of path */ - string getDirName ( const string & path ); + std::string getDirName ( const std::string & path ); /** get all entries in the directory defined by wildcard */ - void readDirectory ( const string & wildcard ); + void readDirectory ( const std::string & wildcard ); /** \return Valid path name */ - string validateDirPath ( const string & path ); - + std::string validateDirPath ( const std::string & path ); + void parseRuntimeOptions( const int argc, const char *argv[], bool readInputFilenames=true); }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/cli/help.cpp new/highlight-3.62/src/cli/help.cpp --- old/highlight-3.60/src/cli/help.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/cli/help.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -2,7 +2,7 @@ help.cpp - description ------------------- begin : Die Apr 23 2002 - copyright : (C) 2002-2019 by Andre Simon + copyright : (C) 2002-2021 by Andre Simon email : a.si...@mailbox.org ***************************************************************************/ @@ -85,7 +85,7 @@ cout <<"HIGHLIGHT_OPTIONS: may contain command line options, but no input file paths\n\n"; cout <<"Highlight reads TERM and COLORTERM to determine the appropriate default output.\n"; } else if (topic=="plugin" || topic=="plug-in") { - cout <<"PLUG-IN HELP:\n\n"; + cout <<"PLUG-IN HELP:\n\n"; cout <<"The plug-in interface allows modifications of syntax parsing, colouring and\n"; cout <<"the document's header and footer.\n"; cout <<"\n"; @@ -134,14 +134,15 @@ cout<<" -S, --syntax=<type|path> specify type of source code or syntax file path\n"; cout<<" --syntax-by-name=<name> specify type of source code by given name\n"; cout<<" will not read a file of this name, useful for stdin\n"; + cout<<" --syntax-supported test if the given syntax can be loaded\n"; cout<<" -v, --verbose print debug info\n"; cout<<" --force[=syntax] generate output if input syntax is unknown\n"; cout<<" --list-scripts=<type> list installed scripts\n"; cout<<" <type> = [langs, themes, plugins]\n"; - cout<<" --list-cat=<categories> filter the scripts by the given categories\n"; + cout<<" --list-cat=<categories> filter the scripts by the given categories\n"; cout<<" (example: --list-cat='source;script')\n"; cout<<" --max-size=<size> set maximum input file size\n"; - cout<<" (examples: 512M, 1G; default: 256M)\n"; + cout<<" (examples: 512M, 1G; default: 256M)\n"; cout<<" --plug-in=<script> execute Lua plug-in script; repeat option to\n"; cout<<" execute multiple plug-ins\n"; cout<<" --plug-in-param=<value> set plug-in input parameter\n"; @@ -206,7 +207,7 @@ cout<<" --no-version-info omit version info comment\n"; // cout<<" --two-pass=<file> write plug-in with persistent state information\n"; // cout<<" (beta; requires syntax with store instructions)\n"; - + cout<<"\n\n"; cout<<"(X)HTML output options:\n"; cout<<"\n"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/cli/main.cpp new/highlight-3.62/src/cli/main.cpp --- old/highlight-3.60/src/cli/main.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/cli/main.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -2,7 +2,7 @@ main.cpp - description ------------------- begin : Die Apr 23 22:16:35 CEST 2002 - copyright : (C) 2002-2020 by Andre Simon + copyright : (C) 2002-2021 by Andre Simon email : a.si...@mailbox.org Highlight is a universal source code to HTML converter. Syntax highlighting @@ -44,11 +44,11 @@ void HLCmdLineApp::printVersionInfo(bool quietMode) { if (quietMode) { - cout << HIGHLIGHT_VERSION << "\n"; + cout << highlight::Info::getVersion() << "\n"; } else { cout << "\n highlight version " - << HIGHLIGHT_VERSION - << "\n Copyright (C) 2002-2020 Andre Simon <a dot simon at mailbox.org>" + << highlight::Info::getVersion() + << "\n Copyright (C) 2002-2021 Andre Simon <a dot simon at mailbox.org>" << "\n\n Argparser class" << "\n Copyright (C) 2006-2008 Antonio Diaz Diaz <ant_diaz at teleline.es>" << "\n\n Artistic Style Classes (3.1 rev. 672)" @@ -124,7 +124,6 @@ categoryMap = ls["Categories"].value().asTable(); - //TODO: negation for(Diluculum::LuaValueMap::const_iterator it = categoryMap.begin(); it != categoryMap.end(); ++it) { categoryNames.insert(it->second.asString()); @@ -356,7 +355,7 @@ } if ( options.printConfigInfo() ) { - printConfigInfo ( ); + printConfigInfo(); return EXIT_SUCCESS; } @@ -389,6 +388,27 @@ unique_ptr<highlight::CodeGenerator> generator ( highlight::CodeGenerator::getInstance ( options.getOutputType() ) ); + if (options.checkSyntaxSupport()) { + + if (!options.syntaxGiven() ) { + cerr << "highlight: Define a syntax to use this option\n"; + return EXIT_FAILURE; + } else { + string syntaxByFile=options.getSyntaxByFilename(); + string testSuffix = syntaxByFile.empty() ? options.getSyntax() : dataDir.getFileSuffix(syntaxByFile); + string resolvedSuffix (dataDir.guessFileType (testSuffix, syntaxByFile, syntaxByFile.empty(),false )); + string langDefPath (options.getAbsLangPath().empty() ? dataDir.getLangPath ( resolvedSuffix +".lang") : options.getAbsLangPath()); + + if (generator->loadLanguage( langDefPath ) == highlight::LOAD_OK) { + cout << "highlight: This syntax is supported\n"; + return EXIT_SUCCESS; + } else { + cerr << "highlight: This syntax is not supported\n"; + return EXIT_FAILURE; + } + } + } + generator->setHTMLAttachAnchors ( options.attachLineAnchors() ); generator->setHTMLOrderedList ( options.orderedList() ); generator->setHTMLInlineCSS ( options.inlineCSS() ); @@ -430,7 +450,6 @@ options.getLineLength() - options.getNumberWidth() : options.getLineLength(), options.getNumberSpaces() ); - //generator->setEncoding ( options.getEncoding() ); generator->setBaseFont ( options.getBaseFont() ) ; generator->setBaseFontSize ( options.getBaseFontSize() ) ; generator->setLineNumberWidth ( options.getNumberWidth() ); @@ -571,7 +590,7 @@ langDefPath = dataDir.getLangPath ( options.getFallbackSyntax()+".lang" ); } - highlight::LoadResult loadRes= generator-> loadLanguage( langDefPath ); + highlight::LoadResult loadRes= generator->loadLanguage( langDefPath ); if ( loadRes==highlight::LOAD_FAILED_REGEX ) { cerr << "highlight: Regex error ( " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/core/codegenerator.cpp new/highlight-3.62/src/core/codegenerator.cpp --- old/highlight-3.60/src/core/codegenerator.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/core/codegenerator.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -2,7 +2,7 @@ codegenerator.cpp - description ------------------- begin : Die Jul 9 2002 - copyright : (C) 2002-2020 by Andre Simon + copyright : (C) 2002-2021 by Andre Simon email : a.si...@mailbox.org ***************************************************************************/ @@ -328,6 +328,11 @@ baseFontSize = fontSize; } +void CodeGenerator::setStyleCaching ( bool flag ) +{ + disableStyleCache=!flag; +} + void CodeGenerator::setStartingNestedLang(const string &langName) { embedLangStart = langName; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/core/htmlgenerator.cpp new/highlight-3.62/src/core/htmlgenerator.cpp --- old/highlight-3.60/src/core/htmlgenerator.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/core/htmlgenerator.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -2,7 +2,7 @@ htmlgenerator.cpp - description ------------------- begin : Wed Nov 28 2001 - copyright : (C) 2001-2012 by Andre Simon + copyright : (C) 2001-2021 by Andre Simon email : a.si...@mailbox.org ***************************************************************************/ @@ -216,7 +216,7 @@ if (!omitVersionComment) { s << "<!--HTML generated by highlight " - << HIGHLIGHT_VERSION << ", " << HIGHLIGHT_URL <<"-->\n"; + << highlight::Info::getVersion() << ", " << highlight::Info::getWebsite() <<"-->\n"; } return s.str(); @@ -449,9 +449,9 @@ if (!omitVersionComment) { indexfile << hrTag << brTag << "<small>Generated by highlight " - << HIGHLIGHT_VERSION - << ", <a href=\"" << HIGHLIGHT_URL << "\" target=\"new\">" - << HIGHLIGHT_URL << "</a></small>"; + << highlight::Info::getVersion() + << ", <a href=\"" << highlight::Info::getWebsite() << "\" target=\"new\">" + << highlight::Info::getWebsite() << "</a></small>"; } indexfile << "</body></html>\n"; } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/core/latexgenerator.cpp new/highlight-3.62/src/core/latexgenerator.cpp --- old/highlight-3.60/src/core/latexgenerator.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/core/latexgenerator.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -160,9 +160,9 @@ if (!omitVersionComment) { os << "(* LaTeX generated by highlight " - << HIGHLIGHT_VERSION + << highlight::Info::getVersion() << ", " - << HIGHLIGHT_URL + << highlight::Info::getWebsite() << " *)\n"; } return os.str(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/core/platform_fs.cpp new/highlight-3.62/src/core/platform_fs.cpp --- old/highlight-3.60/src/core/platform_fs.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/core/platform_fs.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -163,7 +163,7 @@ if ( Pos == string::npos ) { directory_path = "."; } else { - directory_path = wildcard.substr ( 0, Pos + 1 ); + directory_path = wildcard.substr ( 0, Pos + 1); wildcard = wildcard.substr ( Pos + 1 ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/core/svggenerator.cpp new/highlight-3.62/src/core/svggenerator.cpp --- old/highlight-3.60/src/core/svggenerator.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/core/svggenerator.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -179,9 +179,9 @@ if (!omitVersionComment) { os << "<!-- SVG generated by Highlight " - << HIGHLIGHT_VERSION + << highlight::Info::getVersion() << ", " - << HIGHLIGHT_URL + << highlight::Info::getWebsite() <<" -->\n"; } return os.str(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/core/texgenerator.cpp new/highlight-3.62/src/core/texgenerator.cpp --- old/highlight-3.60/src/core/texgenerator.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/core/texgenerator.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -42,7 +42,7 @@ mode, it switches it to horizontal mode).*/ newLineTag="\\leavevmode\\par\n"; - spacer = "\\ "; + spacer = initialSpacer = "\\ "; maskWs=true; excludeWs=true; maskWsBegin = "{\\hlstd"; @@ -119,12 +119,12 @@ { ostringstream os; os << "\\bye\n"; - + if (!omitVersionComment) { os << "% TeX generated by Highlight " - << HIGHLIGHT_VERSION + << highlight::Info::getVersion() << ", " - << HIGHLIGHT_URL << "\n"; + << highlight::Info::getWebsite() << "\n"; } return os.str(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/gui-qt/mainwindow.cpp new/highlight-3.62/src/gui-qt/mainwindow.cpp --- old/highlight-3.60/src/gui-qt/mainwindow.cpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/gui-qt/mainwindow.cpp 2021-02-19 20:46:18.000000000 +0100 @@ -2,7 +2,7 @@ mainwindow.cpp ------------------- begin : Mo 16.03.2009 - copyright : (C) 2009-2020 by Andre Simon + copyright : (C) 2009-2021 by Andre Simon email : a.si...@mailbox.org ***************************************************************************/ @@ -776,7 +776,7 @@ QMessageBox::about( this, "About Highlight", QString("Highlight is a code to formatted text converter.\n\n" "Highlight GUI %1\n" - "(C) 2002-2020 Andre Simon <a.simon at mailbox.org>\n\n" + "(C) 2002-2021 Andre Simon <a.simon at mailbox.org>\n\n" "Artistic Style Classes\n(C) 1998-2002 Tal Davidson\n" "(C) 2006-2018 Jim Pattee <jimp03 at email.com>\n\n" "Diluculum Lua wrapper\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/include/Diluculum/LuaWrappers.hpp new/highlight-3.62/src/include/Diluculum/LuaWrappers.hpp --- old/highlight-3.60/src/include/Diluculum/LuaWrappers.hpp 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/include/Diluculum/LuaWrappers.hpp 2021-02-19 20:46:18.000000000 +0100 @@ -29,7 +29,7 @@ #include <algorithm> #include <string> -#include <boost/bind.hpp> +#include <boost/bind/bind.hpp> #include <Diluculum/CppObject.hpp> #include <Diluculum/LuaExceptions.hpp> #include <Diluculum/LuaState.hpp> @@ -113,7 +113,7 @@ int DILUCULUM_WRAPPER_FUNCTION(FUNC) (lua_State* ls) \ { \ using std::for_each; \ - using boost::bind; \ + using boost::placeholders; \ using Diluculum::PushLuaValue; \ using Diluculum::Impl::ReportErrorFromCFunction; \ \ @@ -247,7 +247,7 @@ int DILUCULUM_METHOD_WRAPPER(CLASS, METHOD) (lua_State* ls) \ { \ using std::for_each; \ - using boost::bind; \ + using boost::placeholders; \ using Diluculum::PushLuaValue; \ using Diluculum::Impl::CppObject; \ using Diluculum::Impl::ReportErrorFromCFunction; \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/include/codegenerator.h new/highlight-3.62/src/include/codegenerator.h --- old/highlight-3.60/src/include/codegenerator.h 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/include/codegenerator.h 2021-02-19 20:46:18.000000000 +0100 @@ -2,7 +2,7 @@ codegenerator.h - description ------------------- begin : Die Jul 9 2002 - copyright : (C) 2002-2018 by Andre Simon + copyright : (C) 2002-2021 by Andre Simon email : a.si...@mailbox.org ***************************************************************************/ @@ -421,6 +421,8 @@ void clearPersistentSnippets(); + /** \param flag true if styles should be cached for repeated file output calls */ + void setStyleCaching ( bool flag ); /** \return Syntaxreader Regex error message */ string getSyntaxRegexError(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/include/version.h new/highlight-3.62/src/include/version.h --- old/highlight-3.60/src/include/version.h 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/include/version.h 2021-02-19 20:46:18.000000000 +0100 @@ -2,7 +2,7 @@ version.h - description ------------------- begin : Mon March 3 2003 - copyright : (C) 2003-2020 by Andre Simon + copyright : (C) 2003-2021 by Andre Simon email : a.si...@mailbox.org ***************************************************************************/ @@ -28,12 +28,36 @@ #ifndef VERSION_H #define VERSION_H +#include <string> + #define HIGHLIGHT_MAJOR "3" -#define HIGHLIGHT_MINOR "60" +#define HIGHLIGHT_MINOR "62" #define HIGHLIGHT_VERSION HIGHLIGHT_MAJOR "." HIGHLIGHT_MINOR #define HIGHLIGHT_URL "http://www.andre-simon.de/" #define HIGHLIGHT_EMAIL "a.si...@mailbox.org" +namespace highlight +{ + +class Info +{ +public: + + static std::string getVersion() { + return HIGHLIGHT_VERSION; + } + + static std::string getWebsite() { + return HIGHLIGHT_URL; + } + + static std::string getEmail() { + return HIGHLIGHT_EMAIL; + } +}; + +} + #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-3.60/src/makefile new/highlight-3.62/src/makefile --- old/highlight-3.60/src/makefile 2020-12-21 11:56:19.000000000 +0100 +++ new/highlight-3.62/src/makefile 2021-02-19 20:46:18.000000000 +0100 @@ -25,7 +25,7 @@ CFLAGS_DILU=-fno-strict-aliasing -SO_VERSION=3.60 +SO_VERSION=3.61 # Source paths CORE_DIR=./core/