eric6/ThirdParty/Pygments/pygments/lexers/dotnet.py

changeset 7547
21b0534faebc
parent 6942
2602857055c5
child 7701
25f42e208e08
equal deleted inserted replaced
7546:bf5f777260a6 7547:21b0534faebc
3 pygments.lexers.dotnet 3 pygments.lexers.dotnet
4 ~~~~~~~~~~~~~~~~~~~~~~ 4 ~~~~~~~~~~~~~~~~~~~~~~
5 5
6 Lexers for .net languages. 6 Lexers for .net languages.
7 7
8 :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. 8 :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
9 :license: BSD, see LICENSE for details. 9 :license: BSD, see LICENSE for details.
10 """ 10 """
11 import re 11 import re
12 12
13 from pygments.lexer import RegexLexer, DelegatingLexer, bygroups, include, \ 13 from pygments.lexer import RegexLexer, DelegatingLexer, bygroups, include, \
14 using, this, default, words 14 using, this, default, words
15 from pygments.token import Punctuation, \ 15 from pygments.token import Punctuation, \
16 Text, Comment, Operator, Keyword, Name, String, Number, Literal, Other 16 Text, Comment, Operator, Keyword, Name, String, Number, Literal, Other
17 from pygments.util import get_choice_opt, iteritems 17 from pygments.util import get_choice_opt
18 from pygments import unistring as uni 18 from pygments import unistring as uni
19 19
20 from pygments.lexers.html import XmlLexer 20 from pygments.lexers.html import XmlLexer
21 21
22 __all__ = ['CSharpLexer', 'NemerleLexer', 'BooLexer', 'VbNetLexer', 22 __all__ = ['CSharpLexer', 'NemerleLexer', 'BooLexer', 'VbNetLexer',
69 } 69 }
70 70
71 tokens = {} 71 tokens = {}
72 token_variants = True 72 token_variants = True
73 73
74 for levelname, cs_ident in iteritems(levels): 74 for levelname, cs_ident in levels.items():
75 tokens[levelname] = { 75 tokens[levelname] = {
76 'root': [ 76 'root': [
77 # method names 77 # method names
78 (r'^([ \t]*(?:' + cs_ident + r'(?:\[\])?\s+)+?)' # return type 78 (r'^([ \t]*(?:' + cs_ident + r'(?:\[\])?\s+)+?)' # return type
79 r'(' + cs_ident + ')' # method name 79 r'(' + cs_ident + ')' # method name
182 } 182 }
183 183
184 tokens = {} 184 tokens = {}
185 token_variants = True 185 token_variants = True
186 186
187 for levelname, cs_ident in iteritems(levels): 187 for levelname, cs_ident in levels.items():
188 tokens[levelname] = { 188 tokens[levelname] = {
189 'root': [ 189 'root': [
190 # method names 190 # method names
191 (r'^([ \t]*(?:' + cs_ident + r'(?:\[\])?\s+)+?)' # return type 191 (r'^([ \t]*(?:' + cs_ident + r'(?:\[\])?\s+)+?)' # return type
192 r'(' + cs_ident + ')' # method name 192 r'(' + cs_ident + ')' # method name
539 539
540 540
541 # Very close to functional.OcamlLexer 541 # Very close to functional.OcamlLexer
542 class FSharpLexer(RegexLexer): 542 class FSharpLexer(RegexLexer):
543 """ 543 """
544 For the F# language (version 3.0). 544 For the `F# language <https://fsharp.org/>`_ (version 3.0).
545
546 AAAAACK Strings
547 http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.html#_Toc335818775
548 545
549 .. versionadded:: 1.5 546 .. versionadded:: 1.5
550 """ 547 """
551 548
552 name = 'FSharp' 549 name = 'F#'
553 aliases = ['fsharp'] 550 aliases = ['fsharp', 'f#']
554 filenames = ['*.fs', '*.fsi'] 551 filenames = ['*.fs', '*.fsi']
555 mimetypes = ['text/x-fsharp'] 552 mimetypes = ['text/x-fsharp']
556 553
557 keywords = [ 554 keywords = [
558 'abstract', 'as', 'assert', 'base', 'begin', 'class', 'default', 555 'abstract', 'as', 'assert', 'base', 'begin', 'class', 'default',

eric ide

mercurial