Sat, 30 Jul 2016 11:14:55 +0200
Merged with Spanish translations update and released them.
i18n/eric6_es.qm | file | annotate | diff | comparison | revisions | |
i18n/eric6_es.ts | file | annotate | diff | comparison | revisions |
--- a/ThirdParty/Pygments/pygments/CHANGES Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/CHANGES Sat Jul 30 11:14:55 2016 +0200 @@ -6,6 +6,34 @@ pull request numbers to the requests at <https://bitbucket.org/birkenfeld/pygments-main/pull-requests/merged>. +Version 2.1.3 +------------- +(released Mar 2, 2016) + +- Fixed regression in Bash lexer (PR#563) + + +Version 2.1.2 +------------- +(released Feb 29, 2016) + +- Fixed Python 3 regression in image formatter (#1215) +- Fixed regression in Bash lexer (PR#562) + + +Version 2.1.1 +------------- +(relased Feb 14, 2016) + +- Fixed Jython compatibility (#1205) +- Fixed HTML formatter output with leading empty lines (#1111) +- Added a mapping table for LaTeX encodings and added utf8 (#1152) +- Fixed image formatter font searching on Macs (#1188) +- Fixed deepcopy-ing of Token instances (#1168) +- Fixed Julia string interpolation (#1170) +- Fixed statefulness of HttpLexer between get_tokens calls +- Many smaller fixes to various lexers + Version 2.1 -----------
--- a/ThirdParty/Pygments/pygments/PKG-INFO Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/PKG-INFO Sat Jul 30 11:14:55 2016 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: Pygments -Version: 2.1 +Version: 2.1.3 Summary: Pygments is a syntax highlighting package written in Python. Home-page: http://pygments.org/ Author: Georg Brandl
--- a/ThirdParty/Pygments/pygments/__init__.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/__init__.py Sat Jul 30 11:14:55 2016 +0200 @@ -26,7 +26,7 @@ :license: BSD, see LICENSE for details. """ -__version__ = '2.1' +__version__ = '2.1.3' __docformat__ = 'restructuredtext' __all__ = ['lex', 'format', 'highlight']
--- a/ThirdParty/Pygments/pygments/formatters/_mapping.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/formatters/_mapping.py Sat Jul 30 11:14:55 2016 +0200 @@ -77,7 +77,7 @@ footer = content[content.find("if __name__ == '__main__':"):] # write new file - with open(__file__, 'wb') as fp: + with open(__file__, 'w') as fp: fp.write(header) fp.write('FORMATTERS = {\n %s\n}\n\n' % ',\n '.join(found_formatters)) fp.write(footer)
--- a/ThirdParty/Pygments/pygments/formatters/html.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/formatters/html.py Sat Jul 30 11:14:55 2016 +0200 @@ -702,7 +702,9 @@ if self.filename: yield 0, ('<span class="filename">' + self.filename + '</span>') - yield 0, ('<pre' + (style and ' style="%s"' % style) + '>') + # the empty span here is to keep leading empty lines from being + # ignored by HTML parsers + yield 0, ('<pre' + (style and ' style="%s"' % style) + '><span></span>') for tup in inner: yield tup yield 0, '</pre>'
--- a/ThirdParty/Pygments/pygments/formatters/img.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/formatters/img.py Sat Jul 30 11:14:55 2016 +0200 @@ -82,9 +82,13 @@ stdout, _ = proc.communicate() if proc.returncode == 0: lines = stdout.splitlines() - if lines: - path = lines[0].decode().strip().strip(':') - return path + for line in lines: + if line.startswith(b'Fontconfig warning:'): + continue + path = line.decode().strip().strip(':') + if path: + return path + return None def _create_nix(self): for name in STYLES['NORMAL']:
--- a/ThirdParty/Pygments/pygments/formatters/latex.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/formatters/latex.py Sat Jul 30 11:14:55 2016 +0200 @@ -413,11 +413,18 @@ outfile.write(u'\\end{' + self.envname + u'}\n') if self.full: + encoding = self.encoding or 'utf8' + # map known existings encodings from LaTeX distribution + encoding = { + 'utf_8': 'utf8', + 'latin_1': 'latin1', + 'iso_8859_1': 'latin1', + }.get(encoding.replace('-', '_'), encoding) realoutfile.write(DOC_TEMPLATE % dict(docclass = self.docclass, preamble = self.preamble, title = self.title, - encoding = self.encoding or 'utf8', + encoding = encoding, styledefs = self.get_style_defs(), code = outfile.getvalue()))
--- a/ThirdParty/Pygments/pygments/lexers/_mapping.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/_mapping.py Sat Jul 30 11:14:55 2016 +0200 @@ -46,7 +46,7 @@ 'BBCodeLexer': ('pygments.lexers.markup', 'BBCode', ('bbcode',), (), ('text/x-bbcode',)), 'BCLexer': ('pygments.lexers.algebra', 'BC', ('bc',), ('*.bc',), ()), 'BaseMakefileLexer': ('pygments.lexers.make', 'Base Makefile', ('basemake',), (), ()), - 'BashLexer': ('pygments.lexers.shell', 'Bash', ('bash', 'sh', 'ksh', 'shell'), ('*.sh', '*.ksh', '*.bash', '*.ebuild', '*.eclass', '.bashrc', 'bashrc', '.bash_*', 'bash_*', 'PKGBUILD'), ('application/x-sh', 'application/x-shellscript')), + 'BashLexer': ('pygments.lexers.shell', 'Bash', ('bash', 'sh', 'ksh', 'shell'), ('*.sh', '*.ksh', '*.bash', '*.ebuild', '*.eclass', '*.exheres-0', '*.exlib', '.bashrc', 'bashrc', '.bash_*', 'bash_*', 'PKGBUILD'), ('application/x-sh', 'application/x-shellscript')), 'BashSessionLexer': ('pygments.lexers.shell', 'Bash Session', ('console', 'shell-session'), ('*.sh-session', '*.shell-session'), ('application/x-shell-session', 'application/x-sh-session')), 'BatchLexer': ('pygments.lexers.shell', 'Batchfile', ('bat', 'batch', 'dosbatch', 'winbatch'), ('*.bat', '*.cmd'), ('application/x-dos-batch',)), 'BefungeLexer': ('pygments.lexers.esoteric', 'Befunge', ('befunge',), ('*.befunge',), ('application/x-befunge',)), @@ -130,7 +130,7 @@ 'ElixirConsoleLexer': ('pygments.lexers.erlang', 'Elixir iex session', ('iex',), (), ('text/x-elixir-shellsession',)), 'ElixirLexer': ('pygments.lexers.erlang', 'Elixir', ('elixir', 'ex', 'exs'), ('*.ex', '*.exs'), ('text/x-elixir',)), 'ElmLexer': ('pygments.lexers.elm', 'Elm', ('elm',), ('*.elm',), ('text/x-elm',)), - 'EmacsLispLexer': ('pygments.lexers.lisp', 'EmacsLisp', ('emacs', 'elisp'), ('*.el',), ('text/x-elisp', 'application/x-elisp')), + 'EmacsLispLexer': ('pygments.lexers.lisp', 'EmacsLisp', ('emacs', 'elisp', 'emacs-lisp'), ('*.el',), ('text/x-elisp', 'application/x-elisp')), 'ErbLexer': ('pygments.lexers.templates', 'ERB', ('erb',), (), ('application/x-ruby-templating',)), 'ErlangLexer': ('pygments.lexers.erlang', 'Erlang', ('erlang',), ('*.erl', '*.hrl', '*.es', '*.escript'), ('text/x-erlang',)), 'ErlangShellLexer': ('pygments.lexers.erlang', 'Erlang erl session', ('erl',), ('*.erl-sh',), ('text/x-erl-shellsession',)), @@ -457,7 +457,7 @@ footer = content[content.find("if __name__ == '__main__':"):] # write new file - with open(__file__, 'wb') as fp: + with open(__file__, 'w') as fp: fp.write(header) fp.write('LEXERS = {\n %s,\n}\n\n' % ',\n '.join(found_lexers)) fp.write(footer)
--- a/ThirdParty/Pygments/pygments/lexers/c_cpp.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/c_cpp.py Sat Jul 30 11:14:55 2016 +0200 @@ -216,6 +216,8 @@ 'final'), suffix=r'\b'), Keyword), (r'char(16_t|32_t)\b', Keyword.Type), (r'(class)(\s+)', bygroups(Keyword, Text), 'classname'), + # C++11 raw strings + (r'R"\(', String, 'rawstring'), inherit, ], 'root': [ @@ -232,10 +234,15 @@ # template specification (r'\s*(?=>)', Text, '#pop'), ], + 'rawstring': [ + (r'\)"', String, '#pop'), + (r'[^)]+', String), + (r'\)', String), + ], } def analyse_text(text): - if re.search('#include <[a-z]+>', text): + if re.search('#include <[a-z_]+>', text): return 0.2 if re.search('using namespace ', text): return 0.4
--- a/ThirdParty/Pygments/pygments/lexers/chapel.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/chapel.py Sat Jul 30 11:14:55 2016 +0200 @@ -44,12 +44,13 @@ (words(( 'align', 'atomic', 'begin', 'break', 'by', 'cobegin', 'coforall', 'continue', 'delete', 'dmapped', 'do', 'domain', 'else', 'enum', - 'export', 'extern', 'for', 'forall', 'if', 'index', 'inline', - 'iter', 'label', 'lambda', 'let', 'local', 'new', 'noinit', 'on', - 'otherwise', 'pragma', 'private', 'public', 'reduce', - 'require', 'return', 'scan', 'select', 'serial', 'single', - 'sparse', 'subdomain', 'sync', 'then', 'use', 'when', 'where', - 'while', 'with', 'yield', 'zip'), suffix=r'\b'), + 'except', 'export', 'extern', 'for', 'forall', 'if', 'index', + 'inline', 'iter', 'label', 'lambda', 'let', 'local', 'new', + 'noinit', 'on', 'only', 'otherwise', 'pragma', 'private', + 'public', 'reduce', 'require', 'return', 'scan', 'select', + 'serial', 'single', 'sparse', 'subdomain', 'sync', 'then', + 'use', 'when', 'where', 'while', 'with', 'yield', 'zip'), + suffix=r'\b'), Keyword), (r'(proc)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'procname'), (r'(class|module|record|union)(\s+)', bygroups(Keyword, Text),
--- a/ThirdParty/Pygments/pygments/lexers/dotnet.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/dotnet.py Sat Jul 30 11:14:55 2016 +0200 @@ -97,17 +97,17 @@ Comment.Preproc), (r'\b(extern)(\s+)(alias)\b', bygroups(Keyword, Text, Keyword)), - (r'(abstract|as|async|await|base|break|case|catch|' + (r'(abstract|as|async|await|base|break|by|case|catch|' r'checked|const|continue|default|delegate|' r'do|else|enum|event|explicit|extern|false|finally|' r'fixed|for|foreach|goto|if|implicit|in|interface|' - r'internal|is|lock|new|null|operator|' + r'internal|is|let|lock|new|null|on|operator|' r'out|override|params|private|protected|public|readonly|' r'ref|return|sealed|sizeof|stackalloc|static|' r'switch|this|throw|true|try|typeof|' r'unchecked|unsafe|virtual|void|while|' r'get|set|new|partial|yield|add|remove|value|alias|ascending|' - r'descending|from|group|into|orderby|select|where|' + r'descending|from|group|into|orderby|select|thenby|where|' r'join|equals)\b', Keyword), (r'(global)(::)', bygroups(Keyword, Punctuation)), (r'(bool|byte|char|decimal|double|dynamic|float|int|long|object|'
--- a/ThirdParty/Pygments/pygments/lexers/hdl.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/hdl.py Sat Jul 30 11:14:55 2016 +0200 @@ -108,8 +108,8 @@ 'trior', 'tri0', 'tri1', 'trireg', 'uwire', 'wire', 'wand', 'wo' 'shortreal', 'real', 'realtime'), suffix=r'\b'), Keyword.Type), - ('[a-zA-Z_]\w*:(?!:)', Name.Label), - ('[a-zA-Z_]\w*', Name), + (r'[a-zA-Z_]\w*:(?!:)', Name.Label), + (r'\$?[a-zA-Z_]\w*', Name), ], 'string': [ (r'"', String, '#pop'), @@ -250,8 +250,8 @@ 'trior', 'tri0', 'tri1', 'trireg', 'uwire', 'wire', 'wand', 'wo' 'shortreal', 'real', 'realtime'), suffix=r'\b'), Keyword.Type), - ('[a-zA-Z_]\w*:(?!:)', Name.Label), - ('[a-zA-Z_]\w*', Name), + (r'[a-zA-Z_]\w*:(?!:)', Name.Label), + (r'\$?[a-zA-Z_]\w*', Name), ], 'classname': [ (r'[a-zA-Z_]\w*', Name.Class, '#pop'), @@ -308,20 +308,27 @@ (r'[~!%^&*+=|?:<>/-]', Operator), (r"'[a-z_]\w*", Name.Attribute), (r'[()\[\],.;\']', Punctuation), - (r'"[^\n\\]*"', String), + (r'"[^\n\\"]*"', String), (r'(library)(\s+)([a-z_]\w*)', bygroups(Keyword, Text, Name.Namespace)), (r'(use)(\s+)(entity)', bygroups(Keyword, Text, Keyword)), + (r'(use)(\s+)([a-z_][\w.]*\.)(all)', + bygroups(Keyword, Text, Name.Namespace, Keyword)), (r'(use)(\s+)([a-z_][\w.]*)', bygroups(Keyword, Text, Name.Namespace)), + (r'(std|ieee)(\.[a-z_]\w*)', + bygroups(Name.Namespace, Name.Namespace)), + (words(('std', 'ieee', 'work'), suffix=r'\b'), + Name.Namespace), (r'(entity|component)(\s+)([a-z_]\w*)', bygroups(Keyword, Text, Name.Class)), (r'(architecture|configuration)(\s+)([a-z_]\w*)(\s+)' r'(of)(\s+)([a-z_]\w*)(\s+)(is)', bygroups(Keyword, Text, Name.Class, Text, Keyword, Text, Name.Class, Text, Keyword)), - + (r'([a-z_]\w*)(:)(\s+)(process|for)', + bygroups(Name.Class, Operator, Text, Keyword)), (r'(end)(\s+)', bygroups(using(this), Text), 'endblock'), include('types'), @@ -341,7 +348,7 @@ 'boolean', 'bit', 'character', 'severity_level', 'integer', 'time', 'delay_length', 'natural', 'positive', 'string', 'bit_vector', 'file_open_kind', 'file_open_status', 'std_ulogic', 'std_ulogic_vector', - 'std_logic', 'std_logic_vector'), suffix=r'\b'), + 'std_logic', 'std_logic_vector', 'signed', 'unsigned'), suffix=r'\b'), Keyword.Type), ], 'keywords': [ @@ -357,8 +364,8 @@ 'next', 'nor', 'not', 'null', 'of', 'on', 'open', 'or', 'others', 'out', 'package', 'port', 'postponed', 'procedure', 'process', 'pure', 'range', 'record', - 'register', 'reject', 'return', 'rol', 'ror', 'select', - 'severity', 'signal', 'shared', 'sla', 'sli', 'sra', + 'register', 'reject', 'rem', 'return', 'rol', 'ror', 'select', + 'severity', 'signal', 'shared', 'sla', 'sll', 'sra', 'srl', 'subtype', 'then', 'to', 'transport', 'type', 'units', 'until', 'use', 'variable', 'wait', 'when', 'while', 'with', 'xnor', 'xor'), suffix=r'\b'),
--- a/ThirdParty/Pygments/pygments/lexers/julia.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/julia.py Sat Jul 30 11:14:55 2016 +0200 @@ -65,7 +65,7 @@ bygroups(Keyword, Name.Function), 'funcname'), # types - (r'(type|typealias|abstract)((?:\s|\\\s)+)', + (r'(type|typealias|abstract|immutable)((?:\s|\\\s)+)', bygroups(Keyword, Name.Class), 'typename'), # operators @@ -132,14 +132,23 @@ 'string': [ (r'"', String, '#pop'), (r'\\\\|\\"|\\\n', String.Escape), # included here for raw strings - (r'\$(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?', - String.Interpol), - (r'[^\\"$]+', String), - # quotes, dollar signs, and backslashes must be parsed one at a time - (r'["\\]', String), - # unhandled string formatting sign - (r'\$', String) + # Interpolation is defined as "$" followed by the shortest full + # expression, which is something we can't parse. + # Include the most common cases here: $word, and $(paren'd expr). + (r'\$[a-zA-Z_]+', String.Interpol), + (r'\$\(', String.Interpol, 'in-intp'), + # @printf and @sprintf formats + (r'%[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[diouxXeEfFgGcrs%]', + String.Interpol), + (r'[^$%"\\]+', String), + # unhandled special signs + (r'[$%"\\]', String), ], + 'in-intp': [ + (r'[^()]+', String.Interpol), + (r'\(', String.Interpol, '#push'), + (r'\)', String.Interpol, '#pop'), + ] } def analyse_text(text):
--- a/ThirdParty/Pygments/pygments/lexers/lisp.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/lisp.py Sat Jul 30 11:14:55 2016 +0200 @@ -1488,7 +1488,7 @@ .. versionadded:: 2.1 """ name = 'EmacsLisp' - aliases = ['emacs', 'elisp'] + aliases = ['emacs', 'elisp', 'emacs-lisp'] filenames = ['*.el'] mimetypes = ['text/x-elisp', 'application/x-elisp']
--- a/ThirdParty/Pygments/pygments/lexers/python.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/python.py Sat Jul 30 11:14:55 2016 +0200 @@ -213,6 +213,26 @@ uni_name = "[%s][%s]*" % (uni.xid_start, uni.xid_continue) + def innerstring_rules(ttype): + return [ + # the old style '%s' % (...) string formatting (still valid in Py3) + (r'%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?' + '[hlL]?[diouxXeEfFgGcrs%]', String.Interpol), + # the new style '{}'.format(...) string formatting + (r'\{' + '((\w+)((\.\w+)|(\[[^\]]+\]))*)?' # field name + '(\![sra])?' # conversion + '(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[bcdeEfFgGnosxX%]?)?' + '\}', String.Interpol), + + # backslashes, quotes and formatting signs must be parsed one at a time + (r'[^\\\'"%\{\n]+', ttype), + (r'[\'"\\]', ttype), + # unhandled string formatting sign + (r'%|(\{{1,2})', ttype) + # newlines are an error (use "nl" state) + ] + tokens = PythonLexer.tokens.copy() tokens['keywords'] = [ (words(( @@ -295,23 +315,8 @@ (uni_name, Name.Namespace), default('#pop'), ] - tokens['strings'] = [ - # the old style '%s' % (...) string formatting (still valid in Py3) - (r'%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?' - '[hlL]?[diouxXeEfFgGcrs%]', String.Interpol), - # the new style '{}'.format(...) string formatting - (r'\{' - '((\w+)((\.\w+)|(\[[^\]]+\]))*)?' # field name - '(\![sra])?' # conversion - '(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[bcdeEfFgGnosxX%]?)?' - '\}', String.Interpol), - # backslashes, quotes and formatting signs must be parsed one at a time - (r'[^\\\'"%\{\n]+', String), - (r'[\'"\\]', String), - # unhandled string formatting sign - (r'%|(\{{1,2})', String) - # newlines are an error (use "nl" state) - ] + tokens['strings-single'] = innerstring_rules(String.Single) + tokens['strings-double'] = innerstring_rules(String.Double) def analyse_text(text): return shebang_matches(text, r'pythonw?3(\.\d)?')
--- a/ThirdParty/Pygments/pygments/lexers/rdf.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/rdf.py Sat Jul 30 11:14:55 2016 +0200 @@ -29,43 +29,56 @@ filenames = ['*.rq', '*.sparql'] mimetypes = ['application/sparql-query'] + # character group definitions :: + + PN_CHARS_BASE_GRP = (u'a-zA-Z' + u'\u00c0-\u00d6' + u'\u00d8-\u00f6' + u'\u00f8-\u02ff' + u'\u0370-\u037d' + u'\u037f-\u1fff' + u'\u200c-\u200d' + u'\u2070-\u218f' + u'\u2c00-\u2fef' + u'\u3001-\ud7ff' + u'\uf900-\ufdcf' + u'\ufdf0-\ufffd' + u'\U00010000-\U000effff') + + PN_CHARS_U_GRP = (PN_CHARS_BASE_GRP + '_') + + PN_CHARS_GRP = (PN_CHARS_U_GRP + + r'\-' + + r'0-9' + + u'\u00b7' + + u'\u0300-\u036f' + + u'\u203f-\u2040') + + HEX_GRP = '0-9A-Fa-f' + + PN_LOCAL_ESC_CHARS_GRP = r' _~.\-!$&""()*+,;=/?#@%' + # terminal productions :: - PN_CHARS_BASE = (u'(?:[a-zA-Z' - u'\u00c0-\u00d6' - u'\u00d8-\u00f6' - u'\u00f8-\u02ff' - u'\u0370-\u037d' - u'\u037f-\u1fff' - u'\u200c-\u200d' - u'\u2070-\u218f' - u'\u2c00-\u2fef' - u'\u3001-\ud7ff' - u'\uf900-\ufdcf' - u'\ufdf0-\ufffd]|' - u'[^\u0000-\uffff]|' - u'[\ud800-\udbff][\udc00-\udfff])') + PN_CHARS_BASE = '[' + PN_CHARS_BASE_GRP + ']' + + PN_CHARS_U = '[' + PN_CHARS_U_GRP + ']' - PN_CHARS_U = '(?:' + PN_CHARS_BASE + '|_)' + PN_CHARS = '[' + PN_CHARS_GRP + ']' - PN_CHARS = ('(?:' + PN_CHARS_U + r'|[\-0-9' + - u'\u00b7' + - u'\u0300-\u036f' + - u'\u203f-\u2040])') + HEX = '[' + HEX_GRP + ']' - HEX = '[0-9A-Fa-f]' - - PN_LOCAL_ESC_CHARS = r'[ _~.\-!$&""()*+,;=/?#@%]' + PN_LOCAL_ESC_CHARS = '[' + PN_LOCAL_ESC_CHARS_GRP + ']' IRIREF = r'<(?:[^<>"{}|^`\\\x00-\x20])*>' - BLANK_NODE_LABEL = '_:(?:' + PN_CHARS_U + '|[0-9])(?:(?:' + PN_CHARS + '|\.)*' + \ - PN_CHARS + ')?' + BLANK_NODE_LABEL = '_:[0-9' + PN_CHARS_U_GRP + '](?:[' + PN_CHARS_GRP + \ + '.]*' + PN_CHARS + ')?' - PN_PREFIX = PN_CHARS_BASE + '(?:(?:' + PN_CHARS + '|\.)*' + PN_CHARS + ')?' + PN_PREFIX = PN_CHARS_BASE + '(?:[' + PN_CHARS_GRP + '.]*' + PN_CHARS + ')?' - VARNAME = '(?:' + PN_CHARS_U + '|[0-9])(?:' + PN_CHARS_U + \ - u'|[0-9\u00b7\u0300-\u036f\u203f-\u2040])*' + VARNAME = u'[0-9' + PN_CHARS_U_GRP + '][' + PN_CHARS_U_GRP + \ + u'0-9\u00b7\u0300-\u036f\u203f-\u2040]*' PERCENT = '%' + HEX + HEX @@ -73,9 +86,9 @@ PLX = '(?:' + PERCENT + ')|(?:' + PN_LOCAL_ESC + ')' - PN_LOCAL = ('(?:(?:' + PN_CHARS_U + '|[:0-9])|' + PLX + ')' + - '(?:(?:(?:' + PN_CHARS + '|[.:])|' + PLX + ')*(?:(?:' + - PN_CHARS + '|:)|' + PLX + '))?') + PN_LOCAL = ('(?:[' + PN_CHARS_U_GRP + ':0-9' + ']|' + PLX + ')' + + '(?:(?:[' + PN_CHARS_GRP + '.:]|' + PLX + ')*(?:[' + + PN_CHARS_GRP + ':]|' + PLX + '))?') EXPONENT = r'[eE][+-]?\d+'
--- a/ThirdParty/Pygments/pygments/lexers/shell.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/shell.py Sat Jul 30 11:14:55 2016 +0200 @@ -35,6 +35,7 @@ name = 'Bash' aliases = ['bash', 'sh', 'ksh', 'shell'] filenames = ['*.sh', '*.ksh', '*.bash', '*.ebuild', '*.eclass', + '*.exheres-0', '*.exlib', '.bashrc', 'bashrc', '.bash_*', 'bash_*', 'PKGBUILD'] mimetypes = ['application/x-sh', 'application/x-shellscript'] @@ -49,7 +50,7 @@ (r'\$\(\(', Keyword, 'math'), (r'\$\(', Keyword, 'paren'), (r'\$\{#?', String.Interpol, 'curly'), - (r'\$[a-fA-F_][a-fA-F0-9_]*', Name.Variable), # user variable + (r'\$[a-zA-Z_][a-zA-Z0-9_]*', Name.Variable), # user variable (r'\$(?:\d+|[#$?!_*@-])', Name.Variable), # builtin (r'\$', Text), ], @@ -213,16 +214,16 @@ (_nl, _punct, _ws, _nl)) _number = r'(?:-?(?:0[0-7]+|0x[\da-f]+|\d+)%s)' % _token_terminator _opword = r'(?:equ|geq|gtr|leq|lss|neq)' - _string = r'(?:"[^%s"]*"?)' % _nl + _string = r'(?:"[^%s"]*(?:"|(?=[%s])))' % (_nl, _nl) _variable = (r'(?:(?:%%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|' r'[^%%:%s]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%%%s^]|' r'\^[^%%%s])[^=%s]*=(?:[^%%%s^]|\^[^%%%s])*)?)?%%))|' r'(?:\^?![^!:%s]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:' r'[^!%s^]|\^[^!%s])[^=%s]*=(?:[^!%s^]|\^[^!%s])*)?)?\^?!))' % (_nl, _nl, _nl, _nl, _nl, _nl, _nl, _nl, _nl, _nl, _nl, _nl)) - _core_token = r'(?:(?:(?:\^[%s]?)?[^%s%s%s])+)' % (_nl, _nl, _punct, _ws) - _core_token_compound = r'(?:(?:(?:\^[%s]?)?[^%s%s%s)])+)' % (_nl, _nl, - _punct, _ws) + _core_token = r'(?:(?:(?:\^[%s]?)?[^"%s%s%s])+)' % (_nl, _nl, _punct, _ws) + _core_token_compound = r'(?:(?:(?:\^[%s]?)?[^"%s%s%s)])+)' % (_nl, _nl, + _punct, _ws) _token = r'(?:[%s]+|%s)' % (_punct, _core_token) _token_compound = r'(?:[%s]+|%s)' % (_punct, _core_token_compound) _stoken = (r'(?:[%s]+|(?:%s|%s|%s)+)' %
--- a/ThirdParty/Pygments/pygments/lexers/sql.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/sql.py Sat Jul 30 11:14:55 2016 +0200 @@ -148,8 +148,8 @@ (r'\$\d+', Name.Variable), (r'([0-9]*\.[0-9]*|[0-9]+)(e[+-]?[0-9]+)?', Number.Float), (r'[0-9]+', Number.Integer), - (r"(E|U&)?'(''|[^'])*'", String.Single), - (r'(U&)?"(""|[^"])*"', String.Name), # quoted identifier + (r"(E|U&)?'", String.Single, 'string'), + (r'(U&)?"', String.Name, 'quoted-ident'), # quoted identifier (r'(?s)(\$[^$]*\$)(.*?)(\1)', language_callback), (r'[a-z_]\w*', Name), @@ -164,6 +164,16 @@ (r'[^/*]+', Comment.Multiline), (r'[/*]', Comment.Multiline) ], + 'string': [ + (r"[^']+", String.Single), + (r"''", String.Single), + (r"'", String.Single, '#pop'), + ], + 'quoted-ident': [ + (r'[^"]+', String.Name), + (r'""', String.Name), + (r'"', String.Name, '#pop'), + ], } @@ -380,13 +390,13 @@ 'DEFINED', 'DEFINER', 'DELETE', 'DELIMITER', 'DELIMITERS', 'DEREF', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DESTROY', 'DESTRUCTOR', 'DETERMINISTIC', 'DIAGNOSTICS', 'DICTIONARY', 'DISCONNECT', 'DISPATCH', 'DISTINCT', 'DO', - 'DOMAIN', 'DROP', 'DYNAMIC', 'DYNAMIC_FUNCTION', 'DYNAMIC_FUNCTION_CODE', - 'EACH', 'ELSE', 'ENCODING', 'ENCRYPTED', 'END', 'END-EXEC', 'EQUALS', 'ESCAPE', 'EVERY', + 'DOMAIN', 'DROP', 'DYNAMIC', 'DYNAMIC_FUNCTION', 'DYNAMIC_FUNCTION_CODE', 'EACH', + 'ELSE', 'ELSIF', 'ENCODING', 'ENCRYPTED', 'END', 'END-EXEC', 'EQUALS', 'ESCAPE', 'EVERY', 'EXCEPTION', 'EXCEPT', 'EXCLUDING', 'EXCLUSIVE', 'EXEC', 'EXECUTE', 'EXISTING', 'EXISTS', 'EXPLAIN', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FINAL', 'FIRST', 'FOR', 'FORCE', 'FOREIGN', 'FORTRAN', 'FORWARD', 'FOUND', 'FREE', 'FREEZE', 'FROM', 'FULL', 'FUNCTION', 'G', 'GENERAL', 'GENERATED', 'GET', 'GLOBAL', 'GO', 'GOTO', 'GRANT', 'GRANTED', - 'GROUP', 'GROUPING', 'HANDLER', 'HAVING', 'HIERARCHY', 'HOLD', 'HOST', 'IDENTITY', + 'GROUP', 'GROUPING', 'HANDLER', 'HAVING', 'HIERARCHY', 'HOLD', 'HOST', 'IDENTITY', 'IF', 'IGNORE', 'ILIKE', 'IMMEDIATE', 'IMMUTABLE', 'IMPLEMENTATION', 'IMPLICIT', 'IN', 'INCLUDING', 'INCREMENT', 'INDEX', 'INDITCATOR', 'INFIX', 'INHERITS', 'INITIALIZE', 'INITIALLY', 'INNER', 'INOUT', 'INPUT', 'INSENSITIVE', 'INSERT', 'INSTANTIABLE',
--- a/ThirdParty/Pygments/pygments/lexers/templates.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/templates.py Sat Jul 30 11:14:55 2016 +0200 @@ -251,7 +251,7 @@ 'funcparams': [ (r'\$\{?', Punctuation, 'variable'), (r'\s+', Text), - (r',', Punctuation), + (r'[,:]', Punctuation), (r'"(\\\\|\\"|[^"])*"', String.Double), (r"'(\\\\|\\'|[^'])*'", String.Single), (r"0[xX][0-9a-fA-F]+[Ll]?", Number), @@ -259,6 +259,8 @@ (r'(true|false|null)\b', Keyword.Constant), (r'\(', Punctuation, '#push'), (r'\)', Punctuation, '#pop'), + (r'\{', Punctuation, '#push'), + (r'\}', Punctuation, '#pop'), (r'\[', Punctuation, '#push'), (r'\]', Punctuation, '#pop'), ] @@ -875,7 +877,7 @@ # yield style and script blocks as Other (r'<\s*(script|style)\s*.*?>.*?<\s*/\1\s*>', Other), (r'<\s*py:[a-zA-Z0-9]+', Name.Tag, 'pytag'), - (r'<\s*[a-zA-Z0-9:]+', Name.Tag, 'tag'), + (r'<\s*[a-zA-Z0-9:.]+', Name.Tag, 'tag'), include('variable'), (r'[<$]', Other), ],
--- a/ThirdParty/Pygments/pygments/lexers/textfmts.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/lexers/textfmts.py Sat Jul 30 11:14:55 2016 +0200 @@ -122,6 +122,11 @@ flags = re.DOTALL + def get_tokens_unprocessed(self, text, stack=('root',)): + """Reset the content-type state.""" + self.content_type = None + return RegexLexer.get_tokens_unprocessed(self, text, stack) + def header_callback(self, match): if match.group(1).lower() == 'content-type': content_type = match.group(5).strip()
--- a/ThirdParty/Pygments/pygments/token.py Thu Jul 28 16:14:22 2016 +0200 +++ b/ThirdParty/Pygments/pygments/token.py Sat Jul 30 11:14:55 2016 +0200 @@ -43,6 +43,14 @@ def __repr__(self): return 'Token' + (self and '.' or '') + '.'.join(self) + def __copy__(self): + # These instances are supposed to be singletons + return self + + def __deepcopy__(self, memo): + # These instances are supposed to be singletons + return self + Token = _TokenType()
--- a/changelog Thu Jul 28 16:14:22 2016 +0200 +++ b/changelog Sat Jul 30 11:14:55 2016 +0200 @@ -32,7 +32,7 @@ -- ported the web browser to QtWebEngine as of Qt 5.6.0 because starting with this version QtWebKit is no longer (officially) supported - Third Party packages - -- updated Pygments to 2.1 + -- updated Pygments to 2.1.3 -- updated pep8 to 1.7.0 -- updated coverage.py to 4.1.0 -- updated pyflakes to 1.2.3+
--- a/i18n/eric6_es.ts Thu Jul 28 16:14:22 2016 +0200 +++ b/i18n/eric6_es.ts Sat Jul 30 11:14:55 2016 +0200 @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.1" language="es"> +<!DOCTYPE TS><TS version="2.0" language="es" sourcelanguage=""> <context> <name>AboutDialog</name> <message> @@ -1414,11 +1413,6 @@ <translation>Cliente en background desconectado.</translation> </message> <message> - <location filename="../Utilities/BackgroundService.py" line="411"/> - <source>The background client for <b>{0}</b> disconnect because of an unknown reason.<br>Should it be restarted?</source> - <translation type="obsolete">El cliente en background para <b>{0}</b> ha desconectado por razón desconocida.<br>¿Reiniciarlo?</translation> - </message> - <message> <location filename="../Utilities/BackgroundService.py" line="405"/> <source>Erics background client disconnected because of an unknown reason.</source> <translation>El cliente en background de Eric ha desconectado debido a una razón desconocida.</translation> @@ -1910,8 +1904,8 @@ </message> <message> <location filename="../Helpviewer/Bookmarks/BookmarksMenu.py" line="145"/> - <source>Open in New &Tab Ctrl+LMB</source> - <translation>Abrir en Nueva &Pestaña Ctrl+LMB (botón izquierdo del ratón)</translation> + <source>Open in New &Tab<byte value="x9"/>Ctrl+LMB</source> + <translation>Abrir en Nueva &Pestaña<byte value="x9"/>Ctrl+LMB (botón izquierdo del ratón)</translation> </message> <message> <location filename="../Helpviewer/Bookmarks/BookmarksMenu.py" line="151"/> @@ -1930,8 +1924,8 @@ </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="166"/> - <source>Open in New Tab Ctrl+LMB</source> - <translation>Abrir en Nueva Pestaña Ctrl+LMB (botón izquierdo del ratón)</translation> + <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source> + <translation>Abrir en Nueva Pestaña<byte value="x9"/> Ctrl+LMB (botón izquierdo del ratón)</translation> </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="169"/> @@ -2014,8 +2008,8 @@ </message> <message> <location filename="../Helpviewer/Bookmarks/BookmarksToolBar.py" line="93"/> - <source>Open in New &Tab Ctrl+LMB</source> - <translation>Abrir en Nueva &Pestaña Ctrl+LMB (botón izquierdo del ratón)</translation> + <source>Open in New &Tab<byte value="x9"/>Ctrl+LMB</source> + <translation>Abrir en Nueva &Pestaña<byte value="x9"/>Ctrl+LMB (botón izquierdo del ratón)</translation> </message> <message> <location filename="../Helpviewer/Bookmarks/BookmarksToolBar.py" line="104"/> @@ -2029,8 +2023,8 @@ </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="91"/> - <source>Open in New Tab Ctrl+LMB</source> - <translation>Abrir en Nueva Pestaña Ctrl+LMB (botón izquierdo del ratón)</translation> + <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source> + <translation>Abrir en Nueva Pestaña<byte value="x9"/> Ctrl+LMB (botón izquierdo del ratón)</translation> </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="94"/> @@ -16469,7 +16463,7 @@ <name>HelpBrowser</name> <message> <location filename="../Helpviewer/HelpBrowserWV.py" line="1208"/> - <source>Open Link in New Tab Ctrl+LMB</source> + <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source> <translation>Abrir enlace en Nueva Pestaña Ctrl+LMB (botón izquierdo del ratón)</translation> </message> <message> @@ -67704,8 +67698,8 @@ </message> <message> <location filename="../WebBrowser/WebBrowserView.py" line="543"/> - <source>Open Link in New Tab Ctrl+LMB</source> - <translation>Abrir enlace en nueva pestaña Tab Ctrl+LMB (botón izquierdo del ratón)</translation> + <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source> + <translation>Abrir enlace en nueva pestaña Tab<byte value="x9"/>Ctrl+LMB (botón izquierdo del ratón)</translation> </message> <message> <location filename="../WebBrowser/WebBrowserView.py" line="547"/> @@ -69683,11 +69677,6 @@ <translation>OK</translation> </message> <message> - <location filename="../WebBrowser/WebBrowserWindow.py" line="2209"/> - <source>Help Files (*.html *.htm);;PDF Files (*.pdf);;CHM Files (*.chm);;All Files (*)</source> - <translation type="obsolete">Archivos de Ayuda (*.html *.htm);;Archivos PDF (*.pdf);;Archivos CHM (*.chm);;Todos los Archivos (*)</translation> - </message> - <message> <location filename="../WebBrowser/WebBrowserWindow.py" line="2305"/> <source><b>eric6 Web Browser - {0}</b><p>The eric6 Web Browser is a combined help file and HTML browser. It is part of the eric6 development toolset.</p><p>It is based on QtWebEngine {1} and Chrome {2}.</p></source> <translation><b>Navegador Web de eric6- {0}</b><p>El Navegador Web de eric6 is una combinación de navegador de archivos de ayuda y de HTML. Es parte del conjunto de herramientas de desarrollo de eric6.</p><p>Está basado en QtWebEngine {1} y Chrome {2}.</p></translation>