QScintilla/Lexers/SubstyledLexer.py

branch
sub_styles
changeset 6859
951aa89d367d
parent 6856
cdf13841603c
child 6861
20899dc18e59
--- a/QScintilla/Lexers/SubstyledLexer.py	Thu Mar 14 19:41:53 2019 +0100
+++ b/QScintilla/Lexers/SubstyledLexer.py	Thu Mar 14 19:42:25 2019 +0100
@@ -73,14 +73,14 @@
                 key = "Scintilla/{0}/style{1}/SubStyleLength".format(
                     self.language(), baseStyle)
                 if settings.contains(key):
-                    subStyleLength = int(settings.value(key), 0)
+                    subStyleLength = int(settings.value(key))
                     if subStyleLength:
                         self.__subStyles[baseStyle] = {}
                         for subStyle in range(subStyleLength):
                             substyleKey = \
                                 "Scintilla/{0}/style{1}/substyle{2}/"\
                                 .format(self.language(), baseStyle, subStyle)
-                            if settings.contains(substyleKey):
+                            if settings.contains(substyleKey + "Description"):
                                 subStyleData = {}
                                 subStyleData["Description"] = settings.value(
                                     substyleKey + "Description", "")
@@ -122,6 +122,12 @@
                                 
                                 self.__subStyles[baseStyle][subStyle] = \
                                     subStyleData
+                            
+                            else:
+                                # initialize with default
+                                self.__subStyles[baseStyle][subStyle] = \
+                                    copy.deepcopy(self.defaultSubStyles
+                                                  [baseStyle][subStyle])
         
         self.__subStylesInitialized = True
     
@@ -231,9 +237,8 @@
             key = "Scintilla/{0}/style{1}/SubStyleLength".format(
                 self.language(), baseStyle)
             if settings.contains(key):
-                subStyleLength = int(settings.value(key), 0)
+                subStyleLength = int(settings.value(key))
                 if subStyleLength:
-                    self.__subStyles[baseStyle] = {}
                     for subStyle in range(subStyleLength):
                         substyleKey = "Scintilla/{0}/style{1}/substyle{2}/"\
                             .format(self.language(), baseStyle, subStyle)
@@ -304,7 +309,7 @@
                     underline = font.underline()
                 settings.setValue(substyleKey + "font_underline", underline)
     
-    def hasSubStyles(self):
+    def hasSubstyles(self):
         """
         Public method to indicate the support of sub-styles.
         

eric ide

mercurial