1
package Padre::Document::CSharp;
6
use Padre::Constant ();
7
use Padre::Role::Task ();
8
use Padre::Document ();
10
our $VERSION = '0.92';
17
#####################################################################
18
# Padre::Document Task Integration
21
return 'Padre::Document::CSharp::FunctionList';
32
sub get_function_regex {
33
my $name = quotemeta $_[1];
37
((?: (public|protected|private|
38
abstract|static|sealed|virtual|override|
39
explicit|implicit|operator|extern)\s+)
40
{0,4} # zero to 4 method modifiers
41
(?: [\w\[\]<>,]+) # return data type
44
(?: <\w+>)? # optional: generic type parameter
49
# C# keyword list is obtained from src/scite/src/cpp.properties
50
# added missing keyword volatile
51
sub scintilla_key_words {
57
abstract as base bool break by byte case catch char
58
checked class const continue decimal default delegate
59
do double else enum equals event explicit extern
60
false finally fixed float for foreach goto if
61
implicit in int interface internal into is lock long
62
namespace new null object on operator out override
63
params private protected public readonly ref return sbyte
64
sealed short sizeof stackalloc static string struct
65
switch this throw true try typeof uint ulong unchecked unsafe
66
ushort using virtual void volatile while
69
# C# contextual keywords
71
add alias ascending descending dynamic from
72
get global group into join let orderby partial
73
remove select set value var where yield
81
# Copyright 2008-2011 The Padre development team as listed in Padre.pm.
83
# This program is free software; you can redistribute it and/or
84
# modify it under the same terms as Perl 5 itself.