QScintilla/Lexers/__init__.py

changeset 945
8cd4d08fa9f6
parent 802
e8882d16384c
child 992
566e87428fc8
--- a/QScintilla/Lexers/__init__.py	Fri Mar 11 08:55:14 2011 +0100
+++ b/QScintilla/Lexers/__init__.py	Fri Mar 11 16:51:57 2011 +0100
@@ -23,9 +23,10 @@
 #          to be associated with the lexer)
 LexerRegistry = {}
 
-def registerLexer(name, displayString, filenameSample, getLexerFunc, 
-                  openFilters = [], saveFilters = [], 
-                  defaultAssocs = []):
+
+def registerLexer(name, displayString, filenameSample, getLexerFunc,
+                  openFilters=[], saveFilters=[],
+                  defaultAssocs=[]):
     """
     Module function to register a custom QScintilla lexer.
     
@@ -36,7 +37,7 @@
         This function must take a reference to the parent as it's only argument.
     @keyparam openFilters list of open file filters (list of strings)
     @keyparam saveFilters list of save file filters (list of strings)
-    @keyparam defaultAssocs default lexer associations (list of strings of filename 
+    @keyparam defaultAssocs default lexer associations (list of strings of filename
         wildcard patterns to be associated with the lexer)
     @exception KeyError raised when the given name is already in use
     """
@@ -44,9 +45,10 @@
     if name in LexerRegistry:
         raise KeyError('Lexer "{0}" already registered.'.format(name))
     else:
-        LexerRegistry[name] = [displayString, filenameSample, getLexerFunc, 
+        LexerRegistry[name] = [displayString, filenameSample, getLexerFunc,
                                openFilters, saveFilters, defaultAssocs[:]]
 
+
 def unregisterLexer(name):
     """
     Module function to unregister a custom QScintilla lexer.
@@ -56,6 +58,7 @@
     if name in LexerRegistry:
         del LexerRegistry[name]
 
+
 def getSupportedLanguages():
     """
     Module function to get a dictionary of supported lexer languages.
@@ -67,36 +70,36 @@
         (string, string)
     """
     supportedLanguages = {
-        "Bash"       : [QApplication.translate('Lexers', "Bash"),         'dummy.sh'],
-        "Batch"      : [QApplication.translate('Lexers', "Batch"),        'dummy.bat'],
-        "C++"        : [QApplication.translate('Lexers', "C/C++"),        'dummy.cpp'],
-        "C#"         : [QApplication.translate('Lexers', "C#"),           'dummy.cs'],
-        "CMake"      : [QApplication.translate('Lexers', "CMake"),        'dummy.cmake'],
-        "CSS"        : [QApplication.translate('Lexers', "CSS"),          'dummy.css'],
-        "D"          : [QApplication.translate('Lexers', "D"),            'dummy.d'],
-        "Diff"       : [QApplication.translate('Lexers', "Diff"),         'dummy.diff'],
-        "Fortran"    : [QApplication.translate('Lexers', "Fortran"),      'dummy.f95'], 
-        "Fortran77"  : [QApplication.translate('Lexers', "Fortran77"),    'dummy.f'], 
-        "HTML"       : [QApplication.translate('Lexers', "HTML/PHP/XML"), 'dummy.html'],
-        "IDL"        : [QApplication.translate('Lexers', "IDL"),          'dummy.idl'],
-        "Java"       : [QApplication.translate('Lexers', "Java"),         'dummy.java'],
-        "JavaScript" : [QApplication.translate('Lexers', "JavaScript"),   'dummy.js'],
-        "Lua"        : [QApplication.translate('Lexers', "Lua"),          'dummy.lua'],
-        "Makefile"   : [QApplication.translate('Lexers', "Makefile"),     'dummy.mak'],
-        "Pascal"     : [QApplication.translate('Lexers', "Pascal"),       'dummy.pas'], 
-        "Perl"       : [QApplication.translate('Lexers', "Perl"),         'dummy.pl'],
-        "PostScript" : [QApplication.translate('Lexers', "PostScript"),   'dummy.ps'], 
-        "Povray"     : [QApplication.translate('Lexers', "Povray"),       'dummy.pov'],
-        "Properties" : [QApplication.translate('Lexers', "Properties"),   'dummy.ini'],
-        "Python2"    : [QApplication.translate('Lexers', "Python2"),      'dummy.py'], 
-        "Python3"    : [QApplication.translate('Lexers', "Python3"),      'dummy.py'], 
-        "Ruby"       : [QApplication.translate('Lexers', "Ruby"),         'dummy.rb'],
-        "SQL"        : [QApplication.translate('Lexers', "SQL"),          'dummy.sql'],
-        "TCL"        : [QApplication.translate('Lexers', "TCL"),          'dummy.tcl'], 
-        "TeX"        : [QApplication.translate('Lexers', "TeX"),          'dummy.tex'],
-        "VHDL"       : [QApplication.translate('Lexers', "VHDL"),         'dummy.vhd'], 
-        "XML"        : [QApplication.translate('Lexers', "XML"),          'dummy.xml'], 
-        "YAML"       : [QApplication.translate('Lexers', "YAML"),         'dummy.yml'], 
+        "Bash": [QApplication.translate('Lexers', "Bash"),         'dummy.sh'],
+        "Batch": [QApplication.translate('Lexers', "Batch"),        'dummy.bat'],
+        "C++": [QApplication.translate('Lexers', "C/C++"),        'dummy.cpp'],
+        "C#": [QApplication.translate('Lexers', "C#"),           'dummy.cs'],
+        "CMake": [QApplication.translate('Lexers', "CMake"),        'dummy.cmake'],
+        "CSS": [QApplication.translate('Lexers', "CSS"),          'dummy.css'],
+        "D": [QApplication.translate('Lexers', "D"),            'dummy.d'],
+        "Diff": [QApplication.translate('Lexers', "Diff"),         'dummy.diff'],
+        "Fortran": [QApplication.translate('Lexers', "Fortran"),      'dummy.f95'],
+        "Fortran77": [QApplication.translate('Lexers', "Fortran77"),    'dummy.f'],
+        "HTML": [QApplication.translate('Lexers', "HTML/PHP/XML"), 'dummy.html'],
+        "IDL": [QApplication.translate('Lexers', "IDL"),          'dummy.idl'],
+        "Java": [QApplication.translate('Lexers', "Java"),         'dummy.java'],
+        "JavaScript": [QApplication.translate('Lexers', "JavaScript"),   'dummy.js'],
+        "Lua": [QApplication.translate('Lexers', "Lua"),          'dummy.lua'],
+        "Makefile": [QApplication.translate('Lexers', "Makefile"),     'dummy.mak'],
+        "Pascal": [QApplication.translate('Lexers', "Pascal"),       'dummy.pas'],
+        "Perl": [QApplication.translate('Lexers', "Perl"),         'dummy.pl'],
+        "PostScript": [QApplication.translate('Lexers', "PostScript"),   'dummy.ps'],
+        "Povray": [QApplication.translate('Lexers', "Povray"),       'dummy.pov'],
+        "Properties": [QApplication.translate('Lexers', "Properties"),   'dummy.ini'],
+        "Python2": [QApplication.translate('Lexers', "Python2"),      'dummy.py'],
+        "Python3": [QApplication.translate('Lexers', "Python3"),      'dummy.py'],
+        "Ruby": [QApplication.translate('Lexers', "Ruby"),         'dummy.rb'],
+        "SQL": [QApplication.translate('Lexers', "SQL"),          'dummy.sql'],
+        "TCL": [QApplication.translate('Lexers', "TCL"),          'dummy.tcl'],
+        "TeX": [QApplication.translate('Lexers', "TeX"),          'dummy.tex'],
+        "VHDL": [QApplication.translate('Lexers', "VHDL"),         'dummy.vhd'],
+        "XML": [QApplication.translate('Lexers', "XML"),          'dummy.xml'],
+        "YAML": [QApplication.translate('Lexers', "YAML"),         'dummy.yml'],
     }
     
     for name in LexerRegistry:
@@ -107,7 +110,8 @@
     
     return supportedLanguages
 
-def getLexer(language, parent = None, pyname = ""):
+
+def getLexer(language, parent=None, pyname=""):
     """
     Module function to instantiate a lexer object for a given language.
     
@@ -123,7 +127,7 @@
                 return LexerPython(language, parent)
             elif language == "C++":
                 from .LexerCPP import LexerCPP
-                return LexerCPP(parent, 
+                return LexerCPP(parent,
                     Preferences.getEditor("CppCaseInsensitiveKeywords"))
             elif language == "C#":
                 from .LexerCSharp import LexerCSharp
@@ -215,9 +219,10 @@
         except ImportError:
             return __getPygmentsLexer(parent)
     else:
-        return __getPygmentsLexer(parent, name = pyname)
+        return __getPygmentsLexer(parent, name=pyname)
 
-def __getPygmentsLexer(parent, name = ""):
+
+def __getPygmentsLexer(parent, name=""):
     """
     Private module function to instantiate a pygments lexer.
     
@@ -226,99 +231,100 @@
     @return reference to the lexer (LexerPygments) or None
     """
     from .LexerPygments import LexerPygments
-    lexer = LexerPygments(parent, name = name)
+    lexer = LexerPygments(parent, name=name)
     if lexer.canStyle():
         return lexer
     else:
         return None
     
-def getOpenFileFiltersList(includeAll = False, asString = False, withAdditional = True):
+
+def getOpenFileFiltersList(includeAll=False, asString=False, withAdditional=True):
     """
     Module function to get the file filter list for an open file operation.
     
-    @param includeAll flag indicating the inclusion of the 
+    @param includeAll flag indicating the inclusion of the
         All Files filter (boolean)
-    @param asString flag indicating the list should be returned 
+    @param asString flag indicating the list should be returned
         as a string (boolean)
     @keyparam withAdditional flag indicating to include additional filters
         defined by the user (boolean)
     @return file filter list (list of strings or string)
     """
     openFileFiltersList = [
-        QApplication.translate('Lexers', 
-            'Python Files (*.py *.py2 *.py3)'), 
-        QApplication.translate('Lexers', 
-            'Python GUI Files (*.pyw *.pyw2 *.pyw3)'), 
-        QApplication.translate('Lexers', 
-            'Pyrex Files (*.pyx)'), 
-        QApplication.translate('Lexers', 
-            'Quixote Template Files (*.ptl)'), 
-        QApplication.translate('Lexers', 
-            'Ruby Files (*.rb)'), 
-        QApplication.translate('Lexers', 
-            'IDL Files (*.idl)'), 
-        QApplication.translate('Lexers', 
-            'C Files (*.h *.c)'), 
-        QApplication.translate('Lexers', 
-            'C++ Files (*.h *.hpp *.hh *.cxx *.cpp *.cc)'), 
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
+            'Python Files (*.py *.py2 *.py3)'),
+        QApplication.translate('Lexers',
+            'Python GUI Files (*.pyw *.pyw2 *.pyw3)'),
+        QApplication.translate('Lexers',
+            'Pyrex Files (*.pyx)'),
+        QApplication.translate('Lexers',
+            'Quixote Template Files (*.ptl)'),
+        QApplication.translate('Lexers',
+            'Ruby Files (*.rb)'),
+        QApplication.translate('Lexers',
+            'IDL Files (*.idl)'),
+        QApplication.translate('Lexers',
+            'C Files (*.h *.c)'),
+        QApplication.translate('Lexers',
+            'C++ Files (*.h *.hpp *.hh *.cxx *.cpp *.cc)'),
+        QApplication.translate('Lexers',
             'C# Files (*.cs)'),
-        QApplication.translate('Lexers', 
-            'HTML Files (*.html *.htm *.asp *.shtml)'), 
-        QApplication.translate('Lexers', 
-            'CSS Files (*.css)'), 
-        QApplication.translate('Lexers', 
-            'QSS Files (*.qss)'), 
-        QApplication.translate('Lexers', 
-            'PHP Files (*.php *.php3 *.php4 *.php5 *.phtml)'), 
-        QApplication.translate('Lexers', 
-            'XML Files (*.xml *.xsl *.xslt *.dtd *.svg *.xul *.xsd)'), 
-        QApplication.translate('Lexers', 
-            'Qt Resource Files (*.qrc)'), 
-        QApplication.translate('Lexers', 
-            'D Files (*.d *.di)'), 
-        QApplication.translate('Lexers', 
-            'Java Files (*.java)'), 
-        QApplication.translate('Lexers', 
-            'JavaScript Files (*.js)'), 
-        QApplication.translate('Lexers', 
-            'SQL Files (*.sql)'), 
-        QApplication.translate('Lexers', 
-            'Docbook Files (*.docbook)'), 
-        QApplication.translate('Lexers', 
-            'Perl Files (*.pl *.pm *.ph)'), 
-        QApplication.translate('Lexers', 
-            'Lua Files (*.lua)'), 
-        QApplication.translate('Lexers', 
-            'Tex Files (*.tex *.sty *.aux *.toc *.idx)'), 
-        QApplication.translate('Lexers', 
-            'Shell Files (*.sh)'), 
-        QApplication.translate('Lexers', 
-            'Batch Files (*.bat *.cmd)'), 
-        QApplication.translate('Lexers', 
-            'Diff Files (*.diff *.patch)'), 
-        QApplication.translate('Lexers', 
-            'Makefiles (*.mak)'), 
-        QApplication.translate('Lexers', 
-            'Properties Files (*.properties *.ini *.inf *.reg *.cfg *.cnf *.rc)'), 
-        QApplication.translate('Lexers', 
-            'Povray Files (*.pov)'), 
-        QApplication.translate('Lexers', 
-            'CMake Files (CMakeLists.txt *.cmake *.ctest)'), 
-        QApplication.translate('Lexers', 
-            'VHDL Files (*.vhd *.vhdl)'), 
-        QApplication.translate('Lexers', 
-            'TCL/Tk Files (*.tcl *.tk)'), 
-        QApplication.translate('Lexers', 
-            'Fortran Files (*.f90 *.f95 *.f2k)'), 
-        QApplication.translate('Lexers', 
-            'Fortran77 Files (*.f *.for)'), 
-        QApplication.translate('Lexers', 
-            'Pascal Files (*.dpr *.dpk *.pas *.dfm *.inc *.pp)'), 
-        QApplication.translate('Lexers', 
-            'PostScript Files (*.ps)'), 
-        QApplication.translate('Lexers', 
-            'YAML Files (*.yaml *.yml)'), 
+        QApplication.translate('Lexers',
+            'HTML Files (*.html *.htm *.asp *.shtml)'),
+        QApplication.translate('Lexers',
+            'CSS Files (*.css)'),
+        QApplication.translate('Lexers',
+            'QSS Files (*.qss)'),
+        QApplication.translate('Lexers',
+            'PHP Files (*.php *.php3 *.php4 *.php5 *.phtml)'),
+        QApplication.translate('Lexers',
+            'XML Files (*.xml *.xsl *.xslt *.dtd *.svg *.xul *.xsd)'),
+        QApplication.translate('Lexers',
+            'Qt Resource Files (*.qrc)'),
+        QApplication.translate('Lexers',
+            'D Files (*.d *.di)'),
+        QApplication.translate('Lexers',
+            'Java Files (*.java)'),
+        QApplication.translate('Lexers',
+            'JavaScript Files (*.js)'),
+        QApplication.translate('Lexers',
+            'SQL Files (*.sql)'),
+        QApplication.translate('Lexers',
+            'Docbook Files (*.docbook)'),
+        QApplication.translate('Lexers',
+            'Perl Files (*.pl *.pm *.ph)'),
+        QApplication.translate('Lexers',
+            'Lua Files (*.lua)'),
+        QApplication.translate('Lexers',
+            'Tex Files (*.tex *.sty *.aux *.toc *.idx)'),
+        QApplication.translate('Lexers',
+            'Shell Files (*.sh)'),
+        QApplication.translate('Lexers',
+            'Batch Files (*.bat *.cmd)'),
+        QApplication.translate('Lexers',
+            'Diff Files (*.diff *.patch)'),
+        QApplication.translate('Lexers',
+            'Makefiles (*.mak)'),
+        QApplication.translate('Lexers',
+            'Properties Files (*.properties *.ini *.inf *.reg *.cfg *.cnf *.rc)'),
+        QApplication.translate('Lexers',
+            'Povray Files (*.pov)'),
+        QApplication.translate('Lexers',
+            'CMake Files (CMakeLists.txt *.cmake *.ctest)'),
+        QApplication.translate('Lexers',
+            'VHDL Files (*.vhd *.vhdl)'),
+        QApplication.translate('Lexers',
+            'TCL/Tk Files (*.tcl *.tk)'),
+        QApplication.translate('Lexers',
+            'Fortran Files (*.f90 *.f95 *.f2k)'),
+        QApplication.translate('Lexers',
+            'Fortran77 Files (*.f *.for)'),
+        QApplication.translate('Lexers',
+            'Pascal Files (*.dpr *.dpk *.pas *.dfm *.inc *.pp)'),
+        QApplication.translate('Lexers',
+            'PostScript Files (*.ps)'),
+        QApplication.translate('Lexers',
+            'YAML Files (*.yaml *.yml)'),
     ]
     
     for name in LexerRegistry:
@@ -336,117 +342,118 @@
     else:
         return openFileFiltersList
 
-def getSaveFileFiltersList(includeAll = False, asString = False, withAdditional = True):
+
+def getSaveFileFiltersList(includeAll=False, asString=False, withAdditional=True):
     """
     Module function to get the file filter list for a save file operation.
     
-    @param includeAll flag indicating the inclusion of the 
+    @param includeAll flag indicating the inclusion of the
         All Files filter (boolean)
-    @param asString flag indicating the list should be returned 
+    @param asString flag indicating the list should be returned
         as a string (boolean)
     @keyparam withAdditional flag indicating to include additional filters
         defined by the user (boolean)
     @return file filter list (list of strings or string)
     """
     saveFileFiltersList = [
-        QApplication.translate('Lexers', 
-            "Python2 Files (*.py2)"), 
-        QApplication.translate('Lexers', 
-            "Python3 Files (*.py)"), 
-        QApplication.translate('Lexers', 
-            "Python2 GUI Files (*.pyw2)"), 
-        QApplication.translate('Lexers', 
-            "Python3 GUI Files (*.pyw)"), 
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
+            "Python2 Files (*.py2)"),
+        QApplication.translate('Lexers',
+            "Python3 Files (*.py)"),
+        QApplication.translate('Lexers',
+            "Python2 GUI Files (*.pyw2)"),
+        QApplication.translate('Lexers',
+            "Python3 GUI Files (*.pyw)"),
+        QApplication.translate('Lexers',
             "Pyrex Files (*.pyx)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Quixote Template Files (*.ptl)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Ruby Files (*.rb)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "IDL Files (*.idl)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "C Files (*.c)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "C++ Files (*.cpp)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "C++/C Header Files (*.h)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "C# Files (*.cs)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "HTML Files (*.html)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "PHP Files (*.php)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "ASP Files (*.asp)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "CSS Files (*.css)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "QSS Files (*.qss)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "XML Files (*.xml)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "XSL Files (*.xsl)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "DTD Files (*.dtd)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Qt Resource Files (*.qrc)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "D Files (*.d)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "D Interface Files (*.di)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Java Files (*.java)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "JavaScript Files (*.js)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "SQL Files (*.sql)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Docbook Files (*.docbook)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Perl Files (*.pl)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Perl Module Files (*.pm)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Lua Files (*.lua)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Shell Files (*.sh)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Batch Files (*.bat)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "TeX Files (*.tex)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "TeX Template Files (*.sty)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Diff Files (*.diff)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Make Files (*.mak)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Properties Files (*.ini)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             "Configuration Files (*.cfg)"),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             'Povray Files (*.pov)'),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             'CMake Files (CMakeLists.txt)'),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             'CMake Macro Files (*.cmake)'),
-        QApplication.translate('Lexers', 
-            'VHDL Files (*.vhd)'), 
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
+            'VHDL Files (*.vhd)'),
+        QApplication.translate('Lexers',
             'TCL Files (*.tcl)'),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             'Tk Files (*.tk)'),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             'Fortran Files (*.f95)'),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             'Fortran77 Files (*.f)'),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             'Pascal Files (*.pas)'),
-        QApplication.translate('Lexers', 
+        QApplication.translate('Lexers',
             'PostScript Files (*.ps)'),
-        QApplication.translate('Lexers', 
-            'YAML Files (*.yml)'), 
+        QApplication.translate('Lexers',
+            'YAML Files (*.yml)'),
     ]
     
     for name in LexerRegistry:
@@ -465,127 +472,128 @@
     else:
         return saveFileFiltersList
 
+
 def getDefaultLexerAssociations():
     assocs = {
-        '*.sh'              : "Bash",
-        '*.bash'            : "Bash",
-        "*.bat"             : "Batch",
-        "*.cmd"             : "Batch",
-        '*.cpp'             : "C++",
-        '*.cxx'             : "C++",
-        '*.cc'              : "C++",
-        '*.c'               : "C++",
-        '*.hpp'             : "C++",
-        '*.hh'              : "C++",
-        '*.h'               : "C++",
-        '*.cs'              : "C#",
-        'CMakeLists.txt'    : "CMake", 
-        '*.cmake'           : "CMake",
-        '*.cmake.in'        : "CMake",
-        '*.ctest'           : "CMake",
-        '*.ctest.in'        : "CMake",
-        '*.css'             : "CSS",
-        '*.qss'             : "CSS",
-        "*.d"               : "D",
-        "*.di"              : "D",
-        "*.diff"            : "Diff",
-        "*.patch"           : "Diff",
-        '*.html'            : "HTML",
-        '*.htm'             : "HTML",
-        '*.asp'             : "HTML",
-        '*.shtml'           : "HTML",
-        '*.php'             : "HTML",
-        '*.php3'            : "HTML",
-        '*.php4'            : "HTML",
-        '*.php5'            : "HTML",
-        '*.phtml'           : "HTML",
-        '*.xml'             : "HTML",
-        '*.xsl'             : "HTML",
-        '*.svg'             : "HTML",
-        '*.xsd'             : "HTML",
-        '*.xslt'            : "HTML",
-        '*.dtd'             : "HTML",
-        '*.rdf'             : "HTML",
-        '*.xul'             : "HTML", 
-        '*.docbook'         : "HTML",
-        '*.ui'              : "HTML",
-        '*.ts'              : "HTML",
-        '*.qrc'             : "HTML",
-        '*.kid'             : "HTML",
-        '*.idl'             : "IDL",
-        '*.java'            : "Java",
-        '*.js'              : "JavaScript",
-        '*.lua'             : "Lua",
-        "*makefile"         : "Makefile",
-        "Makefile*"         : "Makefile",
-        "*.mak"             : "Makefile",
-        '*.pl'              : "Perl",
-        '*.pm'              : "Perl",
-        '*.ph'              : "Perl",
-        '*.pov'             : "Povray",
-        "*.properties"      : "Properties",
-        "*.ini"             : "Properties",
-        "*.inf"             : "Properties",
-        "*.reg"             : "Properties",
-        "*.cfg"             : "Properties",
-        "*.cnf"             : "Properties",
-        "*.rc"              : "Properties",
-        '*.py'              : "Python",
-        '*.pyw'             : "Python",
-        '*.py2'             : "Python",
-        '*.pyw2'            : "Python",
-        '*.py3'             : "Python",
-        '*.pyw3'            : "Python",
-        '*.pyx'             : "Python",
-        '*.ptl'             : "Python",
-        '*.rb'              : "Ruby",
-        '*.rbw'             : "Ruby",
-        '*.sql'             : "SQL",
-        "*.tex"             : "TeX",
-        "*.sty"             : "TeX",
-        "*.aux"             : "TeX",
-        "*.toc"             : "TeX",
-        "*.idx"             : "TeX",
-        '*.vhd'             : "VHDL", 
-        '*.vhdl'            : "VHDL", 
-        "*.tcl"             : "TCL", 
-        "*.tk"              : "TCL", 
-        "*.f"               : "Fortran77", 
-        "*.for"             : "Fortran77", 
-        "*.f90"             : "Fortran", 
-        "*.f95"             : "Fortran", 
-        "*.f2k"             : "Fortran", 
-        "*.dpr"             : "Pascal", 
-        "*.dpk"             : "Pascal", 
-        "*.pas"             : "Pascal", 
-        "*.dfm"             : "Pascal", 
-        "*.inc"             : "Pascal", 
-        "*.pp"              : "Pascal", 
-        "*.ps"              : "PostScript", 
-        "*.xml"             : "XML", 
-        "*.xsl"             : "XML", 
-        "*.svg"             : "XML", 
-        "*.xsd"             : "XML", 
-        "*.xslt"            : "XML", 
-        "*.dtd"             : "XML", 
-        "*.rdf"             : "XML", 
-        "*.xul"             : "XML", 
-        "*.yaml"            : "YAML", 
-        "*.yml"             : "YAML", 
-        '*.e4d'             : "XML",
-        '*.e4k'             : "XML",
-        '*.e4m'             : "XML", 
-        '*.e4p'             : "XML",
-        '*.e4q'             : "XML",
-        '*.e4s'             : "XML",
-        '*.e4t'             : "XML",
-        '*.e5d'             : "XML",
-        '*.e5k'             : "XML",
-        '*.e5m'             : "XML", 
-        '*.e5p'             : "XML",
-        '*.e5q'             : "XML",
-        '*.e5s'             : "XML",
-        '*.e5t'             : "XML",
+        '*.sh': "Bash",
+        '*.bash': "Bash",
+        "*.bat": "Batch",
+        "*.cmd": "Batch",
+        '*.cpp': "C++",
+        '*.cxx': "C++",
+        '*.cc': "C++",
+        '*.c': "C++",
+        '*.hpp': "C++",
+        '*.hh': "C++",
+        '*.h': "C++",
+        '*.cs': "C#",
+        'CMakeLists.txt': "CMake",
+        '*.cmake': "CMake",
+        '*.cmake.in': "CMake",
+        '*.ctest': "CMake",
+        '*.ctest.in': "CMake",
+        '*.css': "CSS",
+        '*.qss': "CSS",
+        "*.d": "D",
+        "*.di": "D",
+        "*.diff": "Diff",
+        "*.patch": "Diff",
+        '*.html': "HTML",
+        '*.htm': "HTML",
+        '*.asp': "HTML",
+        '*.shtml': "HTML",
+        '*.php': "HTML",
+        '*.php3': "HTML",
+        '*.php4': "HTML",
+        '*.php5': "HTML",
+        '*.phtml': "HTML",
+        '*.xml': "HTML",
+        '*.xsl': "HTML",
+        '*.svg': "HTML",
+        '*.xsd': "HTML",
+        '*.xslt': "HTML",
+        '*.dtd': "HTML",
+        '*.rdf': "HTML",
+        '*.xul': "HTML",
+        '*.docbook': "HTML",
+        '*.ui': "HTML",
+        '*.ts': "HTML",
+        '*.qrc': "HTML",
+        '*.kid': "HTML",
+        '*.idl': "IDL",
+        '*.java': "Java",
+        '*.js': "JavaScript",
+        '*.lua': "Lua",
+        "*makefile": "Makefile",
+        "Makefile*": "Makefile",
+        "*.mak": "Makefile",
+        '*.pl': "Perl",
+        '*.pm': "Perl",
+        '*.ph': "Perl",
+        '*.pov': "Povray",
+        "*.properties": "Properties",
+        "*.ini": "Properties",
+        "*.inf": "Properties",
+        "*.reg": "Properties",
+        "*.cfg": "Properties",
+        "*.cnf": "Properties",
+        "*.rc": "Properties",
+        '*.py': "Python",
+        '*.pyw': "Python",
+        '*.py2': "Python",
+        '*.pyw2': "Python",
+        '*.py3': "Python",
+        '*.pyw3': "Python",
+        '*.pyx': "Python",
+        '*.ptl': "Python",
+        '*.rb': "Ruby",
+        '*.rbw': "Ruby",
+        '*.sql': "SQL",
+        "*.tex": "TeX",
+        "*.sty": "TeX",
+        "*.aux": "TeX",
+        "*.toc": "TeX",
+        "*.idx": "TeX",
+        '*.vhd': "VHDL",
+        '*.vhdl': "VHDL",
+        "*.tcl": "TCL",
+        "*.tk": "TCL",
+        "*.f": "Fortran77",
+        "*.for": "Fortran77",
+        "*.f90": "Fortran",
+        "*.f95": "Fortran",
+        "*.f2k": "Fortran",
+        "*.dpr": "Pascal",
+        "*.dpk": "Pascal",
+        "*.pas": "Pascal",
+        "*.dfm": "Pascal",
+        "*.inc": "Pascal",
+        "*.pp": "Pascal",
+        "*.ps": "PostScript",
+        "*.xml": "XML",
+        "*.xsl": "XML",
+        "*.svg": "XML",
+        "*.xsd": "XML",
+        "*.xslt": "XML",
+        "*.dtd": "XML",
+        "*.rdf": "XML",
+        "*.xul": "XML",
+        "*.yaml": "YAML",
+        "*.yml": "YAML",
+        '*.e4d': "XML",
+        '*.e4k': "XML",
+        '*.e4m': "XML",
+        '*.e4p': "XML",
+        '*.e4q': "XML",
+        '*.e4s': "XML",
+        '*.e4t': "XML",
+        '*.e5d': "XML",
+        '*.e5k': "XML",
+        '*.e5m': "XML",
+        '*.e5p': "XML",
+        '*.e5q': "XML",
+        '*.e5s': "XML",
+        '*.e5t': "XML",
     }
     
     for name in LexerRegistry:

eric ide

mercurial