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-05-15 23:15:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/highlight (Old) and /work/SRC/openSUSE:Factory/.highlight.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "highlight" Sat May 15 23:15:53 2021 rev:36 rq:892605 version:4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/highlight/highlight.changes 2021-04-10 15:26:44.574333679 +0200 +++ /work/SRC/openSUSE:Factory/.highlight.new.2988/highlight.changes 2021-05-15 23:16:53.912569494 +0200 @@ -1,0 +2,11 @@ +Wed May 12 22:28:50 UTC 2021 - antoine.belv...@opensuse.org + +- Update to version 4.1: + * Improved handling of Custom theme attributes + (gl#saalen/highlight#182). + * Fixed wrong color code in edit-kwrite.theme. + * Added rng file mapping. + * Improved Lisp highlighting. + * GUI: Fixed highlighting options tab title. + +------------------------------------------------------------------- Old: ---- highlight-v4.0.tar.bz2 New: ---- highlight-v4.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ highlight.spec ++++++ --- /var/tmp/diff_new_pack.knThNi/_old 2021-05-15 23:16:54.476567292 +0200 +++ /var/tmp/diff_new_pack.knThNi/_new 2021-05-15 23:16:54.476567292 +0200 @@ -18,7 +18,7 @@ %bcond_without gui Name: highlight -Version: 4.0 +Version: 4.1 Release: 0 Summary: Universal Source Code to Formatted Text Converter License: GPL-3.0-or-later ++++++ highlight-v4.0.tar.bz2 -> highlight-v4.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/ChangeLog.adoc new/highlight-v4.1/ChangeLog.adoc --- old/highlight-v4.0/ChangeLog.adoc 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/ChangeLog.adoc 2021-05-10 19:47:34.000000000 +0200 @@ -7,6 +7,17 @@ :toclevels: 1 +== highlight 4.1 + +10.05.2021 + + - improved handling of Custom theme attributes (https://gitlab.com/saalen/highlight/-/issues/182) + - fixed wrong color code in edit-kwrite.theme + - added rng file mapping (https://gitlab.com/saalen/highlight/-/merge_requests/129) + - improved Lisp highlighting + - GUI: fixed highlighting options tab title (thanks to Craig) + + == highlight 4.0 23.03.2021 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/INSTALL new/highlight-v4.1/INSTALL --- old/highlight-v4.0/INSTALL 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/INSTALL 2021-05-10 19:47:34.000000000 +0200 @@ -9,9 +9,10 @@ 3. Compilation and installation 4. Known compiler issues 5. LaTeX unicode support -6. Lazy pointer issue under MacOS X -7. Static linking (to run highlight as service) -8. Known distribution issues +6. MacOS X - brew package ignores new filetypes.conf +7. MacOS X - lazy pointer issue +8. Static linking (to run highlight as service) +9. Known distribution issues 1. Package structure @@ -239,8 +240,19 @@ SuSE: latex-ucs -6. Lazy pointer issue under MacOS X -=================================== +6. MacOS X - brew package ignores new filetypes.conf +==================================================== + +If file suffixes like js, coffee, rs are no longer recognized, filetypes.conf might be out of date.<br> +Upgrade thr config like this: + +cd $(brew --prefix)/etc/highlight +mv filetypes.conf filetypes.conf.bak +mv filetypes.conf.default filetypes.conf + + +7. MacOS X - lazy pointer issue +=============================== Stripping the highlight binary causes program termination at runtime: @@ -252,14 +264,14 @@ linkage (see src/makefile, LDFLAGS variable). -7. Static linking (to run highlight as service) +8. Static linking (to run highlight as service) =============================================== If highlight cannot be run as service because of shared linkage, link it with the -static option (see src/makefile, LDFLAGS variable). -8. Known distribution issues +9. Known distribution issues ============================ Linux Mint @@ -275,7 +287,6 @@ OpenSUSE Leap 42.2 -================== The lua-devel package installation causes error messages. Workaround: ignore dependency conflict. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/README.adoc new/highlight-v4.1/README.adoc --- old/highlight-v4.0/README.adoc 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/README.adoc 2021-05-10 19:47:34.000000000 +0200 @@ -1,6 +1,6 @@ = HIGHLIGHT MANUAL Andr?? Simon -v4.0, March 2021 +v4.1, April 2021 :lang: en :toc: left :toc-title: Contents @@ -739,7 +739,7 @@ Bold:: Boolean, true if font should be bold (optional) Italic:: Boolean, true if font should be italic (optional) Underline:: Boolean, true if font should be underlined (optional) -Custom:: Array, contains `Format` and `Style` elements to define custom styling +Custom:: Array, contains `Format` and `Style` for custom styles ==== Theme elements @@ -840,6 +840,12 @@ { Type = 'regexp', Style = String }, { Type = 'operator', Style = Operator }, } + +--ErrorMessage = { +-- Custom = { +-- { Format = "html", Style = "color: blue; border:solid 1px blue; margin-left: 3em" } +-- } +--} -------------------------------------------------------------------------------- === KEYWORD GROUPS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/README_DE.adoc new/highlight-v4.1/README_DE.adoc --- old/highlight-v4.0/README_DE.adoc 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/README_DE.adoc 2021-05-10 19:47:34.000000000 +0200 @@ -1,6 +1,6 @@ = HIGHLIGHT HANDBUCH Andr?? Simon -v4.0, March 2021 +v4.1, April 2021 :lang: de :toc: left :toc-title: Contents @@ -746,7 +746,7 @@ Bold:: Boolean, True wenn Font bold sein soll (optional) Italic:: Boolean, True wenn Font kursiv sein soll (optional) Underline:: Boolean, True wenn Font unterstrichen sein soll (optional) -Custom:: Array, enthaelt `Format` und `Style` Attribute fuer spezielle Formatierungen +Custom:: Array, enthaelt `Format` und `Style`` Attribute fuer spezielle Formatierungen ==== Theme-Elemente @@ -856,6 +856,12 @@ { Type = 'regexp', Style = String }, { Type = 'operator', Style = Operator }, } + +--ErrorMessage = { +-- Custom = { +-- { Format = "html", Style = "color: blue; border:solid 1px blue; margin-left: 3em" } +-- } +--} -------------------------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/filetypes.conf new/highlight-v4.1/filetypes.conf --- old/highlight-v4.0/filetypes.conf 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/filetypes.conf 2021-05-10 19:47:34.000000000 +0200 @@ -100,7 +100,7 @@ { Lang="html", Extensions={"htm", "xhtml", "twig", "jinja"} }, { Lang="xml", Extensions={"sgm", "sgml", "nrm", "ent","hdr", "hub", "dtd", "glade", "wml","vxml", "wml", "tld", "csproj","xsl", "ecf", "jnlp", "xsd", - "resx", "rss", "opml"} }, + "resx", "rng", "rss", "opml"} }, { Lang="fsharp", Extensions={"fs","fsi","fsx"} }, { Lang="informix", Extensions={"4gl"} }, { Lang="blitzbasic", Extensions={"bb"} }, Binary files old/highlight-v4.0/gui_files/l10n/highlight_bg_BG.qm and new/highlight-v4.1/gui_files/l10n/highlight_bg_BG.qm differ Binary files old/highlight-v4.0/gui_files/l10n/highlight_cs_CZ.qm and new/highlight-v4.1/gui_files/l10n/highlight_cs_CZ.qm differ Binary files old/highlight-v4.0/gui_files/l10n/highlight_de_DE.qm and new/highlight-v4.1/gui_files/l10n/highlight_de_DE.qm differ Binary files old/highlight-v4.0/gui_files/l10n/highlight_es_ES.qm and new/highlight-v4.1/gui_files/l10n/highlight_es_ES.qm differ Binary files old/highlight-v4.0/gui_files/l10n/highlight_fr_FR.qm and new/highlight-v4.1/gui_files/l10n/highlight_fr_FR.qm differ Binary files old/highlight-v4.0/gui_files/l10n/highlight_it_IT.qm and new/highlight-v4.1/gui_files/l10n/highlight_it_IT.qm differ Binary files old/highlight-v4.0/gui_files/l10n/highlight_zh_CN.qm and new/highlight-v4.1/gui_files/l10n/highlight_zh_CN.qm differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/langDefs/lisp.lang new/highlight-v4.1/langDefs/lisp.lang --- old/highlight-v4.0/langDefs/lisp.lang 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/langDefs/lisp.lang 2021-05-10 19:47:34.000000000 +0200 @@ -10,16 +10,25 @@ Regex=[[\(([\w\-\_]+)]], }, { Id=2, - Regex=[[ def(un|method)\s+([\w\-]+)]], Group=2 + Regex=[[ def(un|macro|method)\s+([\w\-]+)]], Group=2 }, { Id=3, - Regex=[[ \[.+?\]|\[/\w+\] ]], + Regex=[[ \:[^\s\(\)\*\+\%]+ ]], + }, + { Id=4, + Regex=[[ \*\w+?\* ]], + }, + { Id=5, + Regex=[[ \+\w+?\+ ]], + }, + { Id=6, + Regex=[[ \%\w+?\% ]], }, } Strings={ Delimiter=[[ " ]], - Escape=[=[\\[\w]]=], + Escape=[=[\\["\w]]=], } Comments={ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/langDefs/markdown.lang new/highlight-v4.1/langDefs/markdown.lang --- old/highlight-v4.0/langDefs/markdown.lang 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/langDefs/markdown.lang 2021-05-10 19:47:34.000000000 +0200 @@ -45,3 +45,10 @@ AddPersistentState(lineNumber-1, kwgroup, column, #token) end end + + + +--NestedSections = { +-- { Lang="javascript", Delimiter= { [[```js]], [[<```]] } }, +-- { Lang="javascript", Delimiter= { [[```javascript]], [[<```]] } }, +-- } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/langDefs/perl.lang new/highlight-v4.1/langDefs/perl.lang --- old/highlight-v4.0/langDefs/perl.lang 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/langDefs/perl.lang 2021-05-10 19:47:34.000000000 +0200 @@ -3,10 +3,12 @@ Categories = {"source", "script"} - --[[============================================================================ CHANGELOG ================================================================================ + (2021/03/30 | Highlight v4.0) + - fixed Highlighting of interpolations + (2019/01/11 | Highlight v3.49) - fixed Highlighting of variables @@ -28,7 +30,7 @@ "lazy", "gather", "take", "role", "is", "does", "rw" }, }, { Id=2, - Regex=[[ [$@%]\#?[^(\s|\.|\=|\:|\-\>|\"|\'|\(|\[|\)|\]|\{|\}|>|<|\;)]+ ]], + Regex=[[ [$@%]\#?[^(\s|\.|\=|\:|\-\>|\"|\'|\(|\[|\)|\]|\{|\}|>|<|\;|\,|\\)]+ ]], }, { Id=3, List={"defined", "undef", "eq", "ne", "lt", "gt", "ge", "le", "cmp", "not", @@ -62,12 +64,12 @@ "reset", "scalar", "prototype", "lock", "tied", "untie", "eval", "try", "constant" }, }, { Id=4, - Regex=[[->([a-zA-Z0-9_]+)]], - Group=1, + Regex=[[->([a-zA-Z0-9_]+)]], + Group=1, }, - --# Still only covers more common usage but by far not all - -- see OnStateChange below + -- Still only covers more common usage but by far not all + -- see OnStateChange below { Id=4, Regex=[[\/.*?\/[msixpodualgc]*|m\/.*?\/[msixpodualgc]*|qr\/.*?\/[msixpodual]*|s\/.*?\/.*?\/[msixpodualgcer]*|(?:tr|y)\/.*?\/.*?\/[cdsr]*|m!.*?![msixpodualgc]*|qr!.*?![msixpodual]*|s!.*?!.*?![msixpodualgcer]*|(?:tr|y)!.*?!.*?![cdsr]*|m\?.*?\?[msixpodualgc]*|m\{.*?\}[msixpodualgc]*|qr\{.*?\}[msixpodual]*|s\{.*?\}\s*\{.*?\}[msixpodualgcer]*|(?:tr|y)\{.*?\}\s*\{.*?\}[cdsr]*]], Group=0 @@ -82,7 +84,7 @@ -- do not allow digits as heredoc delimiters Strings={ Delimiter=[=["|'|`|<<["']?[\w_]+["']?]=], - Interpolation=[[ [@\$%]\w+ ]], + Interpolation=[[ [@\$%][a-zA-Z0-9]+? ]] } IgnoreCase=false @@ -91,14 +93,15 @@ Comments={ { Block=true, Nested=false, - Delimiter = { [[(?:^=pod|^=head[1234]|^=over|^=item|^=back|^=begin|^=end|^=for|^=encoding)]], [[^=cut\s*\Z]] } }, + Delimiter = { [[(?:^=pod|^=head[1234]|^=over|^=item|^=back|^=begin|^=end|^=for|^=encoding)]], [[^=cut\s*\Z]] } + }, { Block=false, Delimiter= { [[(?<!\\)#]] }, }, } --todo for 1..5 -Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\@|~|\=|\/|\*|\+|\-|\$|\.|\^|\~|\%|\|]] +Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\@|~|\=|\/|\*|\+|\-|\$|\.|\^|\~|\%|\||\?]] Digits=[[ (?:0x|0X|0b)[0-9a-fA-F_]+|\d*[\.\_]?\d+(?:[eE][\-\+]?\d+)?[fFlLuU]? ]] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/langDefs/powershell.lang new/highlight-v4.1/langDefs/powershell.lang --- old/highlight-v4.0/langDefs/powershell.lang 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/langDefs/powershell.lang 2021-05-10 19:47:34.000000000 +0200 @@ -6,40 +6,40 @@ Keywords={ { Id=1, - List={"Add-Content", "Add-History", "Add-Member", "Add-PSSnapin", - "Clear-Content", "Clear-Item", "Clear-ItemProperty", "Clear-Variable", - "Compare-Object", "ConvertFrom-SecureString", - "Convert-Path", "ConvertTo-Html", "ConvertTo-SecureString", "Copy-Item", - "Copy-ItemProperty", "Export-Alias", "Export-Clixml", "Export-Console", - "Export-Csv", "ForEach-Object", "Format-Custom", - "Format-List", "Format-Table", "Format-Wide", "Get-Acl", "Get-Alias", - "Get-AuthenticodeSignature", "Get-ChildItem", "Get-Command", "Get-Content", - "Get-Credential", "Get-Culture", "Get-Date", - "Get-EventLog", "Get-ExecutionPolicy", "Get-Help", "Get-History", - "Get-Host", "Get-Item", "Get-ItemProperty", "Get-Location", "Get-Member", - "Get-PfxCertificate", "Get-Process", "Get-PSDrive", - "Get-PSProvider", "Get-PSSnapin", "Get-Service", "Get-TraceSource", - "Get-UICulture", "Get-Unique", "Get-Variable", "Get-WmiObject", "Group-Object", - "Import-Alias", "Import-Clixml", "Import-Csv", - "Invoke-Expression", "Invoke-History", "Invoke-Item", "Join-Path", - "Measure-Command", "Measure-Object", "Move-Item", "Move-ItemProperty", - "New-Alias", "New-Item", "New-ItemProperty", "New-Object", "Write-host", - "New-PSDrive", "New-Service", "New-TimeSpan", "New-Variable", "Out-Default", - "Out-File", "Out-Host", "Out-Null", "Out-Printer", "Out-String", "Pop-Location", - "Push-Location", "Read-Host", - "Remove-Item", "Remove-ItemProperty", "Remove-PSDrive", "Remove-PSSnapin", - "Remove-Variable", "Rename-Item", "Rename-ItemProperty", "Resolve-Path", - "Restart-Service", "Resume-Service", "Select-Object", - "Select-String", "Set-Acl", "Set-Alias", "Set-AuthenticodeSignature", - "Set-Content", "Set-Date", "Set-ExecutionPolicy", "Set-Item", - "Set-ItemProperty", "Set-Location", "Set-PSDebug", "Set-Service", - "Set-TraceSource", "Set-Variable", "Sort-Object", "Split-Path", - "Start-Service", "Start-Sleep", "Start-Transcript", "Stop-Process", - "Stop-Service", "Stop-Transcript", "Suspend-Service", "Tee-Object", - "Test-Path", "Trace-Command", "Update-FormatData", "Update-TypeData", - "Where-Object", "Write-Debug", - "Write-Error", "Write-Host", "Write-Output", "Write-Progress", - "Write-Verbose", "Write-Warning", "switch", "function", "if", "throw", "else", + List={"add-content", "add-history", "add-member", "add-pssnapin", + "clear-content", "clear-item", "clear-itemproperty", "clear-variable", + "compare-object", "convertfrom-securestring", + "convert-path", "convertto-html", "convertto-securestring", "copy-item", + "copy-itemproperty", "export-alias", "export-clixml", "export-console", + "export-csv", "foreach-object", "format-custom", + "format-list", "format-table", "format-wide", "get-acl", "get-alias", + "get-authenticodesignature", "get-childitem", "get-command", "get-content", + "get-credential", "get-culture", "get-date", + "get-eventlog", "get-executionpolicy", "get-help", "get-history", + "get-host", "get-item", "get-itemproperty", "get-location", "get-member", + "get-pfxcertificate", "get-process", "get-psdrive", + "get-psprovider", "get-pssnapin", "get-service", "get-tracesource", + "get-uiculture", "get-unique", "get-variable", "get-wmiobject", "group-object", + "import-alias", "import-clixml", "import-csv", + "invoke-expression", "invoke-history", "invoke-item", "join-path", + "measure-command", "measure-object", "move-item", "move-itemproperty", + "new-alias", "new-item", "new-itemproperty", "new-object", "write-host", + "new-psdrive", "new-service", "new-timespan", "new-variable", "out-default", + "out-file", "out-host", "out-null", "out-printer", "out-string", "pop-location", + "push-location", "read-host", + "remove-item", "remove-itemproperty", "remove-psdrive", "remove-pssnapin", + "remove-variable", "rename-item", "rename-itemproperty", "resolve-path", + "restart-service", "resume-service", "select-object", + "select-string", "set-acl", "set-alias", "set-authenticodesignature", + "set-content", "set-date", "set-executionpolicy", "set-item", + "set-itemproperty", "set-location", "set-psdebug", "set-service", + "set-tracesource", "set-variable", "sort-object", "split-path", + "start-service", "start-sleep", "start-transcript", "stop-process", + "stop-service", "stop-transcript", "suspend-service", "tee-object", + "test-path", "trace-command", "update-formatdata", "update-typedata", + "where-object", "write-debug", + "write-error", "write-host", "write-output", "write-progress", + "write-verbose", "write-warning", "switch", "function", "if", "throw", "else", "while", "break", "in", "return", "try", "catch", "for"}, }, { Id=2, @@ -69,7 +69,7 @@ Interpolation=[[ \$\w+|\$\(.+?\) ]], } -IgnoreCase=false +IgnoreCase=true Comments={ { Block=false, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/core/elementstyle.cpp new/highlight-v4.1/src/core/elementstyle.cpp --- old/highlight-v4.0/src/core/elementstyle.cpp 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/core/elementstyle.cpp 2021-05-10 19:47:34.000000000 +0200 @@ -30,17 +30,17 @@ { ElementStyle::ElementStyle (const Colour &col, bool b, bool i, bool u ) - : colour ( col ) , bold ( b ), italic ( i ), underline ( u ) +: colour ( col ) , bold ( b ), italic ( i ), underline ( u ), customOverride(false) {} ElementStyle:: ElementStyle ( const string & elementStyleString ) - : bold ( false ), italic ( false ), underline ( false ) +: bold ( false ), italic ( false ), underline ( false ), customOverride(false) { set ( elementStyleString ); } ElementStyle::ElementStyle() - : bold ( false ), italic ( false ), underline ( false ) +: bold ( false ), italic ( false ), underline ( false ), customOverride(false) {} void ElementStyle::set ( const string & elementStyleString ) @@ -99,4 +99,42 @@ return colour; } +void ElementStyle::setItalic ( bool b ) +{ + italic = b; +} + +/** \param b set bold flag */ +void ElementStyle::setBold ( bool b ) +{ + bold = b; +} + +/** \param b set underline flag */ +void ElementStyle::setUnderline ( bool b ) +{ + underline = b; +} + +void ElementStyle::setColour (const Colour& col ) +{ + colour = col; +} + +std::string ElementStyle::getCustomStyle() const { + return customStyle; +} + +void ElementStyle::setCustomStyle(const string & style) { + customStyle = style; +} + +bool ElementStyle::getCustomOverride() const { + return customOverride; +} + +void ElementStyle::setCustomOverride(bool override) { + customOverride = override; +} + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/core/htmlgenerator.cpp new/highlight-v4.1/src/core/htmlgenerator.cpp --- old/highlight-v4.0/src/core/htmlgenerator.cpp 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/core/htmlgenerator.cpp 2021-05-10 19:47:34.000000000 +0200 @@ -182,7 +182,7 @@ } -string HtmlGenerator::getAttributes ( const string & elemName, const ElementStyle & elem ) +string HtmlGenerator::getAttributes ( const string & elemName, const ElementStyle & elem ) { ostringstream s; if ( !elemName.empty() ) { @@ -191,17 +191,22 @@ s <<"."<<elemName<<" { "; } + if (!elem.getCustomOverride()) { + s << "color:#" + << ( elem.getColour().getRed ( HTML ) ) + << ( elem.getColour().getGreen ( HTML ) ) + << ( elem.getColour().getBlue ( HTML ) ) + << ( elem.isBold() ? "; font-weight:bold" :"" ) + << ( elem.isItalic() ? "; font-style:italic" :"" ) + << ( elem.isUnderline() ? "; text-decoration:underline" :"" ); + } + string customStyle(elem.getCustomStyle()); - if (customStyle.empty()) { - s << "color:#" - << ( elem.getColour().getRed ( HTML ) ) - << ( elem.getColour().getGreen ( HTML ) ) - << ( elem.getColour().getBlue ( HTML ) ) - << ( elem.isBold() ? "; font-weight:bold" :"" ) - << ( elem.isItalic() ? "; font-style:italic" :"" ) - << ( elem.isUnderline() ? "; text-decoration:underline" :"" ); - } else { + if (!customStyle.empty()) { + if (!elem.getCustomOverride()) { + s << "; "; + } s << customStyle; } @@ -211,12 +216,12 @@ return s.str(); } -string HtmlGenerator::getOpenTag ( const string& styleName ) +string HtmlGenerator::getOpenTag ( const string& styleName ) { return "<span class=\"" + (cssClassName.empty() ? "":cssClassName+ " ") + styleName + "\">"; } -string HtmlGenerator::getOpenTag ( const ElementStyle & elem ) +string HtmlGenerator::getOpenTag ( const ElementStyle & elem ) { return "<span style=\""+getAttributes ( "", elem ) + "\">"; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/core/latexgenerator.cpp new/highlight-v4.1/src/core/latexgenerator.cpp --- old/highlight-v4.0/src/core/latexgenerator.cpp 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/core/latexgenerator.cpp 2021-05-10 19:47:34.000000000 +0200 @@ -197,19 +197,17 @@ { ostringstream s; - string customStyle(elem.getCustomStyle()); - s << "\\newcommand{\\hl" << elemName << "}[1]{"; - if (customStyle.empty()) { + if (!elem.getCustomOverride()) { s <<"\\textcolor[rgb]{" - << elem.getColour().getRed ( LATEX ) << "," - << elem.getColour().getGreen ( LATEX ) << "," - << elem.getColour().getBlue ( LATEX ) - << "}{"; + << elem.getColour().getRed ( LATEX ) << "," + << elem.getColour().getGreen ( LATEX ) << "," + << elem.getColour().getBlue ( LATEX ) + << "}{"; if ( elem.isBold() ) s << "\\bf{"; @@ -224,14 +222,19 @@ s << "}"; s <<"}"; - } else { + } + + string customStyle(elem.getCustomStyle()); + if (!customStyle.empty()) { s << customStyle; } + s <<"}\n"; return s.str(); } + string LatexGenerator::getNewLine() { ostringstream ss; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/core/pangogenerator.cpp new/highlight-v4.1/src/core/pangogenerator.cpp --- old/highlight-v4.0/src/core/pangogenerator.cpp 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/core/pangogenerator.cpp 2021-05-10 19:47:34.000000000 +0200 @@ -41,18 +41,23 @@ { ostringstream s; - string customStyle(elem.getCustomStyle()); - - if (customStyle.empty()) { + if (!elem.getCustomOverride()) { s << "foreground=\"#" << ( elem.getColour().getRed ( HTML ) ) << ( elem.getColour().getGreen ( HTML ) ) << ( elem.getColour().getBlue ( HTML ) ) << "\"" - << ( elem.isBold() ? " weight=\"bold\"" :"" ) - << ( elem.isItalic() ? " style=\"italic\"" :"" ) + << ( elem.isBold() ? " weight=\"bold\"" :"" ) + << ( elem.isItalic() ? " style=\"italic\"" :"" ) << ( elem.isUnderline() ? " underline=\"single\"" :"" ); - } else { + } + + string customStyle(elem.getCustomStyle()); + + if (!customStyle.empty()) { + if (!elem.getCustomOverride()) { + s << " "; + } s << customStyle; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/core/svggenerator.cpp new/highlight-v4.1/src/core/svggenerator.cpp --- old/highlight-v4.0/src/core/svggenerator.cpp 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/core/svggenerator.cpp 2021-05-10 19:47:34.000000000 +0200 @@ -118,13 +118,11 @@ { ostringstream s; - string customStyle(elem.getCustomStyle()); - if ( !elemName.empty() ) { s << elemName << " { "; } - if (customStyle.empty()) { + if (!elem.getCustomOverride()) { s << "fill:#" << ( elem.getColour().getRed ( HTML ) ) << ( elem.getColour().getGreen ( HTML ) ) @@ -132,9 +130,17 @@ << ( elem.isBold() ? "; font-weight:bold" :"" ) << ( elem.isItalic() ? "; font-style:italic" :"" ) << ( elem.isUnderline() ? "; text-decoration:underline" :"" ); - } else { + } + + string customStyle(elem.getCustomStyle()); + + if (!customStyle.empty()) { + if (!elem.getCustomOverride()) { + s << "; "; + } s << customStyle; } + if ( !elemName.empty() ) { s << "; }\n" ; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/core/texgenerator.cpp new/highlight-v4.1/src/core/texgenerator.cpp --- old/highlight-v4.0/src/core/texgenerator.cpp 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/core/texgenerator.cpp 2021-05-10 19:47:34.000000000 +0200 @@ -79,13 +79,11 @@ { ostringstream s; - string customStyle(elem.getCustomStyle()); - s << "\\def\\hl" << elemName << "{"; - if (customStyle.empty()) { + if (!elem.getCustomOverride()) { if ( elem.isBold() ) s << "\\bf"; if ( elem.isItalic() ) s << "\\it"; @@ -93,7 +91,11 @@ << ( elem.getColour().getRed ( TEX ) ) <<" " << ( elem.getColour().getGreen ( TEX ) ) <<" " << ( elem.getColour().getBlue ( TEX ) ) <<" 0.0}"; - } else { + } + + string customStyle(elem.getCustomStyle()); + + if (!customStyle.empty()) { s << customStyle; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/core/themereader.cpp new/highlight-v4.1/src/core/themereader.cpp --- old/highlight-v4.0/src/core/themereader.cpp 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/core/themereader.cpp 2021-05-10 19:47:34.000000000 +0200 @@ -66,6 +66,8 @@ void ThemeReader::initStyle(ElementStyle& style, const Diluculum::LuaVariable& var) { + style.setCustomStyle(""); // Init with a default value. + if (var["Custom"].value()!=Diluculum::Nil) { int idx=1; @@ -73,8 +75,10 @@ while (var["Custom"][idx].value() !=Diluculum::Nil) { if (getOutputType(var["Custom"][idx]["Format"].value().asString()) == outputType) { + style.setCustomStyle (var["Custom"][idx]["Style"].value().asString() ); - return; + style.setCustomOverride ( true ); + break; } idx++; } @@ -83,22 +87,30 @@ string styleColor="#000000"; bool styleBold=false, styleItalic=false, styleUnderline=false; - if (var["Colour"].value()!=Diluculum::Nil) + if (var["Colour"].value()!=Diluculum::Nil) { styleColor= var["Colour"].value().asString(); - if (var["Bold"].value()!=Diluculum::Nil) + style.setCustomOverride(false); + } + + if (var["Bold"].value()!=Diluculum::Nil) { styleBold= var["Bold"].value().asBoolean(); - if (var["Italic"].value()!=Diluculum::Nil) + style.setCustomOverride(false); + } + + if (var["Italic"].value()!=Diluculum::Nil) { styleItalic= var["Italic"].value().asBoolean(); - if (var["Underline"].value()!=Diluculum::Nil) + style.setCustomOverride(false); + } + + if (var["Underline"].value()!=Diluculum::Nil) { styleUnderline= var["Underline"].value().asBoolean(); + style.setCustomOverride(false); + } style.setColour(Colour(styleColor)); style.setBold(styleBold); style.setItalic(styleItalic); style.setUnderline(styleUnderline); - - if (var["Underline"].value()!=Diluculum::Nil) - styleUnderline= var["Underline"].value().asBoolean(); } bool ThemeReader::load ( const string &styleDefinitionPath , OutputType type, bool loadSemanticStyles) @@ -171,16 +183,17 @@ errorMessages.setColour(Colour("#ff0000")); if (outputType==HTML || outputType==XHTML) { + hover.setCustomOverride(true); hover.setCustomStyle ("cursor:help"); - errorMessages.setCustomStyle ("color:red; border:solid 1px red; margin-left: 3em"); + errorMessages.setCustomStyle ("border:solid 1px red; margin-left: 3em"); - ostringstream lineColourFmt; - Colour lineColour = line.getColour(); - lineColourFmt << "#"<<lineColour.getRed(HTML)<<lineColour.getGreen(HTML)<<lineColour.getBlue(HTML); - line.setCustomStyle("user-select: none; color: " + lineColourFmt.str()); + if (line.getCustomStyle().empty()) { + line.setCustomStyle("user-select: none"); + } } if (outputType==LATEX) { + errorMessages.setCustomOverride(true); errorMessages.setCustomStyle ("\\marginpar{\\small\\itshape\\color{red}#1}"); } @@ -198,6 +211,9 @@ initStyle(errors, ls["Error"]); } + keywordStyles.clear(); + semanticStyleMap.clear(); + int idx=1; ElementStyle kwStyle; char kwName[5]; @@ -219,8 +235,6 @@ snprintf(kwName, sizeof(kwName), "st%c", ('a'+idx+-1)); keywordStyles.insert ( make_pair ( string(kwName), kwStyle )); semanticStyleMap[ls["SemanticTokenTypes"][idx]["Type"].value().asString()] = keywordStyleCnt + idx; - //std::cerr<<"semanticStyleMap "<< (ls["SemanticTokenTypes"][idx]["Type"].value().asString()) << " -> "<< keywordStyleCnt + idx<<"\n"; - idx++; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/gui-qt/highlight_bg_BG.ts new/highlight-v4.1/src/gui-qt/highlight_bg_BG.ts --- old/highlight-v4.0/src/gui-qt/highlight_bg_BG.ts 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/gui-qt/highlight_bg_BG.ts 2021-05-10 19:47:34.000000000 +0200 @@ -1540,9 +1540,9 @@ </message> <message> <location filename="mainwindow.ui" line="129"/> - <source>H&ighlighting options</source> - <oldsource>Highlighting options</oldsource> - <translation>?????????? ???? ??&??????????????????</translation> + <source>Highlighting options</source> + <oldsource>H&ighlighting options</oldsource> + <translation>?????????? ???? ????????????????????</translation> </message> <message> <source>You can apply system shortcuts for copy and paste.</source> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/gui-qt/highlight_cs_CZ.ts new/highlight-v4.1/src/gui-qt/highlight_cs_CZ.ts --- old/highlight-v4.0/src/gui-qt/highlight_cs_CZ.ts 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/gui-qt/highlight_cs_CZ.ts 2021-05-10 19:47:34.000000000 +0200 @@ -603,7 +603,7 @@ </message> <message> <source>Highlighting options</source> - <translation type="vanished">Volby pro zv??raz??ov??n??</translation> + <translation>Volby pro zv??raz??ov??n??</translation> </message> <message> <source>Select a CSS include file.</source> @@ -1103,10 +1103,6 @@ <translation type="unfinished"></translation> </message> <message> - <source>H&ighlighting options</source> - <translation type="unfinished"></translation> - </message> - <message> <source>Scripts</source> <translation type="unfinished"></translation> </message> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/gui-qt/highlight_de_DE.ts new/highlight-v4.1/src/gui-qt/highlight_de_DE.ts --- old/highlight-v4.0/src/gui-qt/highlight_de_DE.ts 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/gui-qt/highlight_de_DE.ts 2021-05-10 19:47:34.000000000 +0200 @@ -1549,8 +1549,8 @@ </message> <message> <location filename="mainwindow.ui" line="129"/> - <source>H&ighlighting options</source> - <oldsource>Highlighting options</oldsource> + <source>Highlighting options</source> + <oldsource>H&ighlighting options</oldsource> <translation>Hervorhebungs-Optionen</translation> </message> <message> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/gui-qt/highlight_es_ES.ts new/highlight-v4.1/src/gui-qt/highlight_es_ES.ts --- old/highlight-v4.0/src/gui-qt/highlight_es_ES.ts 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/gui-qt/highlight_es_ES.ts 2021-05-10 19:47:34.000000000 +0200 @@ -821,9 +821,9 @@ </message> <message> <location filename="mainwindow.ui" line="129"/> - <source>H&ighlighting options</source> - <oldsource>Highlighting options</oldsource> - <translation>&Opciones de resaltado</translation> + <source>Highlighting options</source> + <oldsource>H&ighlighting options</oldsource> + <translation>Opciones de resaltado</translation> </message> <message> <location filename="mainwindow.ui" line="329"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/gui-qt/highlight_fr_FR.ts new/highlight-v4.1/src/gui-qt/highlight_fr_FR.ts --- old/highlight-v4.0/src/gui-qt/highlight_fr_FR.ts 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/gui-qt/highlight_fr_FR.ts 2021-05-10 19:47:34.000000000 +0200 @@ -294,8 +294,8 @@ </message> <message> <location filename="mainwindow.ui" line="129"/> - <source>H&ighlighting options</source> - <oldsource>Highlighting options</oldsource> + <source>Highlighting options</source> + <oldsource>H&ighlighting options</oldsource> <translation>Options de coloration</translation> </message> <message> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/gui-qt/highlight_it_IT.ts new/highlight-v4.1/src/gui-qt/highlight_it_IT.ts --- old/highlight-v4.0/src/gui-qt/highlight_it_IT.ts 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/gui-qt/highlight_it_IT.ts 2021-05-10 19:47:34.000000000 +0200 @@ -294,9 +294,9 @@ </message> <message> <location filename="mainwindow.ui" line="129"/> - <source>H&ighlighting options</source> - <oldsource>High&lighting options</oldsource> - <translation>Opzioni di &evidenziatura codice</translation> + <source>Highlighting options</source> + <oldsource>H&ighlighting options</oldsource> + <translation>Opzioni di evidenziatura codice</translation> </message> <message> <location filename="mainwindow.ui" line="174"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/gui-qt/highlight_zh_CN.ts new/highlight-v4.1/src/gui-qt/highlight_zh_CN.ts --- old/highlight-v4.0/src/gui-qt/highlight_zh_CN.ts 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/gui-qt/highlight_zh_CN.ts 2021-05-10 19:47:34.000000000 +0200 @@ -968,8 +968,8 @@ </message> <message> <location line="+20"/> - <source>H&ighlighting options</source> - <oldsource>Highlighting options</oldsource> + <source>Highlighting options</source> + <oldsource>H&ighlighting options</oldsource> <translation type="unfinished">??????????????????</translation> </message> <message> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/gui-qt/mainwindow.ui new/highlight-v4.1/src/gui-qt/mainwindow.ui --- old/highlight-v4.0/src/gui-qt/mainwindow.ui 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/gui-qt/mainwindow.ui 2021-05-10 19:47:34.000000000 +0200 @@ -126,7 +126,7 @@ <set>Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set> </property> <property name="windowTitle"> - <string>H&ighlighting options</string> + <string>Highlighting options</string> </property> <attribute name="dockWidgetArea"> <number>1</number> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/include/elementstyle.h new/highlight-v4.1/src/include/elementstyle.h --- old/highlight-v4.0/src/include/elementstyle.h 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/include/elementstyle.h 2021-05-10 19:47:34.000000000 +0200 @@ -65,6 +65,7 @@ bold = other.isBold(); italic = other.isItalic(); underline = other.isUnderline(); + customOverride = other.getCustomOverride(); customStyle = other.getCustomStyle(); } @@ -75,6 +76,7 @@ bold = other.isBold(); italic = other.isItalic(); underline = other.isUnderline(); + customOverride = other.getCustomOverride(); customStyle = other.getCustomStyle(); return *this; @@ -100,43 +102,31 @@ bool isUnderline() const; /** \param b set italic flag */ - void setItalic ( bool b ) - { - italic = b; - } + void setItalic ( bool b ); /** \param b set bold flag */ - void setBold ( bool b ) - { - bold = b; - } + void setBold ( bool b ); /** \param b set underline flag */ - void setUnderline ( bool b ) - { - underline = b; - } + void setUnderline ( bool b ); /** \return Element colour */ Colour getColour() const; /** \param col colour of this element */ - void setColour (const Colour& col ) - { - colour = col; - } + void setColour (const Colour& col ); - std::string getCustomStyle() const { - return customStyle; - } + std::string getCustomStyle() const; - void setCustomStyle(const string & style) { - customStyle = style; - } + void setCustomStyle(const string & style); + + bool getCustomOverride() const; + + void setCustomOverride(bool override); private: Colour colour; - bool bold, italic, underline; + bool bold, italic, underline, customOverride; std::string customStyle; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/src/include/version.h new/highlight-v4.1/src/include/version.h --- old/highlight-v4.0/src/include/version.h 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/src/include/version.h 2021-05-10 19:47:34.000000000 +0200 @@ -31,7 +31,7 @@ #include <string> #define HIGHLIGHT_MAJOR "4" -#define HIGHLIGHT_MINOR "0" +#define HIGHLIGHT_MINOR "1" #define HIGHLIGHT_VERSION HIGHLIGHT_MAJOR "." HIGHLIGHT_MINOR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/themes/edit-kwrite.theme new/highlight-v4.1/themes/edit-kwrite.theme --- old/highlight-v4.0/themes/edit-kwrite.theme 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/themes/edit-kwrite.theme 2021-05-10 19:47:34.000000000 +0200 @@ -33,7 +33,7 @@ { Type = 'function', Style = Keywords[4] }, { Type = 'method', Style = Keywords[4] }, { Type = 'class', Style = Keywords[1] }, - { Type = 'interface', Style = { Colour= "750dc3" } }, + { Type = 'interface', Style = { Colour= "#750dc3" } }, { Type = 'struct', Style = { Colour= "#3d40ff" } }, { Type = 'namespace', Style = { Colour= "#750dc3" } }, { Type = 'typeParameter', Style = { Colour= "#ff3db3" } }, @@ -48,12 +48,18 @@ { Type = 'operator', Style = Operator }, } --- Error = { Custom = { { Format = "html", Style = "color: red" } } } +--Error = { Custom = { { Format = "html", Style = "color: blue", Override = true } } } -Hover = { Custom = { { Format = "html", Style = "cursor:help" } } } +--[[ +ErrorMessage = { Custom = { + { Format = "html", Style = "color: blue", Override = true } , + { Format = "latex", Style = "\\marginpar{\\small\\itshape\\color{blue}#1}", Override = false } } +} +]] --- not used yet: +--Hover = { Custom = { { Format = "html", Style = "cursor:help", Override = true } } } +-- not used yet: SemanticTokenModifiers = { { Type = 'declaration', Style = { Colour= "#ff9421" } }, { Type = 'definition', Style = { Colour= "#ff9421" } }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/themes/greenlcd.theme new/highlight-v4.1/themes/greenlcd.theme --- old/highlight-v4.0/themes/greenlcd.theme 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/themes/greenlcd.theme 2021-05-10 19:47:34.000000000 +0200 @@ -16,6 +16,9 @@ LineComment = BlockComment Interpolation = Escape +Error = { Colour = "#f200cc" } +ErrorMessage = { Colour="#2fe7a9", Custom = { { Format = "html", Style = "color:#f200cc; border:solid 1px #f200cc; margin-left: 3em" } } } + Keywords = { { Colour= "#00ed00", Bold=true }, { Colour= "#00ed00" }, @@ -25,9 +28,6 @@ { Colour= "#c6ff73" }, } - -Error = { Colour = "#f200cc" } - -- new LSP based elements: SemanticTokenTypes = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/highlight-v4.0/themes/zmrok.theme new/highlight-v4.1/themes/zmrok.theme --- old/highlight-v4.0/themes/zmrok.theme 2021-03-27 18:13:12.000000000 +0100 +++ new/highlight-v4.1/themes/zmrok.theme 2021-05-10 19:47:34.000000000 +0200 @@ -1,21 +1,20 @@ --- Theme generated by vim2theme Description = "vim zmrok" Categories = {"dark", "vim"} -Default = { Colour="#F8F8F8" } -Canvas = { Colour="#141414" } -Number = { Colour="#FACE43" } -Escape = { Colour="#ffa500" } -String = { Colour="#D9FF77" } -BlockComment = { Colour="#8a8a8a" } -PreProcessor = { Colour="#8b864e" } -LineNum = { Colour="#777777" } +Default = { Colour="#F8F8F8" } +Canvas = { Colour="#141414" } +Number = { Colour="#FACE43" } +Escape = { Colour="#ffa500" } +String = { Colour="#D9FF77" } +BlockComment = { Colour="#8a8a8a" } +PreProcessor = { Colour="#8b864e" } +LineNum = { Colour="#777777" } StringPreProc = String LineComment = BlockComment Operator = { Colour="#888888" } -Interpolation = { Colour="#D084CE" } +Interpolation = { Colour="#D084CE" } Keywords = { { Colour="#A56A30" , Bold=true},