aboutsummaryrefslogtreecommitdiff
path: root/imports/codemirror/mode/perl
diff options
context:
space:
mode:
authorArmen Kesablyan2012-02-22 16:26:41 -0800
committerArmen Kesablyan2012-02-22 16:26:41 -0800
commit0bd1cefea2ab350fad1a891bdc926053b799aafc (patch)
tree962f559fcc02a3dfeb297d59907e40fa153453f3 /imports/codemirror/mode/perl
parent695bc5082f48dddf66ce31480a4faefc067b38bd (diff)
parent2d2b1af8b5c0d506fe6a1cf65614101fec145970 (diff)
downloadninja-0bd1cefea2ab350fad1a891bdc926053b799aafc.tar.gz
Merge branch 'refs/heads/master' into new-tool-icons
Diffstat (limited to 'imports/codemirror/mode/perl')
-rwxr-xr-ximports/codemirror/mode/perl/LICENSE19
-rwxr-xr-ximports/codemirror/mode/perl/index.html62
-rwxr-xr-ximports/codemirror/mode/perl/perl.js816
3 files changed, 897 insertions, 0 deletions
diff --git a/imports/codemirror/mode/perl/LICENSE b/imports/codemirror/mode/perl/LICENSE
new file mode 100755
index 00000000..96f4115a
--- /dev/null
+++ b/imports/codemirror/mode/perl/LICENSE
@@ -0,0 +1,19 @@
1Copyright (C) 2011 by Sabaca <mail@sabaca.com> under the MIT license.
2
3Permission is hereby granted, free of charge, to any person obtaining a copy
4of this software and associated documentation files (the "Software"), to deal
5in the Software without restriction, including without limitation the rights
6to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7copies of the Software, and to permit persons to whom the Software is
8furnished to do so, subject to the following conditions:
9
10The above copyright notice and this permission notice shall be included in
11all copies or substantial portions of the Software.
12
13THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19THE SOFTWARE.
diff --git a/imports/codemirror/mode/perl/index.html b/imports/codemirror/mode/perl/index.html
new file mode 100755
index 00000000..5ef55d32
--- /dev/null
+++ b/imports/codemirror/mode/perl/index.html
@@ -0,0 +1,62 @@
1<!doctype html>
2<html>
3 <head>
4 <title>CodeMirror: Perl mode</title>
5 <link rel="stylesheet" href="../../lib/codemirror.css">
6 <script src="../../lib/codemirror.js"></script>
7 <script src="perl.js"></script>
8 <link rel="stylesheet" href="../../doc/docs.css">
9 <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
10 </head>
11 <body>
12 <h1>CodeMirror: Perl mode</h1>
13
14<div><textarea id="code" name="code">
15#!/usr/bin/perl
16
17use Something qw(func1 func2);
18
19# strings
20my $s1 = qq'single line';
21our $s2 = q(multi-
22 line);
23
24=item Something
25 Example.
26=cut
27
28my $html=<<'HTML'
29<html>
30<title>hi!</title>
31</html>
32HTML
33
34print "first,".join(',', 'second', qq~third~);
35
36if($s1 =~ m[(?<!\s)(l.ne)\z]o) {
37 $h->{$1}=$$.' predefined variables';
38 $s2 =~ s/\-line//ox;
39 $s1 =~ s[
40 line ]
41 [
42 block
43 ]ox;
44}
45
461; # numbers and comments
47
48__END__
49something...
50
51</textarea></div>
52
53 <script>
54 var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
55 lineNumbers: true,
56 matchBrackets: true
57 });
58 </script>
59
60 <p><strong>MIME types defined:</strong> <code>text/x-perl</code>.</p>
61 </body>
62</html>
diff --git a/imports/codemirror/mode/perl/perl.js b/imports/codemirror/mode/perl/perl.js
new file mode 100755
index 00000000..e2e1cbef
--- /dev/null
+++ b/imports/codemirror/mode/perl/perl.js
@@ -0,0 +1,816 @@
1// CodeMirror2 mode/perl/perl.js (text/x-perl) beta 0.10 (2011-11-08)
2// This is a part of CodeMirror from https://github.com/sabaca/CodeMirror_mode_perl (mail@sabaca.com)
3CodeMirror.defineMode("perl",function(config,parserConfig){
4 // http://perldoc.perl.org
5 var PERL={ // null - magic touch
6 // 1 - keyword
7 // 2 - def
8 // 3 - atom
9 // 4 - operator
10 // 5 - variable-2 (predefined)
11 // [x,y] - x=1,2,3; y=must be defined if x{...}
12 // PERL operators
13 '->' : 4,
14 '++' : 4,
15 '--' : 4,
16 '**' : 4,
17 // ! ~ \ and unary + and -
18 '=~' : 4,
19 '!~' : 4,
20 '*' : 4,
21 '/' : 4,
22 '%' : 4,
23 'x' : 4,
24 '+' : 4,
25 '-' : 4,
26 '.' : 4,
27 '<<' : 4,
28 '>>' : 4,
29 // named unary operators
30 '<' : 4,
31 '>' : 4,
32 '<=' : 4,
33 '>=' : 4,
34 'lt' : 4,
35 'gt' : 4,
36 'le' : 4,
37 'ge' : 4,
38 '==' : 4,
39 '!=' : 4,
40 '<=>' : 4,
41 'eq' : 4,
42 'ne' : 4,
43 'cmp' : 4,
44 '~~' : 4,
45 '&' : 4,
46 '|' : 4,
47 '^' : 4,
48 '&&' : 4,
49 '||' : 4,
50 '//' : 4,
51 '..' : 4,
52 '...' : 4,
53 '?' : 4,
54 ':' : 4,
55 '=' : 4,
56 '+=' : 4,
57 '-=' : 4,
58 '*=' : 4, // etc. ???
59 ',' : 4,
60 '=>' : 4,
61 '::' : 4,
62 // list operators (rightward)
63 'not' : 4,
64 'and' : 4,
65 'or' : 4,
66 'xor' : 4,
67 // PERL predefined variables (I know, what this is a paranoid idea, but may be needed for people, who learn PERL, and for me as well, ...and may be for you?;)
68 'BEGIN' : [5,1],
69 'END' : [5,1],
70 'PRINT' : [5,1],
71 'PRINTF' : [5,1],
72 'GETC' : [5,1],
73 'READ' : [5,1],
74 'READLINE' : [5,1],
75 'DESTROY' : [5,1],
76 'TIE' : [5,1],
77 'TIEHANDLE' : [5,1],
78 'UNTIE' : [5,1],
79 'STDIN' : 5,
80 'STDIN_TOP' : 5,
81 'STDOUT' : 5,
82 'STDOUT_TOP' : 5,
83 'STDERR' : 5,
84 'STDERR_TOP' : 5,
85 '$ARG' : 5,
86 '$_' : 5,
87 '@ARG' : 5,
88 '@_' : 5,
89 '$LIST_SEPARATOR' : 5,
90 '$"' : 5,
91 '$PROCESS_ID' : 5,
92 '$PID' : 5,
93 '$$' : 5,
94 '$REAL_GROUP_ID' : 5,
95 '$GID' : 5,
96 '$(' : 5,
97 '$EFFECTIVE_GROUP_ID' : 5,
98 '$EGID' : 5,
99 '$)' : 5,
100 '$PROGRAM_NAME' : 5,
101 '$0' : 5,
102 '$SUBSCRIPT_SEPARATOR' : 5,
103 '$SUBSEP' : 5,
104 '$;' : 5,
105 '$REAL_USER_ID' : 5,
106 '$UID' : 5,
107 '$<' : 5,
108 '$EFFECTIVE_USER_ID' : 5,
109 '$EUID' : 5,
110 '$>' : 5,
111 '$a' : 5,
112 '$b' : 5,
113 '$COMPILING' : 5,
114 '$^C' : 5,
115 '$DEBUGGING' : 5,
116 '$^D' : 5,
117 '${^ENCODING}' : 5,
118 '$ENV' : 5,
119 '%ENV' : 5,
120 '$SYSTEM_FD_MAX' : 5,
121 '$^F' : 5,
122 '@F' : 5,
123 '${^GLOBAL_PHASE}' : 5,
124 '$^H' : 5,
125 '%^H' : 5,
126 '@INC' : 5,