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.
Files changed (199) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +71 -0
  4. data/Gemfile +1 -1
  5. data/LICENSE +17 -0
  6. data/README.md +28 -1
  7. data/Rakefile +2 -5
  8. data/lexers +0 -0
  9. data/lib/pygments/mentos.py +19 -12
  10. data/lib/pygments/popen.rb +21 -4
  11. data/lib/pygments/version.rb +1 -1
  12. data/pygments.rb.gemspec +2 -0
  13. data/test/test_pygments.rb +13 -2
  14. data/vendor/custom_lexers/github.py +206 -3
  15. data/vendor/pygments-main/AUTHORS +41 -3
  16. data/vendor/pygments-main/CHANGES +132 -5
  17. data/vendor/pygments-main/LICENSE +1 -1
  18. data/vendor/pygments-main/Makefile +1 -1
  19. data/vendor/pygments-main/REVISION +1 -1
  20. data/vendor/pygments-main/docs/generate.py +1 -1
  21. data/vendor/pygments-main/docs/src/api.txt +1 -1
  22. data/vendor/pygments-main/docs/src/index.txt +1 -1
  23. data/vendor/pygments-main/docs/src/integrate.txt +5 -0
  24. data/vendor/pygments-main/docs/src/java.txt +70 -0
  25. data/vendor/pygments-main/docs/src/lexerdevelopment.txt +52 -0
  26. data/vendor/pygments-main/external/autopygmentize +64 -0
  27. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
  28. data/vendor/pygments-main/external/markdown-processor.py +2 -2
  29. data/vendor/pygments-main/external/moin-parser.py +1 -1
  30. data/vendor/pygments-main/external/rst-directive-old.py +1 -1
  31. data/vendor/pygments-main/external/rst-directive.py +1 -1
  32. data/vendor/pygments-main/pygmentize +1 -1
  33. data/vendor/pygments-main/pygments/__init__.py +2 -2
  34. data/vendor/pygments-main/pygments/cmdline.py +14 -6
  35. data/vendor/pygments-main/pygments/console.py +1 -1
  36. data/vendor/pygments-main/pygments/filter.py +1 -1
  37. data/vendor/pygments-main/pygments/filters/__init__.py +3 -4
  38. data/vendor/pygments-main/pygments/formatter.py +4 -1
  39. data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
  40. data/vendor/pygments-main/pygments/formatters/_mapping.py +3 -3
  41. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  42. data/vendor/pygments-main/pygments/formatters/html.py +73 -2
  43. data/vendor/pygments-main/pygments/formatters/img.py +2 -2
  44. data/vendor/pygments-main/pygments/formatters/latex.py +9 -9
  45. data/vendor/pygments-main/pygments/formatters/other.py +1 -3
  46. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
  47. data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
  48. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  49. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  50. data/vendor/pygments-main/pygments/lexer.py +78 -10
  51. data/vendor/pygments-main/pygments/lexers/__init__.py +13 -2
  52. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +1 -1
  54. data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
  55. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +1 -1
  56. data/vendor/pygments-main/pygments/lexers/_mapping.py +92 -36
  57. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
  58. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +2 -2
  59. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +4 -3
  60. data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
  61. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +11 -0
  62. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
  63. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
  64. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -3
  65. data/vendor/pygments-main/pygments/lexers/agile.py +525 -38
  66. data/vendor/pygments-main/pygments/lexers/asm.py +45 -7
  67. data/vendor/pygments-main/pygments/lexers/compiled.py +1257 -425
  68. data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
  69. data/vendor/pygments-main/pygments/lexers/dotnet.py +97 -62
  70. data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
  71. data/vendor/pygments-main/pygments/lexers/functional.py +931 -32
  72. data/vendor/pygments-main/pygments/lexers/github.py +206 -3
  73. data/vendor/pygments-main/pygments/lexers/hdl.py +3 -3
  74. data/vendor/pygments-main/pygments/lexers/jvm.py +309 -44
  75. data/vendor/pygments-main/pygments/lexers/math.py +876 -30
  76. data/vendor/pygments-main/pygments/lexers/other.py +956 -517
  77. data/vendor/pygments-main/pygments/lexers/parsers.py +85 -2
  78. data/vendor/pygments-main/pygments/lexers/shell.py +81 -18
  79. data/vendor/pygments-main/pygments/lexers/special.py +1 -1
  80. data/vendor/pygments-main/pygments/lexers/sql.py +2 -2
  81. data/vendor/pygments-main/pygments/lexers/templates.py +119 -8
  82. data/vendor/pygments-main/pygments/lexers/text.py +155 -15
  83. data/vendor/pygments-main/pygments/lexers/web.py +1578 -397
  84. data/vendor/pygments-main/pygments/modeline.py +40 -0
  85. data/vendor/pygments-main/pygments/plugin.py +1 -1
  86. data/vendor/pygments-main/pygments/scanner.py +1 -1
  87. data/vendor/pygments-main/pygments/style.py +1 -1
  88. data/vendor/pygments-main/pygments/styles/__init__.py +1 -1
  89. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  90. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  91. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  92. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  93. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  94. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  95. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  96. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  97. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  98. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  99. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  100. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  101. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  102. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  103. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  104. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  105. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  106. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  107. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  108. data/vendor/pygments-main/pygments/token.py +1 -1
  109. data/vendor/pygments-main/pygments/unistring.py +36 -26
  110. data/vendor/pygments-main/pygments/util.py +46 -1
  111. data/vendor/pygments-main/scripts/check_sources.py +2 -2
  112. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +2 -0
  113. data/vendor/pygments-main/scripts/find_codetags.py +1 -1
  114. data/vendor/pygments-main/scripts/find_error.py +5 -6
  115. data/vendor/pygments-main/setup.cfg +1 -0
  116. data/vendor/pygments-main/setup.py +6 -4
  117. data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
  118. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
  119. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
  120. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
  121. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
  122. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
  123. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
  124. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
  125. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
  126. data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
  127. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
  128. data/vendor/pygments-main/tests/examplefiles/classes.dylan +89 -4
  129. data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
  130. data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
  131. data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
  132. data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
  133. data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
  134. data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
  135. data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
  136. data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
  137. data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
  138. data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
  139. data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
  140. data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
  141. data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
  142. data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
  143. data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
  144. data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
  145. data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
  146. data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
  147. data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
  148. data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
  149. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
  150. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
  151. data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
  152. data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
  153. data/vendor/pygments-main/tests/examplefiles/http_request_example +2 -1
  154. data/vendor/pygments-main/tests/examplefiles/http_response_example +4 -2
  155. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
  156. data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
  157. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
  158. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
  159. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
  160. data/vendor/pygments-main/tests/examplefiles/matlab_sample +5 -2
  161. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
  162. data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
  163. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
  164. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
  165. data/vendor/pygments-main/tests/examplefiles/objc_example.m +7 -0
  166. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
  167. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
  168. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
  169. data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
  170. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
  171. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
  172. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
  173. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
  174. data/vendor/pygments-main/tests/examplefiles/test.R +149 -115
  175. data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
  176. data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
  177. data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
  178. data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
  179. data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
  180. data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
  181. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
  182. data/vendor/pygments-main/tests/examplefiles/type.lisp +16 -0
  183. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
  184. data/vendor/pygments-main/tests/old_run.py +1 -1
  185. data/vendor/pygments-main/tests/run.py +3 -2
  186. data/vendor/pygments-main/tests/support/tags +36 -0
  187. data/vendor/pygments-main/tests/test_basic_api.py +4 -3
  188. data/vendor/pygments-main/tests/test_clexer.py +1 -1
  189. data/vendor/pygments-main/tests/test_cmdline.py +1 -1
  190. data/vendor/pygments-main/tests/test_examplefiles.py +3 -1
  191. data/vendor/pygments-main/tests/test_html_formatter.py +17 -1
  192. data/vendor/pygments-main/tests/test_latex_formatter.py +1 -1
  193. data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
  194. data/vendor/pygments-main/tests/test_perllexer.py +1 -1
  195. data/vendor/pygments-main/tests/test_regexlexer.py +1 -1
  196. data/vendor/pygments-main/tests/test_token.py +1 -1
  197. data/vendor/pygments-main/tests/test_using_api.py +1 -1
  198. data/vendor/pygments-main/tests/test_util.py +22 -3
  199. metadata +84 -16
@@ -0,0 +1,102 @@
1
+ -- An Agda example file
2
+
3
+ module test where
4
+
5
+ open import Coinduction
6
+ open import Data.Bool
7
+ open import {- pointless comment between import and module name -} Data.Char
8
+ open import Data.Nat
9
+ open import Data.Nat.Properties
10
+ open import Data.String
11
+ open import Data.List hiding ([_])
12
+ open import Data.Vec hiding ([_])
13
+ open import Relation.Nullary.Core
14
+ open import Relation.Binary.PropositionalEquality using (_≡_; refl; cong; trans; inspect; [_])
15
+
16
+ open SemiringSolver
17
+
18
+ {- this is a {- nested -} comment -}
19
+
20
+ -- Factorial
21
+ _! : ℕ → ℕ
22
+ 0 ! = 1
23
+ (suc n) ! = (suc n) * n !
24
+
25
+ -- The binomial coefficient
26
+ _choose_ : ℕ → ℕ → ℕ
27
+ _ choose 0 = 1
28
+ 0 choose _ = 0
29
+ (suc n) choose (suc m) = (n choose m) + (n choose (suc m)) -- Pascal's rule
30
+
31
+ choose-too-many : ∀ n m → n ≤ m → n choose (suc m) ≡ 0
32
+ choose-too-many .0 m z≤n = refl
33
+ choose-too-many (suc n) (suc m) (s≤s le) with n choose (suc m) | choose-too-many n m le | n choose (suc (suc m)) | choose-too-many n (suc m) (≤-step le)
34
+ ... | .0 | refl | .0 | refl = refl
35
+
36
+ _++'_ : ∀ {a n m} {A : Set a} → Vec A n → Vec A m → Vec A (m + n)
37
+ _++'_ {_} {n} {m} v₁ v₂ rewrite solve 2 (λ a b → b :+ a := a :+ b) refl n m = v₁ Data.Vec.++ v₂
38
+
39
+ ++'-test : (1 ∷ 2 ∷ 3 ∷ []) ++' (4 ∷ 5 ∷ []) ≡ (1 ∷ 2 ∷ 3 ∷ 4 ∷ 5 ∷ [])
40
+ ++'-test = refl
41
+
42
+ data Coℕ : Set where
43
+ co0 : Coℕ
44
+ cosuc : ∞ Coℕ → Coℕ
45
+
46
+ nanana : Coℕ
47
+ nanana = let two = ♯ cosuc (♯ (cosuc (♯ co0))) in cosuc two
48
+
49
+ abstract
50
+ data VacuumCleaner : Set where
51
+ Roomba : VacuumCleaner
52
+
53
+ pointlessLemmaAboutBoolFunctions : (f : Bool → Bool) → f (f (f true)) ≡ f true
54
+ pointlessLemmaAboutBoolFunctions f with f true | inspect f true
55
+ ... | true | [ eq₁ ] = trans (cong f eq₁) eq₁
56
+ ... | false | [ eq₁ ] with f false | inspect f false
57
+ ... | true | _ = eq₁
58
+ ... | false | [ eq₂ ] = eq₂
59
+
60
+ mutual
61
+ isEven : ℕ → Bool
62
+ isEven 0 = true
63
+ isEven (suc n) = not (isOdd n)
64
+
65
+ isOdd : ℕ → Bool
66
+ isOdd 0 = false
67
+ isOdd (suc n) = not (isEven n)
68
+
69
+ foo : String
70
+ foo = "Hello World!"
71
+
72
+ nl : Char
73
+ nl = '\n'
74
+
75
+ private
76
+ intersperseString : Char → List String → String
77
+ intersperseString c [] = ""
78
+ intersperseString c (x ∷ xs) = Data.List.foldl (λ a b → a Data.String.++ Data.String.fromList (c ∷ []) Data.String.++ b) x xs
79
+
80
+ baz : String
81
+ baz = intersperseString nl (Data.List.replicate 5 foo)
82
+
83
+ postulate
84
+ Float : Set
85
+
86
+ {-# BUILTIN FLOAT Float #-}
87
+
88
+ pi : Float
89
+ pi = 3.141593
90
+
91
+ -- Astronomical unit
92
+ au : Float
93
+ au = 1.496e11 -- m
94
+
95
+ plusFloat : Float → Float → Float
96
+ plusFloat a b = {! !}
97
+
98
+ record Subset (A : Set) (P : A → Set) : Set where
99
+ constructor _#_
100
+ field
101
+ elem : A
102
+ .proof : P elem
@@ -0,0 +1,95 @@
1
+
2
+ ;foobar!
3
+
4
+ ;Include "blurg/blurg.bb"
5
+
6
+ Const ca = $10000000 ; Hex
7
+ Const cb = %10101010 ; Binary
8
+ Global ga$ = "blargh"
9
+ Local a = 124, b$ = "abcdef"
10
+
11
+ Function name_123#(zorp$, ll = False, blah#, waffles% = 100)
12
+ Return 235.7804 ; comment
13
+ End Function
14
+ Function TestString$()
15
+ End Function
16
+
17
+ Function hub(blah$, abc = Pi)
18
+ End Function
19
+ Function Blar%()
20
+ Local aa %, ab # ,ac #, ad# ,ae$,af% ; Intentional mangling
21
+ Local ba#, bb.TBlarf , bc%,bd#,be. TFooBar,ff = True
22
+ End Function
23
+
24
+ abc()
25
+
26
+ Function abc()
27
+ Print "abc" ; I cannot find a way to parse these as function calls without messing something up
28
+ Print ; Anyhow, they're generally not used in this way
29
+ Goto Eww_Goto
30
+ .Eww_Goto
31
+ End Function
32
+
33
+ Type TBlarf
34
+ End Type
35
+
36
+ Type TFooBar
37
+ End Type
38
+
39
+ Local myinst.MyClass = New MyClass
40
+ TestMethod(myinst)
41
+
42
+ Type MyClass
43
+
44
+ Field m_foo.MyClass
45
+ Field m_bar.MyClass
46
+
47
+ ; abc
48
+ ; def
49
+ End Type
50
+
51
+ Function TestMethod(self.MyClass) ; foobar
52
+ self\m_foo = self
53
+ self\m_bar = Object.MyClass(Handle self\m_foo)
54
+ Yell self\m_foo\m_bar\m_foo\m_bar
55
+ End Function
56
+
57
+ Function Yell(self.MyClass)
58
+ Print("huzzah!")
59
+ End Function
60
+
61
+ Function Wakka$(foo$)
62
+ Return foo + "bar"
63
+ End Function
64
+
65
+
66
+ Print("blah " + "blah " + "blah.")
67
+
68
+ Local i : For i = 0 To 10 Step 1
69
+ Print("Index: " + i)
70
+ Next
71
+ Local array$[5]
72
+ array[0] = "foo": array[1] = "bar":array[2] = "11":array[3] = "22":array[4] = "33"
73
+ For i = 0 To 4
74
+ Local value$ = array[i]
75
+ Print("Value: " + value)
76
+ Next
77
+
78
+ Local foobar = Not (1 Or (2 And (4 Shl 5 Shr 6)) Sar 7) Mod (8+2)
79
+ Local az = 1234567890
80
+ az = az + 1
81
+ az = az - 2
82
+ az = az* 3
83
+ az = az/ 4
84
+ az = az And 5
85
+ az = az Or 6
86
+ az= ~ 7
87
+ az = az Shl 8
88
+ az= az Shr 9
89
+ az = az Sar 10
90
+ az = az Mod 11
91
+ az = ((10-5+2/4*2)>(((8^2)) < 2)) And 12 Or 2
92
+
93
+
94
+ ;~IDEal Editor Parameters:
95
+ ;~C#Blitz3D
@@ -0,0 +1,36 @@
1
+ #include <stdio.h>
2
+
3
+ // __device__ function
4
+ __device__ void func()
5
+ {
6
+ short* array0 = (short*)array;
7
+ float* array1 = (float*)&array0[127];
8
+ }
9
+
10
+ /* __global__ function */
11
+ __global__ static void reduction(const float* __restrict__ input, float *output, clock_t *timer)
12
+ {
13
+ // __shared__ float shared[2 * blockDim.x];
14
+ extern __shared__ float shared[];
15
+
16
+ const int tid = threadIdx.x;
17
+ const int bid = blockIdx.x;
18
+
19
+ if (threadIdx.x == 0) {
20
+ __threadfence();
21
+ }
22
+
23
+ // Perform reduction to find minimum.
24
+ for (int d = blockDim.x; d > 0; d /= 2)
25
+ {
26
+ __syncthreads();
27
+ }
28
+ }
29
+
30
+ int main(int argc, char **argv)
31
+ {
32
+ dim3 dimBlock(8, 8, 1);
33
+
34
+ timedReduction<<<dimBlock, 256, 256, 0>>>(dinput, doutput, dtimer);
35
+ cudaDeviceReset();
36
+ }
@@ -0,0 +1,31 @@
1
+ letter = "A" | "B" | "C" | "D" | "E" | "F" | "G"
2
+ | "H" | "I" | "J" | "K" | "L" | "M" | "N"
3
+ | "O" | "P" | "Q" | "R" | "S" | "T" | "U"
4
+ | "V" | "W" | "X" | "Y" | "Z" ;
5
+ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
6
+ symbol = "[" | "]" | "{" | "}" | "(" | ")" | "<" | ">"
7
+ | "'" | '"' | "=" | "|" | "." | "," | ";" ;
8
+ character = letter | digit | symbol | " " ;
9
+
10
+ identifier = letter , { letter | digit | " " } ;
11
+ terminal = "'" , character , { character } , "'"
12
+ | '"' , character , { character } , '"' ;
13
+
14
+ special = "?" , any , "?" ;
15
+
16
+ comment = (* this is a comment "" *) "(*" , any-symbol , "*)" ;
17
+ any-symbol = ? any visible character ? ; (* ? ... ? *)
18
+
19
+ lhs = identifier ;
20
+ rhs = identifier
21
+ | terminal
22
+ | comment , rhs
23
+ | rhs , comment
24
+ | "[" , rhs , "]"
25
+ | "{" , rhs , "}"
26
+ | "(" , rhs , ")"
27
+ | rhs , "|" , rhs
28
+ | rhs , "," , rhs ;
29
+
30
+ rule = lhs , "=" , rhs , ";" | comment ;
31
+ grammar = { rule } ;
@@ -0,0 +1,10 @@
1
+ function sample_page() {
2
+ <header>
3
+ <h3>HTML in Opa</h3>
4
+ </header>
5
+ <article>
6
+ <div class=container>
7
+ <p>Learning by examples.</p>
8
+ </div>
9
+ </article>
10
+ }
@@ -0,0 +1,252 @@
1
+ #!/usr/bin/env perl6
2
+
3
+ use v6;
4
+
5
+ my $string = 'I look like a # comment!';
6
+
7
+ if $string eq 'foo' {
8
+ say 'hello';
9
+ }
10
+
11
+ regex http-verb {
12
+ 'GET'
13
+ | 'POST'
14
+ | 'PUT'
15
+ | 'DELETE'
16
+ | 'TRACE'
17
+ | 'OPTIONS'
18
+ | 'HEAD'
19
+ }
20
+
21
+ # a sample comment
22
+
23
+ say 'Hello from Perl 6!'
24
+
25
+
26
+ #`{
27
+ multi-line comment!
28
+ }
29
+
30
+ say 'here';
31
+
32
+ #`(
33
+ multi-line comment!
34
+ )
35
+
36
+ say 'here';
37
+
38
+ #`{{{
39
+ I'm a special comment!
40
+ }}}
41
+
42
+ say 'there';
43
+
44
+ #`{{
45
+ I'm { even } specialer!
46
+ }}
47
+
48
+ say 'there';
49
+
50
+ #`{{
51
+ does {{nesting}} work?
52
+ }}
53
+
54
+ #`«<
55
+ trying mixed delimiters
56
+ »
57
+
58
+ my $string = qq<Hooray, arbitrary delimiter!>;
59
+ my $string = qq«Hooray, arbitrary delimiter!»;
60
+ my $string = q <now with whitespace!>;
61
+ my $string = qq<<more strings>>;
62
+
63
+ my %hash := Hash.new;
64
+
65
+ =begin pod
66
+
67
+ Here's some POD! Wooo
68
+
69
+ =end pod
70
+
71
+ =for Testing
72
+ This is POD (see? role isn't highlighted)
73
+
74
+ say('this is not!');
75
+
76
+ =table
77
+ Of role things
78
+
79
+ say('not in your table');
80
+ #= A single line declarator "block" (with a keyword like role)
81
+ #| Another single line declarator "block" (with a keyword like role)
82
+ #={
83
+ A declarator block (with a keyword like role)
84
+ }
85
+ #|{
86
+ Another declarator block (with a keyword like role)
87
+ }
88
+ #= { A single line declarator "block" with a brace (with a keyword like role)
89
+ #=«
90
+ More declarator blocks! (with a keyword like role)
91
+ »
92
+ #|«
93
+ More declarator blocks! (with a keyword like role)
94
+ »
95
+
96
+ say 'Moar code!';
97
+
98
+ my $don't = 16;
99
+
100
+ sub don't($x) {
101
+ !$x
102
+ }
103
+
104
+ say don't 'foo';
105
+
106
+ my %hash = (
107
+ :foo(1),
108
+ );
109
+
110
+ say %hash<foo>;
111
+ say %hash<<foo>>;
112
+ say %hash«foo»;
113
+
114
+ say %*hash<foo>;
115
+ say %*hash<<foo>>;
116
+ say %*hash«foo»;
117
+
118
+ say $<todo>;
119
+ say $<todo>;
120
+
121
+ for (@A Z @B) -> $a, $b {
122
+ say $a + $b;
123
+ }
124
+
125
+ Q:PIR {
126
+ .loadlib "somelib"
127
+ }
128
+
129
+ my $longstring = q/
130
+ lots
131
+ of
132
+ text
133
+ /;
134
+
135
+ my $heredoc = q:to/END_SQL/;
136
+ SELECT * FROM Users
137
+ WHERE first_name = 'Rob'
138
+ END_SQL
139
+ my $hello;
140
+
141
+ # Fun with regexen
142
+
143
+ if 'food' ~~ /foo/ {
144
+ say 'match!'
145
+ }
146
+
147
+ my $re = /foo/;
148
+ my $re2 = m/ foo /;
149
+ my $re3 = m:i/ FOO /;
150
+
151
+ call-a-sub(/ foo /);
152
+ call-a-sub(/ foo \/ bar /);
153
+
154
+ my $re4 = rx/something | something-else/;
155
+ my $result = ms/regexy stuff/;
156
+ my $sub0 = s/regexy stuff/more stuff/;
157
+ my $sub = ss/regexy stuff/more stuff/;
158
+ my $trans = tr/regexy stuff/more stuff/;
159
+
160
+ my @values = <a b c d>;
161
+ call-sub(<a b c d>);
162
+ call-sub <a b c d>;
163
+
164
+ my $result = $a < $b;
165
+
166
+ for <a b c d> -> $letter {
167
+ say $letter;
168
+ }
169
+
170
+ sub test-sub {
171
+ say @_;
172
+ say $!;
173
+ say $/;
174
+ say $0;
175
+ say $1;
176
+ say @*ARGS;
177
+ say $*ARGFILES;
178
+ say &?BLOCK;
179
+ say ::?CLASS;
180
+ say $?CLASS;
181
+ say @=COMMENT;
182
+ say %?CONFIG;
183
+ say $*CWD;
184
+ say $=data;
185
+ say %?DEEPMAGIC;
186
+ say $?DISTRO;
187
+ say $*DISTRO;
188
+ say $*EGID;
189
+ say %*ENV;
190
+ say $*ERR;
191
+ say $*EUID;
192
+ say $*EXECUTABLE_NAME;
193
+ say $?FILE;
194
+ say $?GRAMMAR;
195
+ say $*GID;
196
+ say $*IN;
197
+ say @*INC;
198
+ say %?LANG;
199
+ say $*LANG;
200
+ say $?LINE;
201
+ say %*META-ARGS;
202
+ say $?MODULE;
203
+ say %*OPTS;
204
+ say %*OPT;
205
+ say $?KERNEL;
206
+ say $*KERNEL;
207
+ say $*OUT;
208
+ say $?PACKAGE;
209
+ say $?PERL;
210
+ say $*PERL;
211
+ say $*PID;
212
+ say %=pod;
213
+ say $*PROGRAM_NAME;
214
+ say %*PROTOCOLS;
215
+ say ::?ROLE;
216
+ say $?ROLE;
217
+ say &?ROUTINE;
218
+ say $?SCOPE;
219
+ say $*TZ;
220
+ say $*UID;
221
+ say $?USAGE;
222
+ say $?VM;
223
+ say $?XVM;
224
+ }
225
+
226
+ say <a b c>;
227
+
228
+ my $perl5_re = m:P5/ fo{2} /;
229
+ my $re5 = rx«something | something-else»;
230
+
231
+ my $M := %*COMPILING<%?OPTIONS><M>;
232
+
233
+ say $M;
234
+
235
+ sub regex-name { ... }
236
+ my $pair = role-name => 'foo';
237
+ $pair = rolesque => 'foo';
238
+
239
+ my sub something(Str:D $value) { ... }
240
+
241
+ my $s = q«<
242
+ some
243
+ string
244
+ stuff
245
+ »;
246
+
247
+ my $regex = m«< some chars »;
248
+ # after
249
+
250
+ say $/<foo><bar>;
251
+
252
+ roleq;