gitlab-pygments.rb 0.3.2 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +71 -0
- data/Gemfile +1 -1
- data/LICENSE +17 -0
- data/README.md +28 -1
- data/Rakefile +2 -5
- data/lexers +0 -0
- data/lib/pygments/mentos.py +19 -12
- data/lib/pygments/popen.rb +21 -4
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +2 -0
- data/test/test_pygments.rb +13 -2
- data/vendor/custom_lexers/github.py +206 -3
- data/vendor/pygments-main/AUTHORS +41 -3
- data/vendor/pygments-main/CHANGES +132 -5
- data/vendor/pygments-main/LICENSE +1 -1
- data/vendor/pygments-main/Makefile +1 -1
- data/vendor/pygments-main/REVISION +1 -1
- data/vendor/pygments-main/docs/generate.py +1 -1
- data/vendor/pygments-main/docs/src/api.txt +1 -1
- data/vendor/pygments-main/docs/src/index.txt +1 -1
- data/vendor/pygments-main/docs/src/integrate.txt +5 -0
- data/vendor/pygments-main/docs/src/java.txt +70 -0
- data/vendor/pygments-main/docs/src/lexerdevelopment.txt +52 -0
- data/vendor/pygments-main/external/autopygmentize +64 -0
- data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
- data/vendor/pygments-main/external/markdown-processor.py +2 -2
- data/vendor/pygments-main/external/moin-parser.py +1 -1
- data/vendor/pygments-main/external/rst-directive-old.py +1 -1
- data/vendor/pygments-main/external/rst-directive.py +1 -1
- data/vendor/pygments-main/pygmentize +1 -1
- data/vendor/pygments-main/pygments/__init__.py +2 -2
- data/vendor/pygments-main/pygments/cmdline.py +14 -6
- data/vendor/pygments-main/pygments/console.py +1 -1
- data/vendor/pygments-main/pygments/filter.py +1 -1
- data/vendor/pygments-main/pygments/filters/__init__.py +3 -4
- data/vendor/pygments-main/pygments/formatter.py +4 -1
- data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
- data/vendor/pygments-main/pygments/formatters/_mapping.py +3 -3
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/html.py +73 -2
- data/vendor/pygments-main/pygments/formatters/img.py +2 -2
- data/vendor/pygments-main/pygments/formatters/latex.py +9 -9
- data/vendor/pygments-main/pygments/formatters/other.py +1 -3
- data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
- data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
- data/vendor/pygments-main/pygments/lexer.py +78 -10
- data/vendor/pygments-main/pygments/lexers/__init__.py +13 -2
- data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
- data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mapping.py +92 -36
- data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
- data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +2 -2
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +4 -3
- data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +11 -0
- data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
- data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -3
- data/vendor/pygments-main/pygments/lexers/agile.py +525 -38
- data/vendor/pygments-main/pygments/lexers/asm.py +45 -7
- data/vendor/pygments-main/pygments/lexers/compiled.py +1257 -425
- data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +97 -62
- data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +931 -32
- data/vendor/pygments-main/pygments/lexers/github.py +206 -3
- data/vendor/pygments-main/pygments/lexers/hdl.py +3 -3
- data/vendor/pygments-main/pygments/lexers/jvm.py +309 -44
- data/vendor/pygments-main/pygments/lexers/math.py +876 -30
- data/vendor/pygments-main/pygments/lexers/other.py +956 -517
- data/vendor/pygments-main/pygments/lexers/parsers.py +85 -2
- data/vendor/pygments-main/pygments/lexers/shell.py +81 -18
- data/vendor/pygments-main/pygments/lexers/special.py +1 -1
- data/vendor/pygments-main/pygments/lexers/sql.py +2 -2
- data/vendor/pygments-main/pygments/lexers/templates.py +119 -8
- data/vendor/pygments-main/pygments/lexers/text.py +155 -15
- data/vendor/pygments-main/pygments/lexers/web.py +1578 -397
- data/vendor/pygments-main/pygments/modeline.py +40 -0
- data/vendor/pygments-main/pygments/plugin.py +1 -1
- data/vendor/pygments-main/pygments/scanner.py +1 -1
- data/vendor/pygments-main/pygments/style.py +1 -1
- data/vendor/pygments-main/pygments/styles/__init__.py +1 -1
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
- data/vendor/pygments-main/pygments/styles/borland.py +1 -1
- data/vendor/pygments-main/pygments/styles/bw.py +1 -1
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
- data/vendor/pygments-main/pygments/styles/default.py +1 -1
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
- data/vendor/pygments-main/pygments/styles/manni.py +1 -1
- data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
- data/vendor/pygments-main/pygments/styles/native.py +1 -1
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
- data/vendor/pygments-main/pygments/styles/tango.py +1 -1
- data/vendor/pygments-main/pygments/styles/trac.py +1 -1
- data/vendor/pygments-main/pygments/styles/vim.py +1 -1
- data/vendor/pygments-main/pygments/styles/vs.py +1 -1
- data/vendor/pygments-main/pygments/token.py +1 -1
- data/vendor/pygments-main/pygments/unistring.py +36 -26
- data/vendor/pygments-main/pygments/util.py +46 -1
- data/vendor/pygments-main/scripts/check_sources.py +2 -2
- data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +2 -0
- data/vendor/pygments-main/scripts/find_codetags.py +1 -1
- data/vendor/pygments-main/scripts/find_error.py +5 -6
- data/vendor/pygments-main/setup.cfg +1 -0
- data/vendor/pygments-main/setup.py +6 -4
- data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
- data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
- data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
- data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
- data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
- data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
- data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
- data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
- data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
- data/vendor/pygments-main/tests/examplefiles/classes.dylan +89 -4
- data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
- data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
- data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
- data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
- data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
- data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
- data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
- data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
- data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
- data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
- data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
- data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
- data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
- data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
- data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
- data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
- data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
- data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
- data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
- data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
- data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
- data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
- data/vendor/pygments-main/tests/examplefiles/http_request_example +2 -1
- data/vendor/pygments-main/tests/examplefiles/http_response_example +4 -2
- data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
- data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
- data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
- data/vendor/pygments-main/tests/examplefiles/matlab_sample +5 -2
- data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
- data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
- data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
- data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
- data/vendor/pygments-main/tests/examplefiles/objc_example.m +7 -0
- data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
- data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
- data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
- data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
- data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
- data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
- data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
- data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
- data/vendor/pygments-main/tests/examplefiles/test.R +149 -115
- data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
- data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
- data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
- data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
- data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
- data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
- data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
- data/vendor/pygments-main/tests/examplefiles/type.lisp +16 -0
- data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
- data/vendor/pygments-main/tests/old_run.py +1 -1
- data/vendor/pygments-main/tests/run.py +3 -2
- data/vendor/pygments-main/tests/support/tags +36 -0
- data/vendor/pygments-main/tests/test_basic_api.py +4 -3
- data/vendor/pygments-main/tests/test_clexer.py +1 -1
- data/vendor/pygments-main/tests/test_cmdline.py +1 -1
- data/vendor/pygments-main/tests/test_examplefiles.py +3 -1
- data/vendor/pygments-main/tests/test_html_formatter.py +17 -1
- data/vendor/pygments-main/tests/test_latex_formatter.py +1 -1
- data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
- data/vendor/pygments-main/tests/test_perllexer.py +1 -1
- data/vendor/pygments-main/tests/test_regexlexer.py +1 -1
- data/vendor/pygments-main/tests/test_token.py +1 -1
- data/vendor/pygments-main/tests/test_using_api.py +1 -1
- data/vendor/pygments-main/tests/test_util.py +22 -3
- metadata +84 -16
@@ -0,0 +1,142 @@
|
|
1
|
+
/**
|
2
|
+
* This is not really a valid Haxe file, but just an demo...
|
3
|
+
*/
|
4
|
+
|
5
|
+
package;
|
6
|
+
package net.onthewings;
|
7
|
+
|
8
|
+
import net.onthewings.Test;
|
9
|
+
import net.onthewings.*;
|
10
|
+
|
11
|
+
using Lambda;
|
12
|
+
using net.onthewings.Test;
|
13
|
+
|
14
|
+
#if flash8
|
15
|
+
// Haxe code specific for flash player 8
|
16
|
+
#elseif flash
|
17
|
+
// Haxe code specific for flash platform (any version)
|
18
|
+
#elseif js
|
19
|
+
// Haxe code specific for javascript plaform
|
20
|
+
#elseif neko
|
21
|
+
// Haxe code specific for neko plaform
|
22
|
+
#else
|
23
|
+
// do something else
|
24
|
+
#error // will display an error "Not implemented on this platform"
|
25
|
+
#error "Custom error message" // will display an error "Custom error message"
|
26
|
+
#end
|
27
|
+
|
28
|
+
0; // Int
|
29
|
+
-134; // Int
|
30
|
+
0xFF00; // Int
|
31
|
+
|
32
|
+
123.0; // Float
|
33
|
+
.14179; // Float
|
34
|
+
13e50; // Float
|
35
|
+
-1e-99; // Float
|
36
|
+
|
37
|
+
"hello"; // String
|
38
|
+
"hello \"world\" !"; // String
|
39
|
+
'hello "world" !'; // String
|
40
|
+
|
41
|
+
true; // Bool
|
42
|
+
false; // Bool
|
43
|
+
|
44
|
+
null; // Unknown<0>
|
45
|
+
|
46
|
+
~/[a-z]+/i; // EReg : regular expression
|
47
|
+
|
48
|
+
var point = { "x" : 1, "y" : -5 };
|
49
|
+
|
50
|
+
{
|
51
|
+
var x;
|
52
|
+
var y = 3;
|
53
|
+
var z : String;
|
54
|
+
var w : String = "";
|
55
|
+
var a, b : Bool, c : Int = 0;
|
56
|
+
}
|
57
|
+
|
58
|
+
//haxe3 pattern matching
|
59
|
+
switch(e.expr) {
|
60
|
+
case EConst(CString(s)) if (StringTools.startsWith(s, "foo")):
|
61
|
+
"1";
|
62
|
+
case EConst(CString(s)) if (StringTools.startsWith(s, "bar")):
|
63
|
+
"2";
|
64
|
+
case EConst(CInt(i)) if (switch(Std.parseInt(i) * 2) { case 4: true; case _: false; }):
|
65
|
+
"3";
|
66
|
+
case EConst(_):
|
67
|
+
"4";
|
68
|
+
case _:
|
69
|
+
"5";
|
70
|
+
}
|
71
|
+
|
72
|
+
switch [true, 1, "foo"] {
|
73
|
+
case [true, 1, "foo"]: "0";
|
74
|
+
case [true, 1, _]: "1";
|
75
|
+
case _: "_";
|
76
|
+
}
|
77
|
+
|
78
|
+
|
79
|
+
class Test <T:Void->Void> {
|
80
|
+
private function new():Void {
|
81
|
+
inline function innerFun(a:Int, b:Int):Int {
|
82
|
+
return readOnlyField = a + b;
|
83
|
+
}
|
84
|
+
|
85
|
+
_innerFun(1, 2.3);
|
86
|
+
}
|
87
|
+
|
88
|
+
static public var instance(get,null):Test;
|
89
|
+
static function get_instance():Test {
|
90
|
+
return instance != null ? instance : instance = new Test();
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
@:native("Test") private class Test2 {}
|
95
|
+
|
96
|
+
extern class Ext {}
|
97
|
+
|
98
|
+
@:macro class M {
|
99
|
+
@:macro static function test(e:Array<Expr>):ExprOf<String> {
|
100
|
+
return macro "ok";
|
101
|
+
}
|
102
|
+
}
|
103
|
+
|
104
|
+
enum Color {
|
105
|
+
Red;
|
106
|
+
Green;
|
107
|
+
Blue;
|
108
|
+
Grey( v : Int );
|
109
|
+
Rgb( r : Int, g : Int, b : Int );
|
110
|
+
Alpha( a : Int, col : Color );
|
111
|
+
}
|
112
|
+
|
113
|
+
class Colors {
|
114
|
+
static function toInt( c : Color ) : Int {
|
115
|
+
return switch( c ) {
|
116
|
+
case Red: 0xFF0000;
|
117
|
+
case Green: 0x00FF00;
|
118
|
+
case Blue: 0x0000FF;
|
119
|
+
case Grey(v): (v << 16) | (v << 8) | v;
|
120
|
+
case Rgb(r,g,b): (r << 16) | (g << 8) | b;
|
121
|
+
case Alpha(a,c): (a << 24) | (toInt(c) & 0xFFFFFF);
|
122
|
+
}
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
class EvtQueue<T : (Event, EventDispatcher)> {
|
127
|
+
var evt : T;
|
128
|
+
}
|
129
|
+
|
130
|
+
typedef DS = Dynamic<String>;
|
131
|
+
typedef Pt = {
|
132
|
+
var x:Float;
|
133
|
+
var y:Float;
|
134
|
+
@:optional var z:Float; /* optional z */
|
135
|
+
function add(pt:Pt):Void;
|
136
|
+
}
|
137
|
+
typedef Pt2 = {
|
138
|
+
x:Float,
|
139
|
+
y:Float,
|
140
|
+
?z:Float, //optional z
|
141
|
+
add : Point -> Void,
|
142
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# lsat.jags example from classic-bugs examples in JAGS
|
2
|
+
# See http://sourceforge.net/projects/mcmc-jags/files/Examples/2.x/
|
3
|
+
var
|
4
|
+
response[R,T], m[R], culm[R], alpha[T], a[T], theta[N], r[N,T],
|
5
|
+
p[N,T], beta, theta.new, p.theta[T], p.item[R,T], P.theta[R];
|
6
|
+
data {
|
7
|
+
for (j in 1:culm[1]) {
|
8
|
+
r[j, ] <- response[1, ];
|
9
|
+
}
|
10
|
+
for (i in 2:R) {
|
11
|
+
for (j in (culm[i - 1] + 1):culm[i]) {
|
12
|
+
r[j, ] <- response[i, ];
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
16
|
+
model {
|
17
|
+
# 2-parameter Rasch model
|
18
|
+
for (j in 1:N) {
|
19
|
+
for (k in 1:T) {
|
20
|
+
probit(p[j,k]) <- delta[k]*theta[j] - eta[k];
|
21
|
+
r[j,k] ~ dbern(p[j,k]);
|
22
|
+
}
|
23
|
+
theta[j] ~ dnorm(0,1);
|
24
|
+
}
|
25
|
+
|
26
|
+
# Priors
|
27
|
+
for (k in 1:T) {
|
28
|
+
eta[k] ~ dnorm(0,0.0001);
|
29
|
+
e[k] <- eta[k] - mean(eta[]); # sum-to-zero constraint
|
30
|
+
|
31
|
+
delta[k] ~ dnorm(0,1) T(0,); # constrain variance to 1, slope +ve
|
32
|
+
d[k] <- delta[k]/pow(prod(delta), 1/T); # PRODUCT_k (d_k) = 1
|
33
|
+
|
34
|
+
g[k] <- e[k]/d[k]; # equivalent to B&A's threshold parameters
|
35
|
+
}
|
36
|
+
|
37
|
+
# Compute probability of response pattern i, for later use in computing G^2
|
38
|
+
theta.new ~ dnorm(0,1); # ability parameter for random student
|
39
|
+
for(k in 1:T) {
|
40
|
+
probit(p.theta[k]) <- delta[k]*theta.new - eta[k];
|
41
|
+
for(i in 1:R) {
|
42
|
+
p.item[i,k] <- p.theta[k]^response[i,k] * (1-p.theta[k])^(1-response[i,k]);
|
43
|
+
}
|
44
|
+
}
|
45
|
+
for(i in 1:R) {
|
46
|
+
P.theta[i] <- prod(p.item[i,])
|
47
|
+
}
|
48
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
\documentclass{article}
|
2
|
+
% this is a LaTeX comment
|
3
|
+
\usepackage{agda}
|
4
|
+
|
5
|
+
\begin{document}
|
6
|
+
|
7
|
+
Here's how you can define \emph{RGB} colors in Agda:
|
8
|
+
|
9
|
+
\begin{code}
|
10
|
+
module example where
|
11
|
+
|
12
|
+
open import Data.Fin
|
13
|
+
open import Data.Nat
|
14
|
+
|
15
|
+
data Color : Set where
|
16
|
+
RGB : Fin 256 → Fin 256 → Fin 256 → Color
|
17
|
+
\end{code}
|
18
|
+
|
19
|
+
\end{document}
|
@@ -0,0 +1,152 @@
|
|
1
|
+
Strict
|
2
|
+
|
3
|
+
' single line comment
|
4
|
+
|
5
|
+
#rem
|
6
|
+
multi
|
7
|
+
line
|
8
|
+
comment
|
9
|
+
#end
|
10
|
+
|
11
|
+
#rem
|
12
|
+
nested
|
13
|
+
#rem
|
14
|
+
multi
|
15
|
+
line
|
16
|
+
#end
|
17
|
+
comment
|
18
|
+
#end
|
19
|
+
|
20
|
+
Import mojo
|
21
|
+
|
22
|
+
Const ONECONST:Int = 1
|
23
|
+
Const TWOCONST := 2
|
24
|
+
Const THREECONST := 3, FOURCONST:Int = 4
|
25
|
+
|
26
|
+
Global someVariable:Int = 4
|
27
|
+
|
28
|
+
' sample class from the documentation
|
29
|
+
Class Game Extends App
|
30
|
+
|
31
|
+
Function New()
|
32
|
+
End
|
33
|
+
|
34
|
+
Function DrawSpiral(clock)
|
35
|
+
Local w=DeviceWidth/2
|
36
|
+
For Local i#=0 Until w*1.5 Step .2
|
37
|
+
Local x#,y#
|
38
|
+
x=w+i*Sin(i*3+clock)
|
39
|
+
y=w+i*Cos(i*2+clock)
|
40
|
+
DrawRect x,y,1,1
|
41
|
+
Next
|
42
|
+
hitbox.Collide(event.pos)
|
43
|
+
End
|
44
|
+
|
45
|
+
Field updateCount
|
46
|
+
|
47
|
+
Method OnCreate()
|
48
|
+
Print "spiral"
|
49
|
+
|
50
|
+
SetUpdateRate 60
|
51
|
+
End
|
52
|
+
|
53
|
+
Method OnUpdate()
|
54
|
+
updateCount+=1
|
55
|
+
End
|
56
|
+
|
57
|
+
Method OnRender()
|
58
|
+
Cls
|
59
|
+
DrawSpiral updateCount
|
60
|
+
DrawSpiral updateCount*1.1
|
61
|
+
End
|
62
|
+
|
63
|
+
End
|
64
|
+
|
65
|
+
Class Enemy
|
66
|
+
Method Die () Abstract
|
67
|
+
End
|
68
|
+
|
69
|
+
' extending
|
70
|
+
Class Hoodlum Extends Enemy
|
71
|
+
' field
|
72
|
+
Field testField:Bool = True
|
73
|
+
|
74
|
+
' naming class with modulepath
|
75
|
+
Local currentNode:list.Node<Vector2D>
|
76
|
+
|
77
|
+
Method Die ()
|
78
|
+
Print "B'oss, he-- he killed me, b'oss!"
|
79
|
+
End
|
80
|
+
End
|
81
|
+
|
82
|
+
' extending with generics
|
83
|
+
Class VectorNode Extends Node<Vector2D>
|
84
|
+
End
|
85
|
+
|
86
|
+
' interfaces
|
87
|
+
Interface Computer
|
88
|
+
Method Boot ()
|
89
|
+
Method Process ()
|
90
|
+
Method Display ()
|
91
|
+
End
|
92
|
+
|
93
|
+
Class PC Implements Computer
|
94
|
+
End
|
95
|
+
|
96
|
+
' array syntax
|
97
|
+
Global listOfStuff:String[42]
|
98
|
+
Global lessStuff:String[5] = listOfStuff[4..8]
|
99
|
+
Global oneStuff:String = listOfStuff[23]
|
100
|
+
|
101
|
+
'a comma separated sequence
|
102
|
+
Global scores:Int[]=[10,20,30]
|
103
|
+
'a comma separated sequence
|
104
|
+
Global text:String[]=["Hello","There","World"]
|
105
|
+
Global worstCase:worst.List<String[]>
|
106
|
+
|
107
|
+
' string type
|
108
|
+
Global string1:String = "Hello world"
|
109
|
+
Global string2$ = "Hello world"
|
110
|
+
|
111
|
+
' escape characers in strings
|
112
|
+
Global string3 := "Hello~zWorld"
|
113
|
+
Global string4 := "~qHello World~q"
|
114
|
+
Global string5 := "~tIndented~n"
|
115
|
+
Global string6 := "tilda is wavey... ~~"
|
116
|
+
|
117
|
+
' string pseudofunctions
|
118
|
+
Print " Hello World ~n".Trim() ' prints "Hello World"
|
119
|
+
Print "Hello World".ToUpper() ' prints "HELLO WORLD"
|
120
|
+
|
121
|
+
' Boolean shorttype
|
122
|
+
Global boolVariable1:Bool = True
|
123
|
+
Global boolVariable2? = False
|
124
|
+
|
125
|
+
' number formats
|
126
|
+
Global hexNum1:Int = $3d0dead
|
127
|
+
Global hexNum2% = $CAFEBABE
|
128
|
+
|
129
|
+
Global floatNum1:Float = 3.141516
|
130
|
+
Global floatNum2# = 3.141516
|
131
|
+
Global floatNum3 := .141516
|
132
|
+
|
133
|
+
' preprocessor keywords
|
134
|
+
#If TARGET = "android"
|
135
|
+
DoStuff()
|
136
|
+
#ElseIf TARGET = "ios"
|
137
|
+
DoOtherStuff()
|
138
|
+
#End
|
139
|
+
|
140
|
+
' preprocessor variable
|
141
|
+
#SOMETHING = True
|
142
|
+
#Print SOMETHING
|
143
|
+
#If SOMETHING
|
144
|
+
#End
|
145
|
+
|
146
|
+
' operators
|
147
|
+
Global a = 32
|
148
|
+
Global b = 32 ~ 0
|
149
|
+
b ~= 16
|
150
|
+
b |= 16
|
151
|
+
b &= 16
|
152
|
+
Global c = a | b
|
@@ -0,0 +1,43 @@
|
|
1
|
+
msc {
|
2
|
+
hscale=5;
|
3
|
+
|
4
|
+
//test comment
|
5
|
+
|
6
|
+
a,b,c,d;
|
7
|
+
|
8
|
+
/* another
|
9
|
+
comment
|
10
|
+
goes here */ /* too */ // now
|
11
|
+
|
12
|
+
... [label="test1", id="1"];
|
13
|
+
--- [label="test2", id="2"];
|
14
|
+
||| [label="test3", id="2"];
|
15
|
+
a ABOX b;
|
16
|
+
a--b [label="test4", id="2"];
|
17
|
+
a == b [label="test5", id="2"];
|
18
|
+
a .. b [label="test6", id="2"];
|
19
|
+
a::b [label="test7", id="2"];
|
20
|
+
a<<=>> b [label="test8", id="2"],
|
21
|
+
b <->c [label="test9", id="2"],
|
22
|
+
b RBOX c;
|
23
|
+
a BOX d;
|
24
|
+
a<=> b [label="test10", id="2"];
|
25
|
+
a <<>> b [label="test11", id="2"];
|
26
|
+
a<:>b [label="test12", id="2"];
|
27
|
+
a->b [label="test13", id="2"];
|
28
|
+
a =>> b [label="test14", id="2"],
|
29
|
+
b >> c [label="test15", id="2"],
|
30
|
+
a=> b [label="test16", id="2"];
|
31
|
+
a :>b [label="test17", id="2"];
|
32
|
+
a-x b [label="test18", id="2"];
|
33
|
+
a -Xb [label="test19", id="2"];
|
34
|
+
a<- b [label="test20", id="2"];
|
35
|
+
a <<=b [label="test21", id="2"];
|
36
|
+
a<< b [label="test22", id="2"];
|
37
|
+
a <= b [label="test23", id="2"];
|
38
|
+
a<: b [label="test24", id="2"];
|
39
|
+
a -xb [label="test25", id="2"];
|
40
|
+
a-X b [ label="test26",id="2" ];
|
41
|
+
a->* [label="test27" , id="2"];
|
42
|
+
*<-b [label="test28",id="28"];
|
43
|
+
}
|
@@ -0,0 +1,161 @@
|
|
1
|
+
&& This is a concatenation of all VFP examples on Wikipedia.
|
2
|
+
&& Copyright 2013 Wikimedia, under the GFDL.
|
3
|
+
|
4
|
+
FOR i = 1 to 10
|
5
|
+
x = x + 6.5
|
6
|
+
ENDFOR
|
7
|
+
|
8
|
+
IF i = 25
|
9
|
+
i = i + 1
|
10
|
+
ELSE
|
11
|
+
i = i + 3
|
12
|
+
ENDIF
|
13
|
+
|
14
|
+
x = 1
|
15
|
+
DO WHILE x < 50
|
16
|
+
x = x + 1
|
17
|
+
ENDDO
|
18
|
+
|
19
|
+
x = 1
|
20
|
+
DO WHILE .T.
|
21
|
+
x = x + 1
|
22
|
+
IF x < 50
|
23
|
+
LOOP
|
24
|
+
ELSE
|
25
|
+
EXIT
|
26
|
+
ENDIF
|
27
|
+
ENDDO
|
28
|
+
|
29
|
+
nMonth = MONTH(DATE())
|
30
|
+
DO CASE
|
31
|
+
CASE nMonth <= 3
|
32
|
+
MESSAGEBOX("Q1")
|
33
|
+
|
34
|
+
CASE nMonth <= 6
|
35
|
+
MESSAGEBOX("Q2")
|
36
|
+
|
37
|
+
CASE nMonth <= 9
|
38
|
+
MESSAGEBOX("Q3")
|
39
|
+
|
40
|
+
OTHERWISE
|
41
|
+
MESSAGEBOX("Q4")
|
42
|
+
ENDCASE
|
43
|
+
|
44
|
+
FOR EACH oControl IN THISFORM.Controls
|
45
|
+
MESSAGEBOX(oControl.Name)
|
46
|
+
ENDFOR
|
47
|
+
|
48
|
+
f = Factorial(10)
|
49
|
+
|
50
|
+
FUNCTION Factorial(n)
|
51
|
+
LOCAL i,r
|
52
|
+
r = 1
|
53
|
+
FOR i = n TO 1 STEP -1
|
54
|
+
r = r * n
|
55
|
+
ENDFOR
|
56
|
+
RETURN r
|
57
|
+
ENDFUNC
|
58
|
+
|
59
|
+
loForm = CREATEOBJECT("HiForm")
|
60
|
+
loForm.Show(1)
|
61
|
+
|
62
|
+
DEFINE CLASS HiForm AS Form
|
63
|
+
AutoCenter = .T.
|
64
|
+
Caption = "Hello, World"
|
65
|
+
|
66
|
+
ADD OBJECT lblHi as Label WITH ;
|
67
|
+
Caption = "Hello, World!"
|
68
|
+
ENDDEFINE
|
69
|
+
|
70
|
+
loMine = CREATEOBJECT("MyClass")
|
71
|
+
? loMine.cProp1 && This will work. (Double-ampersand marks an end-of-line comment)
|
72
|
+
? loMine.cProp2 && Program Error: Property CPROP2 is not found.
|
73
|
+
|
74
|
+
? loMine.MyMethod1() && This will work.
|
75
|
+
? loMine.MyMethod2() && Program Error: Property MYMETHOD2 is not found.
|
76
|
+
|
77
|
+
DEFINE CLASS MyClass AS Custom
|
78
|
+
cProp1 = "My Property" && This is a public property
|
79
|
+
HIDDEN cProp2 && This is a private (hidden) property
|
80
|
+
dProp3 = {} && Another public property
|
81
|
+
|
82
|
+
PROCEDURE Init() && Class constructor
|
83
|
+
This.cProp2 = "This is a hidden property."
|
84
|
+
ENDPROC
|
85
|
+
|
86
|
+
PROCEDURE dProp3_Access && Property Getter
|
87
|
+
RETURN DATE()
|
88
|
+
ENDPROC
|
89
|
+
PROCEDURE dProp3_Assign(vNewVal) && Property Setter
|
90
|
+
IF VARTYPE(vNewVal) = "D"
|
91
|
+
THIS.dProp3 = vNewVal
|
92
|
+
ENDIF
|
93
|
+
ENDPROC
|
94
|
+
|
95
|
+
PROCEDURE MyMethod1()
|
96
|
+
* This is a public method, calling a hidden method that returns
|
97
|
+
* the value of a hidden property.
|
98
|
+
RETURN This.MyMethod2()
|
99
|
+
ENDPROC
|
100
|
+
|
101
|
+
HIDDEN PROCEDURE MyMethod2() && This is a private (hidden) method
|
102
|
+
RETURN This.cProp2
|
103
|
+
ENDPROC
|
104
|
+
ENDDEFINE
|
105
|
+
|
106
|
+
&& Create a table
|
107
|
+
CREATE TABLE randData (iData I)
|
108
|
+
|
109
|
+
&& Populate with random data using xBase and SQL DML commands
|
110
|
+
FOR i = 1 TO 50
|
111
|
+
APPEND BLANK
|
112
|
+
REPLACE iData WITH (RAND() * 100)
|
113
|
+
|
114
|
+
INSERT INTO randData (iData) VALUES (RAND() * 100)
|
115
|
+
ENDFOR
|
116
|
+
|
117
|
+
&& Place a structural index on the data
|
118
|
+
INDEX ON iData TAG iData
|
119
|
+
CLOSE ALL
|
120
|
+
|
121
|
+
&& Display ordered data using xBase-style commands
|
122
|
+
USE randData
|
123
|
+
SET ORDER TO iData
|
124
|
+
GO TOP
|
125
|
+
LIST NEXT 10 && First 10
|
126
|
+
GO BOTTOM
|
127
|
+
SKIP -10
|
128
|
+
LIST REST && Last 10
|
129
|
+
CLOSE ALL
|
130
|
+
|
131
|
+
&& Browse ordered data using SQL DML commands
|
132
|
+
SELECT * ;
|
133
|
+
FROM randData ;
|
134
|
+
ORDER BY iData DESCENDING
|
135
|
+
|
136
|
+
|
137
|
+
&& Connect to an ODBC data source
|
138
|
+
LOCAL nHnd
|
139
|
+
nHnd = SQLCONNECT ("ODBCDSN", "user", "pwd")
|
140
|
+
|
141
|
+
&& Execute a SQL command
|
142
|
+
LOCAL nResult
|
143
|
+
nResult = SQLEXEC (nHnd, "USE master")
|
144
|
+
IF nResult < 0
|
145
|
+
MESSAGEBOX ("MASTER database does not exist!")
|
146
|
+
RETURN
|
147
|
+
ENDIF
|
148
|
+
|
149
|
+
&& Retrieve data from the remote server and stores it in
|
150
|
+
&& a local data cursor
|
151
|
+
nResult = SQLEXEC (nHnd, "SELECT * FROM authors", "QAUTHORS")
|
152
|
+
|
153
|
+
&& Update a record in a remote table using parameters
|
154
|
+
PRIVATE cAuthorID, cAuthorName
|
155
|
+
cAuthorID = "1001"
|
156
|
+
cAuthorName = "New name"
|
157
|
+
nResult = SQLEXEC (nHnd, "UPDATE authors SET auth_name = ?cAuthorName WHERE auth_id = ?cAuthorID")
|
158
|
+
|
159
|
+
&& Close the connection
|
160
|
+
SQLDISCONNECT(nHnd)
|
161
|
+
|