X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fscripts%2Flayout2layout.py;h=5e9d3483dee51f3871fcc7dd7ba3ef9b889ee765;hb=642b4acca1900c55662030ffc5162e9504881764;hp=56b433994c204d127f127727741b3a42774c349f;hpb=cc7ca138dabec6090edc9b4e8d18d0239f04aa99;p=lyx.git diff --git a/lib/scripts/layout2layout.py b/lib/scripts/layout2layout.py index 56b433994c..5e9d3483de 100644 --- a/lib/scripts/layout2layout.py +++ b/lib/scripts/layout2layout.py @@ -11,7 +11,7 @@ # This script will update a .layout file to current format # The latest layout format is also defined in src/TextClass.cpp -currentFormat = 63 +currentFormat = 75 # Incremented to format 4, 6 April 2007, lasgouttes @@ -212,6 +212,46 @@ currentFormat = 63 # - New textclass tags CiteFramework, MaxCiteNames (for cite engines) # - Extended InsetCite syntax. +# Incremented to format 64, 30 August 2017 by rgh +# Strip leading and trailing spaces from LabelString, +# LabelStringAppendix, and EndLabelString, and LabelCounter, +# to conform to what we used to do. + +# Incremented to format 65, 16 October 2017 by spitz +# Color collapsable -> collapsible + +# Incremented to format 66, 28 December 2017 by spitz +# New Layout tags "AutoNests ... EndAutoNests" and +# "IsAutoNestedBy ... EndIsAutoNestedBy" + +# Incremented to format 67, 14 April 2018 by spitz +# New Layout tag "NeedsCProtect" + +# Incremented to format 68, 21 May 2018 by spitz +# New Layout tag "AddToCiteEngine" + +# Incremented to format 69, 16 August 2018 by spitz +# New argument type "listpreamble" + +# Incremented to format 70, 5 June 2018 by rkh +# New InsetLayout tag EditExternal + +# Incremented to format 71, 12 March 2019 by spitz +# New [Inset]Layout tag NeedMBoxProtect + +# Incremented to format 72, 26 March 2019 by spitz +# New TextClass tag TableStyle + +# Incremented to format 73, 18 April 2019 by spitz +# New InsetLayout tag MenuString + +# Incremented to format 74, 18 April 2019 by spitz +# New InsetLayout and Argument tag NewlineCmd + +# Incremented to format 75, 2 June 2019 by spitz +# New Argument tags FreeSpacing, InsertOnNewline +# New InsetLayout tag ParbreakIgnored + # Do not forget to document format change in Customization # Manual (section "Declaring a new text class"). @@ -345,6 +385,11 @@ def convert(lines, end_format): re_CenteredEnvironment = re.compile(b'^(\\s*)LabelType(\\s+)Centered_Top_Environment\\s*$', re.IGNORECASE) re_ChapterStyle = re.compile(b'^\\s*Style\\s+Chapter\\s*$', re.IGNORECASE) re_InsetLayout_CaptionLTNN = re.compile(b'^(\\s*InsetLayout\\s+)(Caption:LongTableNonumber)', re.IGNORECASE) + # for format 64 + re_trimLabelString = re.compile(b'^(\\s*LabelString\s+)"\\s*(.*?)\\s*"\\s*$') + re_trimLabelStringAppendix = re.compile(b'^(\\s*LabelStringAppendix\s+)"\\s*(.*?)\\s*"\\s*$') + re_trimEndLabelString = re.compile(b'^(\\s*EndLabelString\s+)"\\s*(.*?)\\s*"\\s*$') + re_trimLabelCounter = re.compile(b'^(\\s*LabelCounter\s+)"\\s*(.*?)\\s*"\\s*$') # counters for sectioning styles (hardcoded in 1.3) @@ -456,6 +501,31 @@ def convert(lines, end_format): i += 1 continue + if format >= 65 and format <= 74: + # nothing to do. + i += 1 + continue + + if format == 64: + match = re.compile(b'(\\s*Color\\s+)(\\w+)', re.IGNORECASE).match(lines[i]) + if not match: + i += 1 + continue + col = match.group(2) + if col == "collapsable": + lines[i] = match.group(1) + "collapsible" + i += 1 + continue + + if format == 63: + for r in (re_trimLabelString, re_trimLabelStringAppendix,\ + re_trimEndLabelString, re_trimLabelCounter): + m = r.match(lines[i]) + if m: + lines[i] = m.group(1) + b'"' + m.group(2) + b'"' + i += 1 + continue + if format >= 60 and format <= 62: # nothing to do. i += 1