line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
# Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved. |
2
|
|
|
|
|
|
|
# This program is free software; you can redistribute it and/or |
3
|
|
|
|
|
|
|
# modify it under the same terms as Perl itself. |
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
# This file was generated from the 'ldif.xml' file of the syntax highlight |
6
|
|
|
|
|
|
|
# engine of the kate text editor (http://www.kate-editor.org |
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
#kate xml version 1.02 |
9
|
|
|
|
|
|
|
#kate version 2.4 |
10
|
|
|
|
|
|
|
#kate author Andreas Hochsteger (e9625392@student.tuwien.ac.at) |
11
|
|
|
|
|
|
|
#generated: Sun Feb 3 22:02:05 2008, localtime |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
package Syntax::Highlight::Engine::Kate::LDIF; |
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
our $VERSION = '0.14'; |
16
|
|
|
|
|
|
|
|
17
|
1
|
|
|
1
|
|
519
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
26
|
|
18
|
1
|
|
|
1
|
|
4
|
use warnings; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
25
|
|
19
|
1
|
|
|
1
|
|
4
|
use base('Syntax::Highlight::Engine::Kate::Template'); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
1003
|
|
20
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
sub new { |
22
|
1
|
|
|
1
|
0
|
591
|
my $proto = shift; |
23
|
1
|
|
33
|
|
|
6
|
my $class = ref($proto) || $proto; |
24
|
1
|
|
|
|
|
8
|
my $self = $class->SUPER::new(@_); |
25
|
1
|
|
|
|
|
11
|
$self->attributes({ |
26
|
|
|
|
|
|
|
'AttributeType' => 'DataType', |
27
|
|
|
|
|
|
|
'Comment' => 'Comment', |
28
|
|
|
|
|
|
|
'Description Keyword' => 'Keyword', |
29
|
|
|
|
|
|
|
'Normal Text' => 'Normal', |
30
|
|
|
|
|
|
|
'ObjectClass' => 'Reserved', |
31
|
|
|
|
|
|
|
'Value (Encoded)' => 'BString', |
32
|
|
|
|
|
|
|
'Value (Encrypted)' => 'BaseN', |
33
|
|
|
|
|
|
|
'Value (Keyword)' => 'Float', |
34
|
|
|
|
|
|
|
'Value (Standard)' => 'String', |
35
|
|
|
|
|
|
|
'Value (URL)' => 'Others', |
36
|
|
|
|
|
|
|
}); |
37
|
1
|
|
|
|
|
7
|
$self->listAdd('attributetypes', |
38
|
|
|
|
|
|
|
'IPPhone', |
39
|
|
|
|
|
|
|
'URL', |
40
|
|
|
|
|
|
|
'aRecord', |
41
|
|
|
|
|
|
|
'aliasedEntryName', |
42
|
|
|
|
|
|
|
'aliasedObjectName', |
43
|
|
|
|
|
|
|
'associatedDomain', |
44
|
|
|
|
|
|
|
'associatedName', |
45
|
|
|
|
|
|
|
'audio', |
46
|
|
|
|
|
|
|
'authorityRevocationList', |
47
|
|
|
|
|
|
|
'bootFile', |
48
|
|
|
|
|
|
|
'bootParameter', |
49
|
|
|
|
|
|
|
'buildingName', |
50
|
|
|
|
|
|
|
'businessCategory', |
51
|
|
|
|
|
|
|
'c', |
52
|
|
|
|
|
|
|
'cACertificate', |
53
|
|
|
|
|
|
|
'cNAMERecord', |
54
|
|
|
|
|
|
|
'certificateRevocationList', |
55
|
|
|
|
|
|
|
'cn', |
56
|
|
|
|
|
|
|
'comment', |
57
|
|
|
|
|
|
|
'commonName', |
58
|
|
|
|
|
|
|
'conferenceInformation', |
59
|
|
|
|
|
|
|
'corbaContainer', |
60
|
|
|
|
|
|
|
'corbaRepositoryId', |
61
|
|
|
|
|
|
|
'countryName', |
62
|
|
|
|
|
|
|
'crossCertificatePair', |
63
|
|
|
|
|
|
|
'custom1', |
64
|
|
|
|
|
|
|
'custom2', |
65
|
|
|
|
|
|
|
'custom3', |
66
|
|
|
|
|
|
|
'custom4', |
67
|
|
|
|
|
|
|
'dITRedirect', |
68
|
|
|
|
|
|
|
'dSAQuality', |
69
|
|
|
|
|
|
|
'dc', |
70
|
|
|
|
|
|
|
'deltaRevocationList', |
71
|
|
|
|
|
|
|
'description', |
72
|
|
|
|
|
|
|
'destinationIndicator', |
73
|
|
|
|
|
|
|
'distinguishedName', |
74
|
|
|
|
|
|
|
'dmdName', |
75
|
|
|
|
|
|
|
'dnQualifier', |
76
|
|
|
|
|
|
|
'documentAuthor', |
77
|
|
|
|
|
|
|
'documentIdentifier', |
78
|
|
|
|
|
|
|
'documentLocation', |
79
|
|
|
|
|
|
|
'documentPublisher', |
80
|
|
|
|
|
|
|
'documentTitle', |
81
|
|
|
|
|
|
|
'documentVersion', |
82
|
|
|
|
|
|
|
'domainComponent', |
83
|
|
|
|
|
|
|
'enhancedSearchGuide', |
84
|
|
|
|
|
|
|
'facsimileTelephoneNumber', |
85
|
|
|
|
|
|
|
'fax', |
86
|
|
|
|
|
|
|
'gecos', |
87
|
|
|
|
|
|
|
'generationQualifier', |
88
|
|
|
|
|
|
|
'gidNumber', |
89
|
|
|
|
|
|
|
'givenName', |
90
|
|
|
|
|
|
|
'gn', |
91
|
|
|
|
|
|
|
'homeDirectory', |
92
|
|
|
|
|
|
|
'homePostalAddress', |
93
|
|
|
|
|
|
|
'homeUrl', |
94
|
|
|
|
|
|
|
'host', |
95
|
|
|
|
|
|
|
'houseIdentifier', |
96
|
|
|
|
|
|
|
'info', |
97
|
|
|
|
|
|
|
'initials', |
98
|
|
|
|
|
|
|
'internationaliSDNNumber', |
99
|
|
|
|
|
|
|
'ipHostNumber', |
100
|
|
|
|
|
|
|
'ipNetmaskNumber', |
101
|
|
|
|
|
|
|
'ipNetworkNumber', |
102
|
|
|
|
|
|
|
'ipProtocolNumber', |
103
|
|
|
|
|
|
|
'ipServicePort', |
104
|
|
|
|
|
|
|
'ipServiceProtocol', |
105
|
|
|
|
|
|
|
'janetMailbox', |
106
|
|
|
|
|
|
|
'javaClassNames', |
107
|
|
|
|
|
|
|
'javaCodebase', |
108
|
|
|
|
|
|
|
'javaContainer', |
109
|
|
|
|
|
|
|
'javaDoc', |
110
|
|
|
|
|
|
|
'javaFactory', |
111
|
|
|
|
|
|
|
'javaReferenceAddress', |
112
|
|
|
|
|
|
|
'javaSerializedData', |
113
|
|
|
|
|
|
|
'knowledgeInformation', |
114
|
|
|
|
|
|
|
'l', |
115
|
|
|
|
|
|
|
'labeledURI', |
116
|
|
|
|
|
|
|
'lastModifiedBy', |
117
|
|
|
|
|
|
|
'lastModifiedTime', |
118
|
|
|
|
|
|
|
'lmpassword', |
119
|
|
|
|
|
|
|
'localityName', |
120
|
|
|
|
|
|
|
'loginShell', |
121
|
|
|
|
|
|
|
'mDRecord', |
122
|
|
|
|
|
|
|
'mXRecord', |
123
|
|
|
|
|
|
|
'macAddress', |
124
|
|
|
|
|
|
|
'mail', |
125
|
|
|
|
|
|
|
'manager', |
126
|
|
|
|
|
|
|
'member', |
127
|
|
|
|
|
|
|
'memberNisNetgroup', |
128
|
|
|
|
|
|
|
'memberUid', |
129
|
|
|
|
|
|
|
'mozillaHomeCountryName', |
130
|
|
|
|
|
|
|
'mozillaHomeFriendlyCountryName', |
131
|
|
|
|
|
|
|
'mozillaHomeLocalityName', |
132
|
|
|
|
|
|
|
'mozillaHomePostalAddress2', |
133
|
|
|
|
|
|
|
'mozillaHomePostalCode', |
134
|
|
|
|
|
|
|
'mozillaHomeState', |
135
|
|
|
|
|
|
|
'mozillaPostalAddress2', |
136
|
|
|
|
|
|
|
'mozillaSecondemail', |
137
|
|
|
|
|
|
|
'nSRecord', |
138
|
|
|
|
|
|
|
'name', |
139
|
|
|
|
|
|
|
'nisMapEntry', |
140
|
|
|
|
|
|
|
'nisMapName', |
141
|
|
|
|
|
|
|
'nisNetgroupTriple', |
142
|
|
|
|
|
|
|
'ntpasswd', |
143
|
|
|
|
|
|
|
'o', |
144
|
|
|
|
|
|
|
'objectClass', |
145
|
|
|
|
|
|
|
'oncRpcNumber', |
146
|
|
|
|
|
|
|
'organizationName', |
147
|
|
|
|
|
|
|
'organizationalStatus', |
148
|
|
|
|
|
|
|
'organizationalUnitName', |
149
|
|
|
|
|
|
|
'otherFacsimiletelephoneNumber', |
150
|
|
|
|
|
|
|
'otherMailbox', |
151
|
|
|
|
|
|
|
'ou', |
152
|
|
|
|
|
|
|
'owner', |
153
|
|
|
|
|
|
|
'personalSignature', |
154
|
|
|
|
|
|
|
'personalTitle', |
155
|
|
|
|
|
|
|
'photo', |
156
|
|
|
|
|
|
|
'physicalDeliveryOfficeName', |
157
|
|
|
|
|
|
|
'postOfficeBox', |
158
|
|
|
|
|
|
|
'postalAddress', |
159
|
|
|
|
|
|
|
'postalCode', |
160
|
|
|
|
|
|
|
'preferredDeliveryMethod', |
161
|
|
|
|
|
|
|
'presentationAddress', |
162
|
|
|
|
|
|
|
'protocolInformation', |
163
|
|
|
|
|
|
|
'rdn', |
164
|
|
|
|
|
|
|
'registeredAddress', |
165
|
|
|
|
|
|
|
'reports', |
166
|
|
|
|
|
|
|
'rfc822Mailbox', |
167
|
|
|
|
|
|
|
'roleOccupant', |
168
|
|
|
|
|
|
|
'roomNumber', |
169
|
|
|
|
|
|
|
'sOARecord', |
170
|
|
|
|
|
|
|
'searchGuide', |
171
|
|
|
|
|
|
|
'secretary', |
172
|
|
|
|
|
|
|
'seeAlso', |
173
|
|
|
|
|
|
|
'serialNumber', |
174
|
|
|
|
|
|
|
'shadowExpire', |
175
|
|
|
|
|
|
|
'shadowFlag', |
176
|
|
|
|
|
|
|
'shadowInactive', |
177
|
|
|
|
|
|
|
'shadowLastChange', |
178
|
|
|
|
|
|
|
'shadowMax', |
179
|
|
|
|
|
|
|
'shadowMin', |
180
|
|
|
|
|
|
|
'shadowWarning', |
181
|
|
|
|
|
|
|
'singleLevelQuality', |
182
|
|
|
|
|
|
|
'sn', |
183
|
|
|
|
|
|
|
'st', |
184
|
|
|
|
|
|
|
'stateOrProvinceName', |
185
|
|
|
|
|
|
|
'street', |
186
|
|
|
|
|
|
|
'streetAddress', |
187
|
|
|
|
|
|
|
'subtreeMaximumQuality', |
188
|
|
|
|
|
|
|
'subtreeMinimumQuality', |
189
|
|
|
|
|
|
|
'supportedAlgorithms', |
190
|
|
|
|
|
|
|
'supportedApplicationContext', |
191
|
|
|
|
|
|
|
'surname', |
192
|
|
|
|
|
|
|
'telephoneNumber', |
193
|
|
|
|
|
|
|
'teletexTerminalIdentifier', |
194
|
|
|
|
|
|
|
'telexNumber', |
195
|
|
|
|
|
|
|
'textEncodedORAddress', |
196
|
|
|
|
|
|
|
'title', |
197
|
|
|
|
|
|
|
'uid', |
198
|
|
|
|
|
|
|
'uidNumber', |
199
|
|
|
|
|
|
|
'uniqueIdentifier', |
200
|
|
|
|
|
|
|
'uniqueMember', |
201
|
|
|
|
|
|
|
'userCertificate', |
202
|
|
|
|
|
|
|
'userClass', |
203
|
|
|
|
|
|
|
'userPassword', |
204
|
|
|
|
|
|
|
'userid', |
205
|
|
|
|
|
|
|
'workUrl', |
206
|
|
|
|
|
|
|
'x121Address', |
207
|
|
|
|
|
|
|
'x500UniqueIdentifier', |
208
|
|
|
|
|
|
|
'xmozillaNickname', |
209
|
|
|
|
|
|
|
'xmozillaUseHtmlMail', |
210
|
|
|
|
|
|
|
'xmozillanickname', |
211
|
|
|
|
|
|
|
'xmozillausehtmlmail', |
212
|
|
|
|
|
|
|
); |
213
|
1
|
|
|
|
|
5
|
$self->listAdd('objectclasses', |
214
|
|
|
|
|
|
|
'RFC822localPart', |
215
|
|
|
|
|
|
|
'SUP', |
216
|
|
|
|
|
|
|
'account', |
217
|
|
|
|
|
|
|
'alias', |
218
|
|
|
|
|
|
|
'applicationEntity', |
219
|
|
|
|
|
|
|
'applicationProcess', |
220
|
|
|
|
|
|
|
'bootableDevice', |
221
|
|
|
|
|
|
|
'cRLDistributionPoint', |
222
|
|
|
|
|
|
|
'certificationAuthority', |
223
|
|
|
|
|
|
|
'certificationAuthority-V2', |
224
|
|
|
|
|
|
|
'corbaObject', |
225
|
|
|
|
|
|
|
'corbaObjectReference', |
226
|
|
|
|
|
|
|
'country', |
227
|
|
|
|
|
|
|
'dNSDomain', |
228
|
|
|
|
|
|
|
'dSA', |
229
|
|
|
|
|
|
|
'dcObject', |
230
|
|
|
|
|
|
|
'deltaCRL', |
231
|
|
|
|
|
|
|
'device', |
232
|
|
|
|
|
|
|
'dmd', |
233
|
|
|
|
|
|
|
'document', |
234
|
|
|
|
|
|
|
'documentSeries', |
235
|
|
|
|
|
|
|
'domain', |
236
|
|
|
|
|
|
|
'domainRelatedObject', |
237
|
|
|
|
|
|
|
'friendlyCountry', |
238
|
|
|
|
|
|
|
'groupOfNames', |
239
|
|
|
|
|
|
|
'groupOfUniqueNames', |
240
|
|
|
|
|
|
|
'ieee802Device', |
241
|
|
|
|
|
|
|
'inetOrgPerson', |
242
|
|
|
|
|
|
|
'ipHost', |
243
|
|
|
|
|
|
|
'ipNetwork', |
244
|
|
|
|
|
|
|
'ipProtocol', |
245
|
|
|
|
|
|
|
'ipService', |
246
|
|
|
|
|
|
|
'javaClassName', |
247
|
|
|
|
|
|
|
'javaMarshalledObject', |
248
|
|
|
|
|
|
|
'javaNamingReference', |
249
|
|
|
|
|
|
|
'javaObject', |
250
|
|
|
|
|
|
|
'javaSerializedObject', |
251
|
|
|
|
|
|
|
'labeledURIObject', |
252
|
|
|
|
|
|
|
'locality', |
253
|
|
|
|
|
|
|
'mozillaAbPersonObsolete', |
254
|
|
|
|
|
|
|
'nisMap', |
255
|
|
|
|
|
|
|
'nisNetgroup', |
256
|
|
|
|
|
|
|
'nisObject', |
257
|
|
|
|
|
|
|
'officePerson', |
258
|
|
|
|
|
|
|
'oncRpc', |
259
|
|
|
|
|
|
|
'organization', |
260
|
|
|
|
|
|
|
'organizationalPerson', |
261
|
|
|
|
|
|
|
'organizationalRole', |
262
|
|
|
|
|
|
|
'organizationalUnit', |
263
|
|
|
|
|
|
|
'pager', |
264
|
|
|
|
|
|
|
'pagerTelephoneNumber', |
265
|
|
|
|
|
|
|
'person', |
266
|
|
|
|
|
|
|
'pilotDSA', |
267
|
|
|
|
|
|
|
'pilotObject', |
268
|
|
|
|
|
|
|
'pilotOrganization', |
269
|
|
|
|
|
|
|
'pkiCA', |
270
|
|
|
|
|
|
|
'pkiUser', |
271
|
|
|
|
|
|
|
'posixAccount', |
272
|
|
|
|
|
|
|
'posixGroup', |
273
|
|
|
|
|
|
|
'qualityLabelledData', |
274
|
|
|
|
|
|
|
'residentialPerson', |
275
|
|
|
|
|
|
|
'rid', |
276
|
|
|
|
|
|
|
'room', |
277
|
|
|
|
|
|
|
'sambaAccount', |
278
|
|
|
|
|
|
|
'shadowAccount', |
279
|
|
|
|
|
|
|
'simpleSecurityObject', |
280
|
|
|
|
|
|
|
'strongAuthenticationUser', |
281
|
|
|
|
|
|
|
'telephoneNumber', |
282
|
|
|
|
|
|
|
'top', |
283
|
|
|
|
|
|
|
'uid', |
284
|
|
|
|
|
|
|
'uidNumber', |
285
|
|
|
|
|
|
|
'uidObject', |
286
|
|
|
|
|
|
|
'userSecurityInformation', |
287
|
|
|
|
|
|
|
'userid', |
288
|
|
|
|
|
|
|
'xmozillaanyphone', |
289
|
|
|
|
|
|
|
'zillaPerson', |
290
|
|
|
|
|
|
|
); |
291
|
1
|
|
|
|
|
11
|
$self->contextdata({ |
292
|
|
|
|
|
|
|
'ctxEncoded' => { |
293
|
|
|
|
|
|
|
callback => \&parsectxEncoded, |
294
|
|
|
|
|
|
|
attribute => 'Value (Encoded)', |
295
|
|
|
|
|
|
|
}, |
296
|
|
|
|
|
|
|
'ctxEncrypted' => { |
297
|
|
|
|
|
|
|
callback => \&parsectxEncrypted, |
298
|
|
|
|
|
|
|
attribute => 'Value (Encrypted)', |
299
|
|
|
|
|
|
|
}, |
300
|
|
|
|
|
|
|
'ctxStandard' => { |
301
|
|
|
|
|
|
|
callback => \&parsectxStandard, |
302
|
|
|
|
|
|
|
attribute => 'Value (Standard)', |
303
|
|
|
|
|
|
|
}, |
304
|
|
|
|
|
|
|
'ctxStart' => { |
305
|
|
|
|
|
|
|
callback => \&parsectxStart, |
306
|
|
|
|
|
|
|
attribute => 'Value (Standard)', |
307
|
|
|
|
|
|
|
}, |
308
|
|
|
|
|
|
|
'ctxURL' => { |
309
|
|
|
|
|
|
|
callback => \&parsectxURL, |
310
|
|
|
|
|
|
|
attribute => 'Value (URL)', |
311
|
|
|
|
|
|
|
}, |
312
|
|
|
|
|
|
|
}); |
313
|
1
|
|
|
|
|
5
|
$self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\'); |
314
|
1
|
|
|
|
|
3
|
$self->basecontext('ctxStart'); |
315
|
1
|
|
|
|
|
4
|
$self->keywordscase(1); |
316
|
1
|
|
|
|
|
13
|
$self->initialize; |
317
|
1
|
|
|
|
|
2
|
bless ($self, $class); |
318
|
1
|
|
|
|
|
3
|
return $self; |
319
|
|
|
|
|
|
|
} |
320
|
|
|
|
|
|
|
|
321
|
|
|
|
|
|
|
sub language { |
322
|
0
|
|
|
0
|
0
|
|
return 'LDIF'; |
323
|
|
|
|
|
|
|
} |
324
|
|
|
|
|
|
|
|
325
|
|
|
|
|
|
|
sub parsectxEncoded { |
326
|
0
|
|
|
0
|
0
|
|
my ($self, $text) = @_; |
327
|
|
|
|
|
|
|
# String => '#.*$' |
328
|
|
|
|
|
|
|
# attribute => 'Comment' |
329
|
|
|
|
|
|
|
# context => '#stay' |
330
|
|
|
|
|
|
|
# type => 'RegExpr' |
331
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '#.*$', 0, 0, 0, undef, 0, '#stay', 'Comment')) { |
332
|
0
|
|
|
|
|
|
return 1 |
333
|
|
|
|
|
|
|
} |
334
|
|
|
|
|
|
|
# String => '\s.*$' |
335
|
|
|
|
|
|
|
# attribute => 'Value (Encoded)' |
336
|
|
|
|
|
|
|
# context => '#stay' |
337
|
|
|
|
|
|
|
# type => 'RegExpr' |
338
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '\\s.*$', 0, 0, 0, undef, 0, '#stay', 'Value (Encoded)')) { |
339
|
0
|
|
|
|
|
|
return 1 |
340
|
|
|
|
|
|
|
} |
341
|
|
|
|
|
|
|
# String => '[\w\-]+((;[\w\-]+)+)?:' |
342
|
|
|
|
|
|
|
# attribute => 'Description Keyword' |
343
|
|
|
|
|
|
|
# column => '0' |
344
|
|
|
|
|
|
|
# context => '#pop' |
345
|
|
|
|
|
|
|
# type => 'RegExpr' |
346
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '[\\w\\-]+((;[\\w\\-]+)+)?:', 0, 0, 0, 0, 0, '#pop', 'Description Keyword')) { |
347
|
0
|
|
|
|
|
|
return 1 |
348
|
|
|
|
|
|
|
} |
349
|
0
|
|
|
|
|
|
return 0; |
350
|
|
|
|
|
|
|
}; |
351
|
|
|
|
|
|
|
|
352
|
|
|
|
|
|
|
sub parsectxEncrypted { |
353
|
0
|
|
|
0
|
0
|
|
my ($self, $text) = @_; |
354
|
|
|
|
|
|
|
# String => '#.*$' |
355
|
|
|
|
|
|
|
# attribute => 'Comment' |
356
|
|
|
|
|
|
|
# context => '#stay' |
357
|
|
|
|
|
|
|
# type => 'RegExpr' |
358
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '#.*$', 0, 0, 0, undef, 0, '#stay', 'Comment')) { |
359
|
0
|
|
|
|
|
|
return 1 |
360
|
|
|
|
|
|
|
} |
361
|
|
|
|
|
|
|
# String => '\s.*$' |
362
|
|
|
|
|
|
|
# attribute => 'Value (Encrypted)' |
363
|
|
|
|
|
|
|
# context => '#stay' |
364
|
|
|
|
|
|
|
# type => 'RegExpr' |
365
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '\\s.*$', 0, 0, 0, undef, 0, '#stay', 'Value (Encrypted)')) { |
366
|
0
|
|
|
|
|
|
return 1 |
367
|
|
|
|
|
|
|
} |
368
|
|
|
|
|
|
|
# String => '[\w\-]+((;[\w\-]+)+)?:' |
369
|
|
|
|
|
|
|
# attribute => 'Description Keyword' |
370
|
|
|
|
|
|
|
# column => '0' |
371
|
|
|
|
|
|
|
# context => '#pop#pop' |
372
|
|
|
|
|
|
|
# type => 'RegExpr' |
373
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '[\\w\\-]+((;[\\w\\-]+)+)?:', 0, 0, 0, 0, 0, '#pop#pop', 'Description Keyword')) { |
374
|
0
|
|
|
|
|
|
return 1 |
375
|
|
|
|
|
|
|
} |
376
|
0
|
|
|
|
|
|
return 0; |
377
|
|
|
|
|
|
|
}; |
378
|
|
|
|
|
|
|
|
379
|
|
|
|
|
|
|
sub parsectxStandard { |
380
|
0
|
|
|
0
|
0
|
|
my ($self, $text) = @_; |
381
|
|
|
|
|
|
|
# String => '#.*$' |
382
|
|
|
|
|
|
|
# attribute => 'Comment' |
383
|
|
|
|
|
|
|
# context => '#stay' |
384
|
|
|
|
|
|
|
# type => 'RegExpr' |
385
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '#.*$', 0, 0, 0, undef, 0, '#stay', 'Comment')) { |
386
|
0
|
|
|
|
|
|
return 1 |
387
|
|
|
|
|
|
|
} |
388
|
|
|
|
|
|
|
# String => '\{\w+\}.*$' |
389
|
|
|
|
|
|
|
# attribute => 'Value (Encrypted)' |
390
|
|
|
|
|
|
|
# context => 'ctxEncrypted' |
391
|
|
|
|
|
|
|
# type => 'RegExpr' |
392
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '\\{\\w+\\}.*$', 0, 0, 0, undef, 0, 'ctxEncrypted', 'Value (Encrypted)')) { |
393
|
0
|
|
|
|
|
|
return 1 |
394
|
|
|
|
|
|
|
} |
395
|
|
|
|
|
|
|
# String => 'attributetypes' |
396
|
|
|
|
|
|
|
# attribute => 'AttributeType' |
397
|
|
|
|
|
|
|
# context => '#stay' |
398
|
|
|
|
|
|
|
# type => 'keyword' |
399
|
0
|
0
|
|
|
|
|
if ($self->testKeyword($text, 'attributetypes', 0, undef, 0, '#stay', 'AttributeType')) { |
400
|
0
|
|
|
|
|
|
return 1 |
401
|
|
|
|
|
|
|
} |
402
|
|
|
|
|
|
|
# String => 'objectclasses' |
403
|
|
|
|
|
|
|
# attribute => 'ObjectClass' |
404
|
|
|
|
|
|
|
# context => '#stay' |
405
|
|
|
|
|
|
|
# type => 'keyword' |
406
|
0
|
0
|
|
|
|
|
if ($self->testKeyword($text, 'objectclasses', 0, undef, 0, '#stay', 'ObjectClass')) { |
407
|
0
|
|
|
|
|
|
return 1 |
408
|
|
|
|
|
|
|
} |
409
|
|
|
|
|
|
|
# String => '[\w\-]+((;[\w\-]+)+)?:' |
410
|
|
|
|
|
|
|
# attribute => 'Description Keyword' |
411
|
|
|
|
|
|
|
# column => '0' |
412
|
|
|
|
|
|
|
# context => '#pop' |
413
|
|
|
|
|
|
|
# type => 'RegExpr' |
414
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '[\\w\\-]+((;[\\w\\-]+)+)?:', 0, 0, 0, 0, 0, '#pop', 'Description Keyword')) { |
415
|
0
|
|
|
|
|
|
return 1 |
416
|
|
|
|
|
|
|
} |
417
|
|
|
|
|
|
|
# String => '[a-zA-Z0-9\-]+=' |
418
|
|
|
|
|
|
|
# attribute => 'Value (Keyword)' |
419
|
|
|
|
|
|
|
# context => '#stay' |
420
|
|
|
|
|
|
|
# type => 'RegExpr' |
421
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '[a-zA-Z0-9\\-]+=', 0, 0, 0, undef, 0, '#stay', 'Value (Keyword)')) { |
422
|
0
|
|
|
|
|
|
return 1 |
423
|
|
|
|
|
|
|
} |
424
|
0
|
|
|
|
|
|
return 0; |
425
|
|
|
|
|
|
|
}; |
426
|
|
|
|
|
|
|
|
427
|
|
|
|
|
|
|
sub parsectxStart { |
428
|
0
|
|
|
0
|
0
|
|
my ($self, $text) = @_; |
429
|
|
|
|
|
|
|
# String => '#.*$' |
430
|
|
|
|
|
|
|
# attribute => 'Comment' |
431
|
|
|
|
|
|
|
# context => '#stay' |
432
|
|
|
|
|
|
|
# type => 'RegExpr' |
433
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '#.*$', 0, 0, 0, undef, 0, '#stay', 'Comment')) { |
434
|
0
|
|
|
|
|
|
return 1 |
435
|
|
|
|
|
|
|
} |
436
|
|
|
|
|
|
|
# attribute => 'Description Keyword' |
437
|
|
|
|
|
|
|
# char => ':' |
438
|
|
|
|
|
|
|
# context => 'ctxEncoded' |
439
|
|
|
|
|
|
|
# type => 'DetectChar' |
440
|
0
|
0
|
|
|
|
|
if ($self->testDetectChar($text, ':', 0, 0, 0, undef, 0, 'ctxEncoded', 'Description Keyword')) { |
441
|
0
|
|
|
|
|
|
return 1 |
442
|
|
|
|
|
|
|
} |
443
|
|
|
|
|
|
|
# attribute => 'Description Keyword' |
444
|
|
|
|
|
|
|
# char => '<' |
445
|
|
|
|
|
|
|
# context => 'ctxURL' |
446
|
|
|
|
|
|
|
# type => 'DetectChar' |
447
|
0
|
0
|
|
|
|
|
if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, 'ctxURL', 'Description Keyword')) { |
448
|
0
|
|
|
|
|
|
return 1 |
449
|
|
|
|
|
|
|
} |
450
|
|
|
|
|
|
|
# String => '[^:<]' |
451
|
|
|
|
|
|
|
# attribute => 'Value (Standard)' |
452
|
|
|
|
|
|
|
# context => 'ctxStandard' |
453
|
|
|
|
|
|
|
# type => 'RegExpr' |
454
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '[^:<]', 0, 0, 0, undef, 0, 'ctxStandard', 'Value (Standard)')) { |
455
|
0
|
|
|
|
|
|
return 1 |
456
|
|
|
|
|
|
|
} |
457
|
|
|
|
|
|
|
# String => '[\w\-]+((;[\w\-]+)+)?:' |
458
|
|
|
|
|
|
|
# attribute => 'Description Keyword' |
459
|
|
|
|
|
|
|
# column => '0' |
460
|
|
|
|
|
|
|
# context => '#stay' |
461
|
|
|
|
|
|
|
# type => 'RegExpr' |
462
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '[\\w\\-]+((;[\\w\\-]+)+)?:', 0, 0, 0, 0, 0, '#stay', 'Description Keyword')) { |
463
|
0
|
|
|
|
|
|
return 1 |
464
|
|
|
|
|
|
|
} |
465
|
0
|
|
|
|
|
|
return 0; |
466
|
|
|
|
|
|
|
}; |
467
|
|
|
|
|
|
|
|
468
|
|
|
|
|
|
|
sub parsectxURL { |
469
|
0
|
|
|
0
|
0
|
|
my ($self, $text) = @_; |
470
|
|
|
|
|
|
|
# String => '#.*$' |
471
|
|
|
|
|
|
|
# attribute => 'Comment' |
472
|
|
|
|
|
|
|
# context => '#stay' |
473
|
|
|
|
|
|
|
# type => 'RegExpr' |
474
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '#.*$', 0, 0, 0, undef, 0, '#stay', 'Comment')) { |
475
|
0
|
|
|
|
|
|
return 1 |
476
|
|
|
|
|
|
|
} |
477
|
|
|
|
|
|
|
# String => '\s+[\w]+://[\w/.]+' |
478
|
|
|
|
|
|
|
# attribute => 'Value (URL)' |
479
|
|
|
|
|
|
|
# context => '#stay' |
480
|
|
|
|
|
|
|
# type => 'RegExpr' |
481
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '\\s+[\\w]+://[\\w/.]+', 0, 0, 0, undef, 0, '#stay', 'Value (URL)')) { |
482
|
0
|
|
|
|
|
|
return 1 |
483
|
|
|
|
|
|
|
} |
484
|
|
|
|
|
|
|
# String => '\s.*$' |
485
|
|
|
|
|
|
|
# attribute => 'Value (URL)' |
486
|
|
|
|
|
|
|
# context => '#stay' |
487
|
|
|
|
|
|
|
# type => 'RegExpr' |
488
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '\\s.*$', 0, 0, 0, undef, 0, '#stay', 'Value (URL)')) { |
489
|
0
|
|
|
|
|
|
return 1 |
490
|
|
|
|
|
|
|
} |
491
|
|
|
|
|
|
|
# String => '[\w\-]+((;[\w\-]+)+)?:' |
492
|
|
|
|
|
|
|
# attribute => 'Description Keyword' |
493
|
|
|
|
|
|
|
# column => '0' |
494
|
|
|
|
|
|
|
# context => '#pop' |
495
|
|
|
|
|
|
|
# type => 'RegExpr' |
496
|
0
|
0
|
|
|
|
|
if ($self->testRegExpr($text, '[\\w\\-]+((;[\\w\\-]+)+)?:', 0, 0, 0, 0, 0, '#pop', 'Description Keyword')) { |
497
|
0
|
|
|
|
|
|
return 1 |
498
|
|
|
|
|
|
|
} |
499
|
0
|
|
|
|
|
|
return 0; |
500
|
|
|
|
|
|
|
}; |
501
|
|
|
|
|
|
|
|
502
|
|
|
|
|
|
|
|
503
|
|
|
|
|
|
|
1; |
504
|
|
|
|
|
|
|
|
505
|
|
|
|
|
|
|
__END__ |