rapydscript-ns 0.9.1 → 0.9.2

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 (89) hide show
  1. package/.agignore +1 -1
  2. package/.github/workflows/ci.yml +38 -38
  3. package/=template.pyj +5 -5
  4. package/CHANGELOG.md +3 -1
  5. package/HACKING.md +103 -103
  6. package/LICENSE +24 -24
  7. package/README.md +1 -1
  8. package/TODO.md +117 -0
  9. package/add-toc-to-readme +2 -2
  10. package/bin/export +75 -75
  11. package/bin/rapydscript +70 -70
  12. package/bin/web-repl-export +102 -102
  13. package/build +2 -2
  14. package/language-service/index.js +7 -7
  15. package/language-service/language-service.d.ts +1 -1
  16. package/package.json +6 -2
  17. package/publish.py +37 -37
  18. package/release/compiler.js +245 -230
  19. package/release/signatures.json +22 -22
  20. package/session.vim +4 -4
  21. package/setup.cfg +2 -2
  22. package/src/compiler.pyj +36 -36
  23. package/src/errors.pyj +30 -30
  24. package/src/lib/aes.pyj +646 -646
  25. package/src/lib/copy.pyj +120 -120
  26. package/src/lib/elementmaker.pyj +83 -83
  27. package/src/lib/encodings.pyj +126 -126
  28. package/src/lib/gettext.pyj +569 -569
  29. package/src/lib/itertools.pyj +580 -580
  30. package/src/lib/math.pyj +193 -193
  31. package/src/lib/operator.pyj +11 -11
  32. package/src/lib/pythonize.pyj +20 -20
  33. package/src/lib/random.pyj +118 -118
  34. package/src/lib/react.pyj +74 -74
  35. package/src/lib/traceback.pyj +63 -63
  36. package/src/lib/uuid.pyj +77 -77
  37. package/src/monaco-language-service/diagnostics.js +2 -2
  38. package/src/monaco-language-service/dts.js +550 -550
  39. package/src/monaco-language-service/index.js +2 -2
  40. package/src/output/comments.pyj +45 -45
  41. package/src/output/exceptions.pyj +201 -201
  42. package/src/output/jsx.pyj +164 -164
  43. package/src/output/loops.pyj +9 -0
  44. package/src/output/treeshake.pyj +182 -182
  45. package/src/output/utils.pyj +72 -72
  46. package/src/string_interpolation.pyj +72 -72
  47. package/src/unicode_aliases.pyj +576 -576
  48. package/src/utils.pyj +192 -192
  49. package/test/_import_one.pyj +37 -37
  50. package/test/_import_two/__init__.pyj +11 -11
  51. package/test/_import_two/level2/deep.pyj +4 -4
  52. package/test/_import_two/other.pyj +6 -6
  53. package/test/_import_two/sub.pyj +13 -13
  54. package/test/aes_vectors.pyj +421 -421
  55. package/test/annotations.pyj +80 -80
  56. package/test/decorators.pyj +77 -77
  57. package/test/docstrings.pyj +39 -39
  58. package/test/elementmaker_test.pyj +45 -45
  59. package/test/functions.pyj +151 -151
  60. package/test/generators.pyj +41 -41
  61. package/test/generic.pyj +370 -370
  62. package/test/imports.pyj +72 -72
  63. package/test/internationalization.pyj +73 -73
  64. package/test/lint.pyj +164 -164
  65. package/test/loops.pyj +85 -85
  66. package/test/numpy.pyj +734 -734
  67. package/test/omit_function_metadata.pyj +20 -20
  68. package/test/repl.pyj +121 -121
  69. package/test/scoped_flags.pyj +76 -76
  70. package/test/unit/index.js +66 -0
  71. package/test/unit/language-service-dts.js +543 -543
  72. package/test/unit/language-service-hover.js +455 -455
  73. package/test/unit/language-service.js +1 -1
  74. package/tools/compiler.d.ts +367 -0
  75. package/tools/completer.js +131 -131
  76. package/tools/gettext.js +185 -185
  77. package/tools/ini.js +65 -65
  78. package/tools/msgfmt.js +187 -187
  79. package/tools/repl.js +223 -223
  80. package/tools/test.js +118 -118
  81. package/tools/utils.js +128 -128
  82. package/tools/web_repl.js +95 -95
  83. package/try +41 -41
  84. package/web-repl/env.js +196 -196
  85. package/web-repl/index.html +163 -163
  86. package/web-repl/prism.css +139 -139
  87. package/web-repl/prism.js +113 -113
  88. package/web-repl/rapydscript.js +224 -224
  89. package/web-repl/sha1.js +25 -25
@@ -1,163 +1,163 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>RapydScript REPL</title>
5
- <meta charset="utf-8" />
6
- <script type="text/javascript" src="prism.js" defer data-manual></script>
7
- <script type="text/javascript" src="rapydscript.js" defer></script>
8
- <script type="text/javascript" src="main.js" defer></script>
9
- <style type="text/css">
10
-
11
- body, div, h1, h2, h3 { margin: 0; padding: 0; border-width: 0; box-sizing: border-box }
12
-
13
- body {
14
- color: black;
15
- background-color: #f5f2f0;
16
- font-family: monospace;
17
- }
18
-
19
- hr {
20
- border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
21
- }
22
-
23
- #top, #bottom {
24
- display: none;
25
- }
26
-
27
- #top {
28
- border-bottom: solid 1px currentColor;
29
- height: 75vh;
30
- max-height: 75vh;
31
- }
32
-
33
- #bottom {
34
- border-top: solid 1px currentColor;
35
- padding: 1ex 1rem;
36
- height: 25vh;
37
- justify-content: flex-start;
38
- align-items: center;
39
- }
40
-
41
- .panel {
42
- width: 50vw;
43
- }
44
-
45
- #left {
46
- border-right: solid 1px currentColor;
47
- }
48
-
49
- #right {
50
- border-left: solid 1px currentColor;
51
- }
52
-
53
- .panel > div {
54
- height: 75vh;
55
- max-height: 7xvh;
56
- overflow:auto;
57
- }
58
-
59
- .panel h2 {
60
- background-color: lightGray;
61
- border-bottom: solid 1px currentColor;
62
- vertical-align: middle;
63
- padding: 1ex 1rem;
64
- }
65
-
66
- .panel .output {
67
- padding: 1ex 1rem;
68
- white-space: pre-wrap;
69
- }
70
-
71
- code.language-javascript {
72
- white-space: pre-wrap !important;
73
- font-family: monospace !important;
74
- }
75
-
76
- #input {
77
- margin-right: 1rem;
78
- flex: 2;
79
- align-self: stretch;
80
- }
81
-
82
- #completions {
83
- display: none;
84
- position: absolute;
85
- bottom: 25vh;
86
- bottom: calc(25vh - 1ex);
87
- border: solid 1px currentColor;
88
- background-color: #ffefd5;
89
- z-index: 200;
90
- border-radius: 4px;
91
- padding: 1ex 1em;
92
- margin: 0 1em;
93
- }
94
-
95
- #completions > div:first-of-type {
96
- float: right;
97
- margin-top: -27px;
98
- margin-right: -25px;
99
- width: 30px;
100
- height: 30px;
101
- border-radius: 30px;
102
- font-size: 25px;
103
- padding: 0;
104
- z-index: 201;
105
- line-height: 0px;
106
- cursor: pointer;
107
- left: 100%;
108
- display:flex;
109
- align-items: center;
110
- justify-content: center;
111
- background: #605F61;
112
- border: 1px solid #AEAEAE;
113
- }
114
-
115
- #completions > div:first-of-type:hover {
116
- color: red;
117
- }
118
-
119
- #completions > div:last-of-type {
120
- overflow: auto;
121
- height: auto;
122
- max-height: 20vh;
123
- width: 100%;
124
- }
125
-
126
- .completion-group {
127
- display: flex;
128
- flex-wrap: wrap;
129
- align-items: baseline;
130
- margin-bottom: 2ex;
131
- }
132
-
133
- .completion-group:last-of-type {
134
- margin-bottom: 0;
135
- }
136
-
137
- </style>
138
- </head>
139
- <body>
140
- <pre id="loading">Loading RapydScript REPL, please wait...</pre>
141
- <div id="top">
142
- <div id="left" class="panel">
143
- <div id="left-scroll">
144
- <h2>Compiled JavaScript</h2>
145
- <div id="js" class="output"></div>
146
- </div>
147
- </div>
148
- <div id="right" class="panel">
149
- <div id="right-scroll">
150
- <h2>Output</h2>
151
- <div id="output" class="output"></div>
152
- </div>
153
- </div>
154
- </div>
155
- <div id="bottom">
156
- <textarea id="input" spellcheck="false"></textarea>
157
- <button id="run">Run!</button>
158
- </div>
159
- <div id="completions"><div title="Close completions popup"><span>✖</span></div><div></div></div>
160
- <link href="prism.css" type="text/css" rel="stylesheet"></link>
161
- </body>
162
- </html>
163
-
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>RapydScript REPL</title>
5
+ <meta charset="utf-8" />
6
+ <script type="text/javascript" src="prism.js" defer data-manual></script>
7
+ <script type="text/javascript" src="rapydscript.js" defer></script>
8
+ <script type="text/javascript" src="main.js" defer></script>
9
+ <style type="text/css">
10
+
11
+ body, div, h1, h2, h3 { margin: 0; padding: 0; border-width: 0; box-sizing: border-box }
12
+
13
+ body {
14
+ color: black;
15
+ background-color: #f5f2f0;
16
+ font-family: monospace;
17
+ }
18
+
19
+ hr {
20
+ border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
21
+ }
22
+
23
+ #top, #bottom {
24
+ display: none;
25
+ }
26
+
27
+ #top {
28
+ border-bottom: solid 1px currentColor;
29
+ height: 75vh;
30
+ max-height: 75vh;
31
+ }
32
+
33
+ #bottom {
34
+ border-top: solid 1px currentColor;
35
+ padding: 1ex 1rem;
36
+ height: 25vh;
37
+ justify-content: flex-start;
38
+ align-items: center;
39
+ }
40
+
41
+ .panel {
42
+ width: 50vw;
43
+ }
44
+
45
+ #left {
46
+ border-right: solid 1px currentColor;
47
+ }
48
+
49
+ #right {
50
+ border-left: solid 1px currentColor;
51
+ }
52
+
53
+ .panel > div {
54
+ height: 75vh;
55
+ max-height: 7xvh;
56
+ overflow:auto;
57
+ }
58
+
59
+ .panel h2 {
60
+ background-color: lightGray;
61
+ border-bottom: solid 1px currentColor;
62
+ vertical-align: middle;
63
+ padding: 1ex 1rem;
64
+ }
65
+
66
+ .panel .output {
67
+ padding: 1ex 1rem;
68
+ white-space: pre-wrap;
69
+ }
70
+
71
+ code.language-javascript {
72
+ white-space: pre-wrap !important;
73
+ font-family: monospace !important;
74
+ }
75
+
76
+ #input {
77
+ margin-right: 1rem;
78
+ flex: 2;
79
+ align-self: stretch;
80
+ }
81
+
82
+ #completions {
83
+ display: none;
84
+ position: absolute;
85
+ bottom: 25vh;
86
+ bottom: calc(25vh - 1ex);
87
+ border: solid 1px currentColor;
88
+ background-color: #ffefd5;
89
+ z-index: 200;
90
+ border-radius: 4px;
91
+ padding: 1ex 1em;
92
+ margin: 0 1em;
93
+ }
94
+
95
+ #completions > div:first-of-type {
96
+ float: right;
97
+ margin-top: -27px;
98
+ margin-right: -25px;
99
+ width: 30px;
100
+ height: 30px;
101
+ border-radius: 30px;
102
+ font-size: 25px;
103
+ padding: 0;
104
+ z-index: 201;
105
+ line-height: 0px;
106
+ cursor: pointer;
107
+ left: 100%;
108
+ display:flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ background: #605F61;
112
+ border: 1px solid #AEAEAE;
113
+ }
114
+
115
+ #completions > div:first-of-type:hover {
116
+ color: red;
117
+ }
118
+
119
+ #completions > div:last-of-type {
120
+ overflow: auto;
121
+ height: auto;
122
+ max-height: 20vh;
123
+ width: 100%;
124
+ }
125
+
126
+ .completion-group {
127
+ display: flex;
128
+ flex-wrap: wrap;
129
+ align-items: baseline;
130
+ margin-bottom: 2ex;
131
+ }
132
+
133
+ .completion-group:last-of-type {
134
+ margin-bottom: 0;
135
+ }
136
+
137
+ </style>
138
+ </head>
139
+ <body>
140
+ <pre id="loading">Loading RapydScript REPL, please wait...</pre>
141
+ <div id="top">
142
+ <div id="left" class="panel">
143
+ <div id="left-scroll">
144
+ <h2>Compiled JavaScript</h2>
145
+ <div id="js" class="output"></div>
146
+ </div>
147
+ </div>
148
+ <div id="right" class="panel">
149
+ <div id="right-scroll">
150
+ <h2>Output</h2>
151
+ <div id="output" class="output"></div>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ <div id="bottom">
156
+ <textarea id="input" spellcheck="false"></textarea>
157
+ <button id="run">Run!</button>
158
+ </div>
159
+ <div id="completions"><div title="Close completions popup"><span>✖</span></div><div></div></div>
160
+ <link href="prism.css" type="text/css" rel="stylesheet"></link>
161
+ </body>
162
+ </html>
163
+
@@ -1,139 +1,139 @@
1
- /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+abap+actionscript+apacheconf+apl+applescript+asciidoc+aspnet+autoit+autohotkey+bash+basic+batch+c+brainfuck+bison+csharp+cpp+coffeescript+ruby+css-extras+d+dart+diff+docker+eiffel+elixir+erlang+fsharp+fortran+gherkin+git+glsl+go+groovy+haml+handlebars+haskell+haxe+http+icon+inform7+ini+j+jade+java+json+julia+keyman+kotlin+latex+less+lolcode+lua+makefile+markdown+matlab+mel+mizar+monkey+nasm+nginx+nim+nix+nsis+objectivec+ocaml+oz+parigp+parser+pascal+perl+php+php-extras+powershell+processing+prolog+puppet+pure+python+q+qore+r+jsx+rest+rip+roboconf+crystal+rust+sas+sass+scss+scala+scheme+smalltalk+smarty+sql+stylus+swift+tcl+textile+twig+typescript+verilog+vhdl+vim+wiki+yaml */
2
- /**
3
- * prism.js default theme for JavaScript, CSS and HTML
4
- * Based on dabblet (http://dabblet.com)
5
- * @author Lea Verou
6
- */
7
-
8
- code[class*="language-"],
9
- pre[class*="language-"] {
10
- color: black;
11
- background: none;
12
- text-shadow: 0 1px white;
13
- font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
14
- text-align: left;
15
- white-space: pre;
16
- word-spacing: normal;
17
- word-break: normal;
18
- word-wrap: normal;
19
- line-height: 1.5;
20
-
21
- -moz-tab-size: 4;
22
- -o-tab-size: 4;
23
- tab-size: 4;
24
-
25
- -webkit-hyphens: none;
26
- -moz-hyphens: none;
27
- -ms-hyphens: none;
28
- hyphens: none;
29
- }
30
-
31
- pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
32
- code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
33
- text-shadow: none;
34
- background: #b3d4fc;
35
- }
36
-
37
- pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
38
- code[class*="language-"]::selection, code[class*="language-"] ::selection {
39
- text-shadow: none;
40
- background: #b3d4fc;
41
- }
42
-
43
- @media print {
44
- code[class*="language-"],
45
- pre[class*="language-"] {
46
- text-shadow: none;
47
- }
48
- }
49
-
50
- /* Code blocks */
51
- pre[class*="language-"] {
52
- padding: 1em;
53
- margin: .5em 0;
54
- overflow: auto;
55
- }
56
-
57
- :not(pre) > code[class*="language-"],
58
- pre[class*="language-"] {
59
- background: #f5f2f0;
60
- }
61
-
62
- /* Inline code */
63
- :not(pre) > code[class*="language-"] {
64
- padding: .1em;
65
- border-radius: .3em;
66
- white-space: normal;
67
- }
68
-
69
- .token.comment,
70
- .token.prolog,
71
- .token.doctype,
72
- .token.cdata {
73
- color: slategray;
74
- }
75
-
76
- .token.punctuation {
77
- color: #999;
78
- }
79
-
80
- .namespace {
81
- opacity: .7;
82
- }
83
-
84
- .token.property,
85
- .token.tag,
86
- .token.boolean,
87
- .token.number,
88
- .token.constant,
89
- .token.symbol,
90
- .token.deleted {
91
- color: #905;
92
- }
93
-
94
- .token.selector,
95
- .token.attr-name,
96
- .token.string,
97
- .token.char,
98
- .token.builtin,
99
- .token.inserted {
100
- color: #690;
101
- }
102
-
103
- .token.operator,
104
- .token.entity,
105
- .token.url,
106
- .language-css .token.string,
107
- .style .token.string {
108
- color: #a67f59;
109
- background: hsla(0, 0%, 100%, .5);
110
- }
111
-
112
- .token.atrule,
113
- .token.attr-value,
114
- .token.keyword {
115
- color: #07a;
116
- }
117
-
118
- .token.function {
119
- color: #DD4A68;
120
- }
121
-
122
- .token.regex,
123
- .token.important,
124
- .token.variable {
125
- color: #e90;
126
- }
127
-
128
- .token.important,
129
- .token.bold {
130
- font-weight: bold;
131
- }
132
- .token.italic {
133
- font-style: italic;
134
- }
135
-
136
- .token.entity {
137
- cursor: help;
138
- }
139
-
1
+ /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+abap+actionscript+apacheconf+apl+applescript+asciidoc+aspnet+autoit+autohotkey+bash+basic+batch+c+brainfuck+bison+csharp+cpp+coffeescript+ruby+css-extras+d+dart+diff+docker+eiffel+elixir+erlang+fsharp+fortran+gherkin+git+glsl+go+groovy+haml+handlebars+haskell+haxe+http+icon+inform7+ini+j+jade+java+json+julia+keyman+kotlin+latex+less+lolcode+lua+makefile+markdown+matlab+mel+mizar+monkey+nasm+nginx+nim+nix+nsis+objectivec+ocaml+oz+parigp+parser+pascal+perl+php+php-extras+powershell+processing+prolog+puppet+pure+python+q+qore+r+jsx+rest+rip+roboconf+crystal+rust+sas+sass+scss+scala+scheme+smalltalk+smarty+sql+stylus+swift+tcl+textile+twig+typescript+verilog+vhdl+vim+wiki+yaml */
2
+ /**
3
+ * prism.js default theme for JavaScript, CSS and HTML
4
+ * Based on dabblet (http://dabblet.com)
5
+ * @author Lea Verou
6
+ */
7
+
8
+ code[class*="language-"],
9
+ pre[class*="language-"] {
10
+ color: black;
11
+ background: none;
12
+ text-shadow: 0 1px white;
13
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
14
+ text-align: left;
15
+ white-space: pre;
16
+ word-spacing: normal;
17
+ word-break: normal;
18
+ word-wrap: normal;
19
+ line-height: 1.5;
20
+
21
+ -moz-tab-size: 4;
22
+ -o-tab-size: 4;
23
+ tab-size: 4;
24
+
25
+ -webkit-hyphens: none;
26
+ -moz-hyphens: none;
27
+ -ms-hyphens: none;
28
+ hyphens: none;
29
+ }
30
+
31
+ pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
32
+ code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
33
+ text-shadow: none;
34
+ background: #b3d4fc;
35
+ }
36
+
37
+ pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
38
+ code[class*="language-"]::selection, code[class*="language-"] ::selection {
39
+ text-shadow: none;
40
+ background: #b3d4fc;
41
+ }
42
+
43
+ @media print {
44
+ code[class*="language-"],
45
+ pre[class*="language-"] {
46
+ text-shadow: none;
47
+ }
48
+ }
49
+
50
+ /* Code blocks */
51
+ pre[class*="language-"] {
52
+ padding: 1em;
53
+ margin: .5em 0;
54
+ overflow: auto;
55
+ }
56
+
57
+ :not(pre) > code[class*="language-"],
58
+ pre[class*="language-"] {
59
+ background: #f5f2f0;
60
+ }
61
+
62
+ /* Inline code */
63
+ :not(pre) > code[class*="language-"] {
64
+ padding: .1em;
65
+ border-radius: .3em;
66
+ white-space: normal;
67
+ }
68
+
69
+ .token.comment,
70
+ .token.prolog,
71
+ .token.doctype,
72
+ .token.cdata {
73
+ color: slategray;
74
+ }
75
+
76
+ .token.punctuation {
77
+ color: #999;
78
+ }
79
+
80
+ .namespace {
81
+ opacity: .7;
82
+ }
83
+
84
+ .token.property,
85
+ .token.tag,
86
+ .token.boolean,
87
+ .token.number,
88
+ .token.constant,
89
+ .token.symbol,
90
+ .token.deleted {
91
+ color: #905;
92
+ }
93
+
94
+ .token.selector,
95
+ .token.attr-name,
96
+ .token.string,
97
+ .token.char,
98
+ .token.builtin,
99
+ .token.inserted {
100
+ color: #690;
101
+ }
102
+
103
+ .token.operator,
104
+ .token.entity,
105
+ .token.url,
106
+ .language-css .token.string,
107
+ .style .token.string {
108
+ color: #a67f59;
109
+ background: hsla(0, 0%, 100%, .5);
110
+ }
111
+
112
+ .token.atrule,
113
+ .token.attr-value,
114
+ .token.keyword {
115
+ color: #07a;
116
+ }
117
+
118
+ .token.function {
119
+ color: #DD4A68;
120
+ }
121
+
122
+ .token.regex,
123
+ .token.important,
124
+ .token.variable {
125
+ color: #e90;
126
+ }
127
+
128
+ .token.important,
129
+ .token.bold {
130
+ font-weight: bold;
131
+ }
132
+ .token.italic {
133
+ font-style: italic;
134
+ }
135
+
136
+ .token.entity {
137
+ cursor: help;
138
+ }
139
+