annotate .cms/lib/codemirror/mode/d/index.html @ 1:1d486627aa1e draft default tip

24.10
author Coffee CMS <info@coffee-cms.ru>
date Sat, 12 Oct 2024 02:51:39 +0000
parents 78edf6b517a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
1 <!doctype html>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
2
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
3 <title>CodeMirror: D mode</title>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
4 <meta charset="utf-8"/>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
5 <link rel=stylesheet href="../../doc/docs.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
6
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
7 <link rel="stylesheet" href="../../lib/codemirror.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
8 <script src="../../lib/codemirror.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
9 <script src="../../addon/edit/matchbrackets.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
10 <script src="d.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
11 <style>.CodeMirror {border: 2px inset #dee;}</style>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
12 <div id=nav>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
13 <a href="https://codemirror.net/5"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
14
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
15 <ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
16 <li><a href="../../index.html">Home</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
17 <li><a href="../../doc/manual.html">Manual</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
18 <li><a href="https://github.com/codemirror/codemirror5">Code</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
19 </ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
20 <ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
21 <li><a href="../index.html">Language modes</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
22 <li><a class=active href="#">D</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
23 </ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
24 </div>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
25
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
26 <article>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
27 <h2>D mode</h2>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
28 <form><textarea id="code" name="code">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
29 /* D demo code // copied from phobos/sd/metastrings.d */
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
30 // Written in the D programming language.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
31
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
32 /**
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
33 Templates with which to do compile-time manipulation of strings.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
34
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
35 Macros:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
36 WIKI = Phobos/StdMetastrings
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
37
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
38 Copyright: Copyright Digital Mars 2007 - 2009.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
39 License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
40 Authors: $(WEB digitalmars.com, Walter Bright),
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
41 Don Clugston
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
42 Source: $(PHOBOSSRC std/_metastrings.d)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
43 */
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
44 /*
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
45 Copyright Digital Mars 2007 - 2009.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
46 Distributed under the Boost Software License, Version 1.0.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
47 (See accompanying file LICENSE_1_0.txt or copy at
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
48 http://www.boost.org/LICENSE_1_0.txt)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
49 */
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
50 module std.metastrings;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
51
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
52 /**
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
53 Formats constants into a string at compile time. Analogous to $(XREF
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
54 string,format).
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
55
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
56 Parameters:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
57
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
58 A = tuple of constants, which can be strings, characters, or integral
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
59 values.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
60
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
61 Formats:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
62 * The formats supported are %s for strings, and %%
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
63 * for the % character.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
64 Example:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
65 ---
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
66 import std.metastrings;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
67 import std.stdio;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
68
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
69 void main()
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
70 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
71 string s = Format!("Arg %s = %s", "foo", 27);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
72 writefln(s); // "Arg foo = 27"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
73 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
74 * ---
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
75 */
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
76
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
77 template Format(A...)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
78 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
79 static if (A.length == 0)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
80 enum Format = "";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
81 else static if (is(typeof(A[0]) : const(char)[]))
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
82 enum Format = FormatString!(A[0], A[1..$]);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
83 else
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
84 enum Format = toStringNow!(A[0]) ~ Format!(A[1..$]);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
85 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
86
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
87 template FormatString(const(char)[] F, A...)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
88 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
89 static if (F.length == 0)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
90 enum FormatString = Format!(A);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
91 else static if (F.length == 1)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
92 enum FormatString = F[0] ~ Format!(A);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
93 else static if (F[0..2] == "%s")
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
94 enum FormatString
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
95 = toStringNow!(A[0]) ~ FormatString!(F[2..$],A[1..$]);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
96 else static if (F[0..2] == "%%")
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
97 enum FormatString = "%" ~ FormatString!(F[2..$],A);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
98 else
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
99 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
100 static assert(F[0] != '%', "unrecognized format %" ~ F[1]);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
101 enum FormatString = F[0] ~ FormatString!(F[1..$],A);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
102 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
103 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
104
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
105 unittest
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
106 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
107 auto s = Format!("hel%slo", "world", -138, 'c', true);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
108 assert(s == "helworldlo-138ctrue", "[" ~ s ~ "]");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
109 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
110
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
111 /**
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
112 * Convert constant argument to a string.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
113 */
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
114
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
115 template toStringNow(ulong v)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
116 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
117 static if (v < 10)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
118 enum toStringNow = "" ~ cast(char)(v + '0');
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
119 else
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
120 enum toStringNow = toStringNow!(v / 10) ~ toStringNow!(v % 10);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
121 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
122
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
123 unittest
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
124 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
125 static assert(toStringNow!(1uL << 62) == "4611686018427387904");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
126 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
127
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
128 /// ditto
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
129 template toStringNow(long v)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
130 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
131 static if (v < 0)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
132 enum toStringNow = "-" ~ toStringNow!(cast(ulong) -v);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
133 else
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
134 enum toStringNow = toStringNow!(cast(ulong) v);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
135 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
136
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
137 unittest
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
138 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
139 static assert(toStringNow!(0x100000000) == "4294967296");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
140 static assert(toStringNow!(-138L) == "-138");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
141 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
142
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
143 /// ditto
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
144 template toStringNow(uint U)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
145 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
146 enum toStringNow = toStringNow!(cast(ulong)U);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
147 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
148
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
149 /// ditto
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
150 template toStringNow(int I)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
151 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
152 enum toStringNow = toStringNow!(cast(long)I);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
153 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
154
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
155 /// ditto
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
156 template toStringNow(bool B)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
157 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
158 enum toStringNow = B ? "true" : "false";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
159 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
160
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
161 /// ditto
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
162 template toStringNow(string S)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
163 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
164 enum toStringNow = S;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
165 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
166
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
167 /// ditto
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
168 template toStringNow(char C)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
169 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
170 enum toStringNow = "" ~ C;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
171 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
172
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
173
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
174 /********
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
175 * Parse unsigned integer literal from the start of string s.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
176 * returns:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
177 * .value = the integer literal as a string,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
178 * .rest = the string following the integer literal
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
179 * Otherwise:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
180 * .value = null,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
181 * .rest = s
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
182 */
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
183
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
184 template parseUinteger(const(char)[] s)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
185 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
186 static if (s.length == 0)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
187 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
188 enum value = "";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
189 enum rest = "";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
190 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
191 else static if (s[0] >= '0' && s[0] <= '9')
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
192 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
193 enum value = s[0] ~ parseUinteger!(s[1..$]).value;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
194 enum rest = parseUinteger!(s[1..$]).rest;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
195 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
196 else
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
197 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
198 enum value = "";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
199 enum rest = s;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
200 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
201 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
202
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
203 /********
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
204 Parse integer literal optionally preceded by $(D '-') from the start
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
205 of string $(D s).
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
206
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
207 Returns:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
208 .value = the integer literal as a string,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
209 .rest = the string following the integer literal
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
210
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
211 Otherwise:
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
212 .value = null,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
213 .rest = s
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
214 */
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
215
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
216 template parseInteger(const(char)[] s)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
217 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
218 static if (s.length == 0)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
219 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
220 enum value = "";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
221 enum rest = "";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
222 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
223 else static if (s[0] >= '0' && s[0] <= '9')
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
224 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
225 enum value = s[0] ~ parseUinteger!(s[1..$]).value;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
226 enum rest = parseUinteger!(s[1..$]).rest;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
227 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
228 else static if (s.length >= 2 &&
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
229 s[0] == '-' && s[1] >= '0' && s[1] <= '9')
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
230 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
231 enum value = s[0..2] ~ parseUinteger!(s[2..$]).value;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
232 enum rest = parseUinteger!(s[2..$]).rest;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
233 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
234 else
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
235 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
236 enum value = "";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
237 enum rest = s;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
238 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
239 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
240
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
241 unittest
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
242 {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
243 assert(parseUinteger!("1234abc").value == "1234");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
244 assert(parseUinteger!("1234abc").rest == "abc");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
245 assert(parseInteger!("-1234abc").value == "-1234");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
246 assert(parseInteger!("-1234abc").rest == "abc");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
247 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
248
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
249 /**
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
250 Deprecated aliases held for backward compatibility.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
251 */
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
252 deprecated alias toStringNow ToString;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
253 /// Ditto
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
254 deprecated alias parseUinteger ParseUinteger;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
255 /// Ditto
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
256 deprecated alias parseUinteger ParseInteger;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
257
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
258 </textarea></form>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
259
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
260 <script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
261 var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
262 lineNumbers: true,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
263 matchBrackets: true,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
264 indentUnit: 4,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
265 mode: "text/x-d"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
266 });
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
267 </script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
268
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
269 <p>Simple mode that handle D-Syntax (<a href="http://www.dlang.org">DLang Homepage</a>).</p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
270
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
271 <p><strong>MIME types defined:</strong> <code>text/x-d</code>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
272 .</p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
273 </article>