pyscript-programming-language 1.11.2__tar.gz → 1.12.0__tar.gz

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 (92) hide show
  1. pyscript_programming_language-1.12.0/MANIFEST.in +5 -0
  2. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/PKG-INFO +45 -13
  3. pyscript_programming_language-1.11.2/pyscript_programming_language.egg-info/PKG-INFO → pyscript_programming_language-1.12.0/README.md +42 -38
  4. pyscript_programming_language-1.12.0/changelog.md +21 -0
  5. pyscript_programming_language-1.12.0/pyproject.toml +51 -0
  6. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/__init__.py +9 -6
  7. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/__init__.pyi +6 -5
  8. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/__main__.py +92 -43
  9. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/analyzer.py +9 -7
  10. pyscript_programming_language-1.12.0/pyscript/core/cache.py +70 -0
  11. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/checks.py +1 -1
  12. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/constants.py +4 -2
  13. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/editor/bases.py +2 -1
  14. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/editor/gui.py +10 -5
  15. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/editor/terminal.py +31 -4
  16. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/handlers.py +16 -12
  17. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/highlight.py +36 -10
  18. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/interpreter.py +17 -18
  19. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/lexer.py +20 -19
  20. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/nodes.py +2 -2
  21. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/parser.py +15 -15
  22. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/position.py +2 -3
  23. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/pysbuiltins.py +31 -21
  24. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/results.py +4 -5
  25. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/runner.py +51 -22
  26. pyscript_programming_language-1.12.0/pyscript/core/shell.py +287 -0
  27. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/utils/ansi.py +1 -1
  28. pyscript_programming_language-1.12.0/pyscript/core/utils/debug.py +60 -0
  29. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/utils/decorators.py +3 -10
  30. pyscript_programming_language-1.12.0/pyscript/core/utils/generic.py +46 -0
  31. pyscript_programming_language-1.12.0/pyscript/core/utils/jsdict.py +32 -0
  32. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/version.py +10 -4
  33. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/ast/ast_dump.py +1 -1
  34. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/ast/ast_unparse.py +1 -1
  35. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/ast/ast_walk.py +1 -1
  36. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/brainfuck.pys +23 -29
  37. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/fpstimer/py_fpstimer.py +1 -1
  38. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/inspect.pys +1 -2
  39. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/parser.pys +2 -2
  40. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/site.pys +3 -3
  41. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/tokenize/tok_untokenize.py +2 -2
  42. pyscript_programming_language-1.12.0/pyscript/other/.nomedia +0 -0
  43. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/site-packages/this.pys +1 -1
  44. pyscript_programming_language-1.11.2/README.md → pyscript_programming_language-1.12.0/pyscript_programming_language.egg-info/PKG-INFO +70 -2
  45. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript_programming_language.egg-info/SOURCES.txt +7 -6
  46. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/setup.py +5 -1
  47. pyscript_programming_language-1.11.2/MANIFEST.in +0 -4
  48. pyscript_programming_language-1.11.2/pyscript/core/cache.py +0 -119
  49. pyscript_programming_language-1.11.2/pyscript/core/other/.nomedia +0 -1
  50. pyscript_programming_language-1.11.2/pyscript/core/shell.py +0 -134
  51. pyscript_programming_language-1.11.2/pyscript/core/utils/debug.py +0 -29
  52. pyscript_programming_language-1.11.2/pyscript/core/utils/generic.py +0 -80
  53. pyscript_programming_language-1.11.2/pyscript/core/utils/jsdict.py +0 -34
  54. pyscript_programming_language-1.11.2/pyscript/lib/sys.pys +0 -29
  55. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/__init__.py +0 -0
  56. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/bases.py +0 -0
  57. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/buffer.py +0 -0
  58. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/context.py +0 -0
  59. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/editor/__init__.py +0 -0
  60. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/exceptions.py +0 -0
  61. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/mapping.py +0 -0
  62. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/objects.py +0 -0
  63. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/symtab.py +0 -0
  64. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/token.py +0 -0
  65. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/utils/__init__.py +0 -0
  66. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/utils/module.py +0 -0
  67. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/utils/path.py +0 -0
  68. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/utils/similarity.py +0 -0
  69. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/core/utils/string.py +0 -0
  70. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/__hello__.pys +0 -0
  71. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/ansi.pys +0 -0
  72. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/ast/__init__.pys +0 -0
  73. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/ast/ast_literal_eval.py +0 -0
  74. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/dis.pys +0 -0
  75. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/explorer.pys +0 -0
  76. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/fpstimer/__init__.pys +0 -0
  77. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/getch.pys +0 -0
  78. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/jsdict.pys +0 -0
  79. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/keyword.pys +0 -0
  80. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/opcode.pys +0 -0
  81. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/symtable.pys +0 -0
  82. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/token.pys +0 -0
  83. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/lib/tokenize/__init__.pys +0 -0
  84. {pyscript_programming_language-1.11.2/pyscript/core → pyscript_programming_language-1.12.0/pyscript}/other/PyScript.ico +0 -0
  85. {pyscript_programming_language-1.11.2/pyscript/core → pyscript_programming_language-1.12.0/pyscript}/other/copyright +0 -0
  86. {pyscript_programming_language-1.11.2/pyscript/core → pyscript_programming_language-1.12.0/pyscript}/other/credits +0 -0
  87. {pyscript_programming_language-1.11.2/pyscript/core → pyscript_programming_language-1.12.0/pyscript}/other/license +0 -0
  88. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript/this.py +0 -0
  89. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript_programming_language.egg-info/dependency_links.txt +0 -0
  90. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript_programming_language.egg-info/requires.txt +0 -0
  91. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/pyscript_programming_language.egg-info/top_level.txt +0 -0
  92. {pyscript_programming_language-1.11.2 → pyscript_programming_language-1.12.0}/setup.cfg +0 -0
@@ -0,0 +1,5 @@
1
+ include changelog.md
2
+ include README.md
3
+
4
+ recursive-include pyscript *
5
+ global-exclude __pycache__ *.py[cod]
@@ -1,11 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyscript-programming-language
3
- Version: 1.11.2
3
+ Version: 1.12.0
4
4
  Summary: PyScript Programming Language
5
5
  Home-page: https://azzammuhyala.github.io/pyscript
6
6
  Author: azzammuhyala
7
- Author-email: azzammuhyala@gmail.com
8
- License: MIT
7
+ Author-email: azzammuhyala <azzammuhyala@gmail.com>
8
+ License-Expression: MIT
9
+ Project-URL: Homepage, https://azzammuhyala.github.io/pyscript
9
10
  Project-URL: Source, https://github.com/azzammuhyala/pyscript
10
11
  Project-URL: Bug Tracker, https://github.com/azzammuhyala/pyscript/issues
11
12
  Keywords: pyscript,pyslang,pys,programming,language,programming language
@@ -22,17 +23,8 @@ Requires-Dist: beartype; extra == "other"
22
23
  Requires-Dist: pygments; extra == "other"
23
24
  Requires-Dist: prompt_toolkit; extra == "other"
24
25
  Dynamic: author
25
- Dynamic: author-email
26
- Dynamic: classifier
27
- Dynamic: description
28
- Dynamic: description-content-type
29
26
  Dynamic: home-page
30
- Dynamic: keywords
31
- Dynamic: license
32
- Dynamic: project-url
33
- Dynamic: provides-extra
34
27
  Dynamic: requires-python
35
- Dynamic: summary
36
28
 
37
29
  # PyScript
38
30
 
@@ -78,7 +70,7 @@ And also, you can download PyScript with `git`:
78
70
  ```sh
79
71
  git clone https://github.com/azzammuhyala/pyscript
80
72
  cd pyscript
81
- python setup.py install
73
+ pip install .
82
74
  ```
83
75
 
84
76
  After that, you can run the PyScript shell (_REPL_) with this command:
@@ -94,6 +86,46 @@ If successful, you can see the version, release date, and a `>>>` like Python sh
94
86
  Familiar? There it is!
95
87
  <pre><span style="color:#549952"># get a number and operator with input()</span><span style="color:#D4D4D4"><br></span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> = </span><span style="color:#4EC9B0">float</span><span style="color:#FFD705">(</span><span style="color:#DCDCAA">input</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Enter a first number : &quot;</span><span style="color:#D45DBA">)</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"><br></span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"> = </span><span style="color:#4EC9B0">float</span><span style="color:#FFD705">(</span><span style="color:#DCDCAA">input</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Enter a second number: &quot;</span><span style="color:#D45DBA">)</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"><br></span><span style="color:#8CDCFE">op</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">input</span><span style="color:#FFD705">(</span><span style="color:#CE9178">&quot;Enter an operation (+, -, *, /): &quot;</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"><br><br></span><span style="color:#549952"># define a functions</span><span style="color:#D4D4D4"><br></span><span style="color:#307CD6">func</span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">add</span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">return</span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> + </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span><span style="color:#D4D4D4"><br><br></span><span style="color:#307CD6">func</span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">sub</span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">return</span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> - </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span><span style="color:#D4D4D4"><br><br></span><span style="color:#307CD6">func</span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">mul</span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">return</span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> * </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span><span style="color:#D4D4D4"><br><br></span><span style="color:#307CD6">func</span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">floordiv</span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#549952"># check b is zero</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">return</span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"> != </span><span style="color:#B5CEA8">0</span><span style="color:#D4D4D4"> ? </span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> / </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"> : </span><span style="color:#CE9178">&quot;Cannot be divided by 0!&quot;</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span><span style="color:#D4D4D4"><br><br></span><span style="color:#549952"># operation matching</span><span style="color:#D4D4D4"><br></span><span style="color:#C586C0">switch</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">op</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">strip</span><span style="color:#D45DBA">()</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">case</span><span style="color:#D4D4D4"> </span><span style="color:#CE9178">&#x27;+&#x27;</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">result</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">add</span><span style="color:#D45DBA">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Result of {} + {} = {}&quot;</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">format</span><span style="color:#1A9FFF">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">result</span><span style="color:#1A9FFF">)</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">break</span><span style="color:#D4D4D4"><br><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">case</span><span style="color:#D4D4D4"> </span><span style="color:#CE9178">&#x27;-&#x27;</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">result</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">sub</span><span style="color:#D45DBA">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Result of {} - {} = {}&quot;</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">format</span><span style="color:#1A9FFF">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">result</span><span style="color:#1A9FFF">)</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">break</span><span style="color:#D4D4D4"><br><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">case</span><span style="color:#D4D4D4"> </span><span style="color:#CE9178">&#x27;*&#x27;</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">result</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">mul</span><span style="color:#D45DBA">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Result of {} * {} = {}&quot;</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">format</span><span style="color:#1A9FFF">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">result</span><span style="color:#1A9FFF">)</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">break</span><span style="color:#D4D4D4"><br><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">case</span><span style="color:#D4D4D4"> </span><span style="color:#CE9178">&#x27;/&#x27;</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">result</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">floordiv</span><span style="color:#D45DBA">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Result of {} / {} = {}&quot;</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">format</span><span style="color:#1A9FFF">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">result</span><span style="color:#1A9FFF">)</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">break</span><span style="color:#D4D4D4"><br><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">default</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Unknown operation&quot;</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span></pre>
96
88
 
89
+ ## Library Requirements
90
+ | No | Name | Status |
91
+ |:--:|:------------------|:----------------------:|
92
+ | 1 | `argparse` | **required** |
93
+ | 2 | `builtins` | **required** |
94
+ | 3 | `collections.abc` | **required** |
95
+ | 4 | `functools` | **required** |
96
+ | 5 | `html` | **required** |
97
+ | 6 | `importlib` | **required** |
98
+ | 7 | `inspect` | **required** |
99
+ | 8 | `io` | **required** |
100
+ | 9 | `itertools` | **required** |
101
+ | 10 | `json` | **required** |
102
+ | 11 | `math` | **required** |
103
+ | 12 | `operator` | **required** |
104
+ | 13 | `os` | **required** |
105
+ | 14 | `re` | **required** |
106
+ | 15 | `sys` | **required** |
107
+ | 16 | `threading` | **required** |
108
+ | 17 | `types` | **required** |
109
+ | 18 | `typing` | **required** |
110
+ | 19 | `unicodedata` | **required** |
111
+ | 1 | `msvcrt` | **required (library)** |
112
+ | 2 | `shutil` | **required (library)** |
113
+ | 3 | `stat` | **required (library)** |
114
+ | 4 | `termios` | **required (library)** |
115
+ | 5 | `time` | **required (library)** |
116
+ | 6 | `tty` | **required (library)** |
117
+ | 1 | `beartype` | **optional** |
118
+ | 2 | `google.colab` | **optional** |
119
+ | 3 | `prompt_toolkit` | **optional** |
120
+ | 4 | `pygments` | **optional** |
121
+ | 5 | `tkinter` | **optional** |
122
+
123
+ ### Status Explanation
124
+ - **required**: Required by PyScript entirely.
125
+ - **required (library)**: Required PyScript library (located in `pyscript/lib`). PyScript is not affected unless you
126
+ import it.
127
+ - **optional**: Not required, but if it is present, some features can be used without issue.
128
+
97
129
  ## Behind it
98
130
  This language created from based up on a
99
131
  [YouTube tutorial](https://www.youtube.com/playlist?list=PLZQftyCk7_SdoVexSmwy_tBgs7P0b97yD) (check more on GitHub
@@ -1,39 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: pyscript-programming-language
3
- Version: 1.11.2
4
- Summary: PyScript Programming Language
5
- Home-page: https://azzammuhyala.github.io/pyscript
6
- Author: azzammuhyala
7
- Author-email: azzammuhyala@gmail.com
8
- License: MIT
9
- Project-URL: Source, https://github.com/azzammuhyala/pyscript
10
- Project-URL: Bug Tracker, https://github.com/azzammuhyala/pyscript/issues
11
- Keywords: pyscript,pyslang,pys,programming,language,programming language
12
- Classifier: Programming Language :: Python
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Intended Audience :: Developers
15
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
- Classifier: Topic :: Software Development :: Interpreters
17
- Classifier: Topic :: Software Development :: Compilers
18
- Requires-Python: >=3.10
19
- Description-Content-Type: text/markdown
20
- Provides-Extra: other
21
- Requires-Dist: beartype; extra == "other"
22
- Requires-Dist: pygments; extra == "other"
23
- Requires-Dist: prompt_toolkit; extra == "other"
24
- Dynamic: author
25
- Dynamic: author-email
26
- Dynamic: classifier
27
- Dynamic: description
28
- Dynamic: description-content-type
29
- Dynamic: home-page
30
- Dynamic: keywords
31
- Dynamic: license
32
- Dynamic: project-url
33
- Dynamic: provides-extra
34
- Dynamic: requires-python
35
- Dynamic: summary
36
-
37
1
  # PyScript
38
2
 
39
3
  <div align="center">
@@ -78,7 +42,7 @@ And also, you can download PyScript with `git`:
78
42
  ```sh
79
43
  git clone https://github.com/azzammuhyala/pyscript
80
44
  cd pyscript
81
- python setup.py install
45
+ pip install .
82
46
  ```
83
47
 
84
48
  After that, you can run the PyScript shell (_REPL_) with this command:
@@ -94,8 +58,48 @@ If successful, you can see the version, release date, and a `>>>` like Python sh
94
58
  Familiar? There it is!
95
59
  <pre><span style="color:#549952"># get a number and operator with input()</span><span style="color:#D4D4D4"><br></span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> = </span><span style="color:#4EC9B0">float</span><span style="color:#FFD705">(</span><span style="color:#DCDCAA">input</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Enter a first number : &quot;</span><span style="color:#D45DBA">)</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"><br></span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"> = </span><span style="color:#4EC9B0">float</span><span style="color:#FFD705">(</span><span style="color:#DCDCAA">input</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Enter a second number: &quot;</span><span style="color:#D45DBA">)</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"><br></span><span style="color:#8CDCFE">op</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">input</span><span style="color:#FFD705">(</span><span style="color:#CE9178">&quot;Enter an operation (+, -, *, /): &quot;</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"><br><br></span><span style="color:#549952"># define a functions</span><span style="color:#D4D4D4"><br></span><span style="color:#307CD6">func</span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">add</span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">return</span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> + </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span><span style="color:#D4D4D4"><br><br></span><span style="color:#307CD6">func</span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">sub</span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">return</span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> - </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span><span style="color:#D4D4D4"><br><br></span><span style="color:#307CD6">func</span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">mul</span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">return</span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> * </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span><span style="color:#D4D4D4"><br><br></span><span style="color:#307CD6">func</span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">floordiv</span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#549952"># check b is zero</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">return</span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"> != </span><span style="color:#B5CEA8">0</span><span style="color:#D4D4D4"> ? </span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4"> / </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4"> : </span><span style="color:#CE9178">&quot;Cannot be divided by 0!&quot;</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span><span style="color:#D4D4D4"><br><br></span><span style="color:#549952"># operation matching</span><span style="color:#D4D4D4"><br></span><span style="color:#C586C0">switch</span><span style="color:#D4D4D4"> </span><span style="color:#FFD705">(</span><span style="color:#8CDCFE">op</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">strip</span><span style="color:#D45DBA">()</span><span style="color:#FFD705">)</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">{</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">case</span><span style="color:#D4D4D4"> </span><span style="color:#CE9178">&#x27;+&#x27;</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">result</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">add</span><span style="color:#D45DBA">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Result of {} + {} = {}&quot;</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">format</span><span style="color:#1A9FFF">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">result</span><span style="color:#1A9FFF">)</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">break</span><span style="color:#D4D4D4"><br><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">case</span><span style="color:#D4D4D4"> </span><span style="color:#CE9178">&#x27;-&#x27;</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">result</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">sub</span><span style="color:#D45DBA">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Result of {} - {} = {}&quot;</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">format</span><span style="color:#1A9FFF">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">result</span><span style="color:#1A9FFF">)</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">break</span><span style="color:#D4D4D4"><br><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">case</span><span style="color:#D4D4D4"> </span><span style="color:#CE9178">&#x27;*&#x27;</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">result</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">mul</span><span style="color:#D45DBA">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Result of {} * {} = {}&quot;</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">format</span><span style="color:#1A9FFF">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">result</span><span style="color:#1A9FFF">)</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">break</span><span style="color:#D4D4D4"><br><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">case</span><span style="color:#D4D4D4"> </span><span style="color:#CE9178">&#x27;/&#x27;</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#8CDCFE">result</span><span style="color:#D4D4D4"> = </span><span style="color:#DCDCAA">floordiv</span><span style="color:#D45DBA">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Result of {} / {} = {}&quot;</span><span style="color:#D4D4D4">.</span><span style="color:#DCDCAA">format</span><span style="color:#1A9FFF">(</span><span style="color:#8CDCFE">a</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">b</span><span style="color:#D4D4D4">, </span><span style="color:#8CDCFE">result</span><span style="color:#1A9FFF">)</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">break</span><span style="color:#D4D4D4"><br><br></span><span style="color:#D4D4D4"> </span><span style="color:#C586C0">default</span><span style="color:#D4D4D4">:</span><span style="color:#D4D4D4"><br></span><span style="color:#D4D4D4"> </span><span style="color:#DCDCAA">print</span><span style="color:#D45DBA">(</span><span style="color:#CE9178">&quot;Unknown operation&quot;</span><span style="color:#D45DBA">)</span><span style="color:#D4D4D4"><br></span><span style="color:#FFD705">}</span></pre>
96
60
 
61
+ ## Library Requirements
62
+ | No | Name | Status |
63
+ |:--:|:------------------|:----------------------:|
64
+ | 1 | `argparse` | **required** |
65
+ | 2 | `builtins` | **required** |
66
+ | 3 | `collections.abc` | **required** |
67
+ | 4 | `functools` | **required** |
68
+ | 5 | `html` | **required** |
69
+ | 6 | `importlib` | **required** |
70
+ | 7 | `inspect` | **required** |
71
+ | 8 | `io` | **required** |
72
+ | 9 | `itertools` | **required** |
73
+ | 10 | `json` | **required** |
74
+ | 11 | `math` | **required** |
75
+ | 12 | `operator` | **required** |
76
+ | 13 | `os` | **required** |
77
+ | 14 | `re` | **required** |
78
+ | 15 | `sys` | **required** |
79
+ | 16 | `threading` | **required** |
80
+ | 17 | `types` | **required** |
81
+ | 18 | `typing` | **required** |
82
+ | 19 | `unicodedata` | **required** |
83
+ | 1 | `msvcrt` | **required (library)** |
84
+ | 2 | `shutil` | **required (library)** |
85
+ | 3 | `stat` | **required (library)** |
86
+ | 4 | `termios` | **required (library)** |
87
+ | 5 | `time` | **required (library)** |
88
+ | 6 | `tty` | **required (library)** |
89
+ | 1 | `beartype` | **optional** |
90
+ | 2 | `google.colab` | **optional** |
91
+ | 3 | `prompt_toolkit` | **optional** |
92
+ | 4 | `pygments` | **optional** |
93
+ | 5 | `tkinter` | **optional** |
94
+
95
+ ### Status Explanation
96
+ - **required**: Required by PyScript entirely.
97
+ - **required (library)**: Required PyScript library (located in `pyscript/lib`). PyScript is not affected unless you
98
+ import it.
99
+ - **optional**: Not required, but if it is present, some features can be used without issue.
100
+
97
101
  ## Behind it
98
102
  This language created from based up on a
99
103
  [YouTube tutorial](https://www.youtube.com/playlist?list=PLZQftyCk7_SdoVexSmwy_tBgs7P0b97yD) (check more on GitHub
100
104
  [here](https://github.com/davidcallanan/py-myopl-code) by **@davidcallanan**). At least, it takes about 6 months to
101
- learn it, and also need to learn general things that exist in other programming languages.
105
+ learn it, and also need to learn general things that exist in other programming languages.
@@ -0,0 +1,21 @@
1
+ # Change Log
2
+
3
+ ## [1.12.0] - 18/02/2026
4
+
5
+ ### Added
6
+ - The `sys` (PyScript) module is fully stored at the Python level (stored in `pyscript.core.cache`).
7
+ - The `/clear` shell command support for the **Google Colab** platform.
8
+ - The `/clean` shell command resets the `parser_flags` value.
9
+ - Adds _insert_, _pageup_, and _pagedown_ key system in the terminal editor.
10
+ - Adds new argument flag `-k/--classic-line-shell` and enviroment `PYSCRIPT_CLASSIC_LINE_SHELL`.
11
+ - Interactive shell input is supported and is the default with `prompt_toolkit`.
12
+ - Using a new way to wrap and configure this packages with `pyproject.toml`.
13
+ - _etc_.
14
+
15
+ ### Fixed
16
+ - **Fixed some bugs**.
17
+ - _etc._
18
+
19
+ ### Removed
20
+ - `pyscript.core.cache.PysHook` object.
21
+ - _etc_.
@@ -0,0 +1,51 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "pyscript-programming-language"
7
+ version = "1.12.0"
8
+ description = "PyScript Programming Language"
9
+ readme = { file = "README.md", content-type = "text/markdown" }
10
+ requires-python = ">=3.10"
11
+ license = "MIT"
12
+
13
+ authors = [
14
+ { name = "azzammuhyala", email = "azzammuhyala@gmail.com" }
15
+ ]
16
+
17
+ keywords = [
18
+ "pyscript",
19
+ "pyslang",
20
+ "pys",
21
+ "programming",
22
+ "language",
23
+ "programming language"
24
+ ]
25
+
26
+ classifiers = [
27
+ "Programming Language :: Python",
28
+ "Programming Language :: Python :: 3",
29
+ "Intended Audience :: Developers",
30
+ "Topic :: Software Development :: Libraries :: Python Modules",
31
+ "Topic :: Software Development :: Interpreters",
32
+ "Topic :: Software Development :: Compilers"
33
+ ]
34
+
35
+ [project.urls]
36
+ Homepage = "https://azzammuhyala.github.io/pyscript"
37
+ Source = "https://github.com/azzammuhyala/pyscript"
38
+ "Bug Tracker" = "https://github.com/azzammuhyala/pyscript/issues"
39
+
40
+ [project.optional-dependencies]
41
+ other = [
42
+ "beartype",
43
+ "pygments",
44
+ "prompt_toolkit"
45
+ ]
46
+
47
+ [tool.setuptools.packages.find]
48
+ include = ["pyscript", "pyscript.*"]
49
+
50
+ [tool.setuptools]
51
+ include-package-data = true
@@ -9,11 +9,13 @@ if __import__('sys').version_info < (3, 10):
9
9
  from . import core
10
10
 
11
11
  from .core.constants import (
12
- DEFAULT, NO_COLOR, DEBUG, SILENT, RETURN_RESULT, DONT_SHOW_BANNER_ON_SHELL, HIGHLIGHT, DICT_TO_JSDICT
12
+ DEFAULT, NO_COLOR, DEBUG, SILENT, RETURN_RESULT, DONT_SHOW_BANNER_ON_SHELL, CLASSIC_LINE_SHELL, LEXER_HIGHLIGHT,
13
+ DICT_TO_JSDICT
13
14
  )
14
- from .core.cache import undefined, hook
15
+ from .core.cache import undefined
15
16
  from .core.highlight import (
16
- HLFMT_HTML, HLFMT_ANSI, HLFMT_BBCODE, pys_highlight, PygmentsPyScriptStyle, PygmentsPyScriptLexer
17
+ HLFMT_HTML, HLFMT_ANSI, HLFMT_BBCODE, pys_highlight, PygmentsPyScriptStyle, PygmentsPyScriptLexer,
18
+ PygmentsPyScriptShellLexer
17
19
  )
18
20
  from .core.runner import pys_runner, pys_exec, pys_eval, pys_require, pys_shell
19
21
  from .core.version import version, version_info, __version__, __date__
@@ -26,13 +28,13 @@ __all__ = (
26
28
  'SILENT',
27
29
  'RETURN_RESULT',
28
30
  'DONT_SHOW_BANNER_ON_SHELL',
29
- 'HIGHLIGHT',
31
+ 'CLASSIC_LINE_SHELL',
32
+ 'LEXER_HIGHLIGHT',
30
33
  'DICT_TO_JSDICT',
31
34
  'HLFMT_HTML',
32
35
  'HLFMT_ANSI',
33
36
  'HLFMT_BBCODE',
34
37
  'undefined',
35
- 'hook',
36
38
  'version',
37
39
  'version_info',
38
40
  'pys_highlight',
@@ -42,5 +44,6 @@ __all__ = (
42
44
  'pys_require',
43
45
  'pys_shell',
44
46
  'PygmentsPyScriptStyle',
45
- 'PygmentsPyScriptLexer'
47
+ 'PygmentsPyScriptLexer',
48
+ 'PygmentsPyScriptShellLexer'
46
49
  )
@@ -2,7 +2,7 @@ from typing import TYPE_CHECKING, Any, Callable, Iterable, Literal, Optional
2
2
 
3
3
  if TYPE_CHECKING:
4
4
  from .core.buffer import PysFileBuffer
5
- from .core.cache import PysUndefined, PysHook
5
+ from .core.cache import PysUndefined
6
6
  from .core.context import PysContext
7
7
  from .core.highlight import _PysHighlightFormatter
8
8
  from .core.position import PysPosition
@@ -16,7 +16,8 @@ if TYPE_CHECKING:
16
16
  from . import core as core
17
17
  from .core.highlight import (
18
18
  PygmentsPyScriptStyle as PygmentsPyScriptStyle,
19
- PygmentsPyScriptLexer as PygmentsPyScriptLexer
19
+ PygmentsPyScriptLexer as PygmentsPyScriptLexer,
20
+ PygmentsPyScriptShellLexer as PygmentsPyScriptShellLexer
20
21
  )
21
22
 
22
23
  DEFAULT: int
@@ -25,7 +26,8 @@ DEBUG: int
25
26
  SILENT: int
26
27
  RETURN_RESULT: int
27
28
  DONT_SHOW_BANNER_ON_SHELL: int
28
- HIGHLIGHT: int
29
+ CLASSIC_LINE_SHELL: int
30
+ LEXER_HIGHLIGHT: int
29
31
  DICT_TO_JSDICT: int
30
32
 
31
33
  HLFMT_HTML: _PysHighlightFormatter
@@ -33,13 +35,12 @@ HLFMT_ANSI: _PysHighlightFormatter
33
35
  HLFMT_BBCODE: _PysHighlightFormatter
34
36
 
35
37
  undefined: PysUndefined
36
- hook: PysHook
37
38
  version: str
38
39
  version_info: PysVersionInfo
39
40
 
40
41
  def pys_highlight(
41
42
  source: str | bytes | bytearray | Iterable | BuiltinMethodType | IOBase | PysFileBuffer,
42
- format: Optional[
43
+ formatter: Optional[
43
44
  Callable[
44
45
  [
45
46
  str | Literal[