streamdown 0.28.0__py3-none-any.whl → 0.30.0__py3-none-any.whl
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.
- streamdown/dd.mv +3 -0
- streamdown/sd.py +8 -2
- {streamdown-0.28.0.dist-info → streamdown-0.30.0.dist-info}/METADATA +7 -6
- streamdown-0.30.0.dist-info/RECORD +10 -0
- streamdown-0.28.0.dist-info/RECORD +0 -9
- {streamdown-0.28.0.dist-info → streamdown-0.30.0.dist-info}/WHEEL +0 -0
- {streamdown-0.28.0.dist-info → streamdown-0.30.0.dist-info}/entry_points.txt +0 -0
- {streamdown-0.28.0.dist-info → streamdown-0.30.0.dist-info}/licenses/LICENSE.MIT +0 -0
streamdown/dd.mv
ADDED
streamdown/sd.py
CHANGED
|
@@ -29,6 +29,7 @@ import shutil
|
|
|
29
29
|
import traceback
|
|
30
30
|
import colorsys
|
|
31
31
|
import base64
|
|
32
|
+
import subprocess
|
|
32
33
|
from io import BytesIO
|
|
33
34
|
from term_image.image import from_file, from_url
|
|
34
35
|
import pygments.util
|
|
@@ -835,9 +836,15 @@ def parse(stream):
|
|
|
835
836
|
if ttl > 1+tline_len:
|
|
836
837
|
break
|
|
837
838
|
|
|
839
|
+
|
|
838
840
|
newlen = visible_length("".join(parts[i:]))
|
|
839
841
|
|
|
840
842
|
snipfrom = newlen - len(tline) + 2
|
|
843
|
+
# this is all getting replaced with the new lexer so let's give a cheap
|
|
844
|
+
# fix for now:
|
|
845
|
+
if snipfrom == 1:
|
|
846
|
+
snipfrom = 0
|
|
847
|
+
|
|
841
848
|
if snipfrom > 0:
|
|
842
849
|
parts[i] = parts[i][snipfrom:]
|
|
843
850
|
|
|
@@ -953,7 +960,7 @@ def parse(stream):
|
|
|
953
960
|
continue
|
|
954
961
|
|
|
955
962
|
# <h1> ... <h6>
|
|
956
|
-
header_match = re.match(r"^\s*(#{1,6})\s
|
|
963
|
+
header_match = re.match(r"^\s*(#{1,6})\s*(.*)", line)
|
|
957
964
|
if header_match:
|
|
958
965
|
level = len(header_match.group(1))
|
|
959
966
|
yield emit_h(level, header_match.group(2))
|
|
@@ -1086,7 +1093,6 @@ def main():
|
|
|
1086
1093
|
import importlib.metadata
|
|
1087
1094
|
print(importlib.metadata.version("streamdown"))
|
|
1088
1095
|
except importlib.metadata.PackageNotFoundError:
|
|
1089
|
-
import subprocess
|
|
1090
1096
|
print(subprocess.run(
|
|
1091
1097
|
['git', 'describe', '--always', '--dirty', '--tags'],
|
|
1092
1098
|
cwd=os.path.dirname(os.path.abspath(__file__)),
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: streamdown
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.30.0
|
|
4
4
|
Summary: A streaming markdown renderer for modern terminals with syntax highlighting
|
|
5
|
-
Project-URL: Homepage, https://github.com/
|
|
6
|
-
Project-URL: Bug Tracker, https://github.com/
|
|
5
|
+
Project-URL: Homepage, https://github.com/day50-dev/Streamdown
|
|
6
|
+
Project-URL: Bug Tracker, https://github.com/day50-dev/Streamdown/issues
|
|
7
7
|
Author-email: Chris McKenzie <kristopolous@yahoo.com>
|
|
8
8
|
License: MIT
|
|
9
9
|
License-File: LICENSE.MIT
|
|
@@ -56,7 +56,7 @@ Watch Streamdown run over a FIFO pipe through `tee` in tmux on an M4 using BitNe
|
|
|
56
56
|
### Provides clean copyable code for long code lines
|
|
57
57
|
Other renderers inject line breaks when copying code that wraps around. Streamdown's better and now you are too!
|
|
58
58
|
|
|
59
|
-
Set `PrettyBroken` and `PrettyPad` to False to make Streamdown ensure code is always cleanly mouse
|
|
59
|
+
Set `PrettyBroken` and `PrettyPad` to False in your toml (see below) to make Streamdown ensure code is always cleanly mouse copyable
|
|
60
60
|

|
|
61
61
|
|
|
62
62
|
|
|
@@ -64,7 +64,7 @@ Set `PrettyBroken` and `PrettyPad` to False to make Streamdown ensure code is al
|
|
|
64
64
|
Here's kitty and alacritty.
|
|
65
65
|

|
|
66
66
|
|
|
67
|
-
###
|
|
67
|
+
### Hyperlinks (OSC 8) and Clipboard (OSC 52)
|
|
68
68
|
The optional `Clipboard` feature puts the final codeblock into your clipboard. See below for details.
|
|
69
69
|
|
|
70
70
|
[links.webm](https://github.com/user-attachments/assets/a5f71791-7c58-4183-ad3b-309f470c08a3)
|
|
@@ -97,7 +97,7 @@ It is designed for AI and can be used to do parser based sophisticated pipelines
|
|
|
97
97
|
You can also just use it like a normal person.
|
|
98
98
|
## Configuration
|
|
99
99
|
|
|
100
|
-
It's located at `~/.config/streamdown/config.toml`
|
|
100
|
+
It's located at `~/.config/streamdown/config.toml` in Linux and `~/Library/Application Support/streamdown/config.toml` in macOS. If this file does not exist upon first run, it will be created with default values.
|
|
101
101
|
|
|
102
102
|
Here are the sections:
|
|
103
103
|
|
|
@@ -199,3 +199,4 @@ After the git clone least one of these should work, hopefully. it's using the mo
|
|
|
199
199
|
$ pip install -e .
|
|
200
200
|
$ uv pip install -e .
|
|
201
201
|
|
|
202
|
+
Explore the rest of [DAY50](https://github.com/day50-dev). Feel free to follow us, there's some exciting stuff coming.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
streamdown/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
streamdown/dd.mv,sha256=6IQPirmr8K6_vsGc6NZ8n0WK8cHWbNBpVk9l2REFIKk,235
|
|
3
|
+
streamdown/sd.py,sha256=dBg3BMpltxu0Y1IDVeS6IPHfqlNJTDwWXuWbdU47MP0,44490
|
|
4
|
+
streamdown/plugins/README.md,sha256=KWqYELs9WkKJmuDzYv3cvPlZMkArsNCBUe4XDoTLjLA,1143
|
|
5
|
+
streamdown/plugins/latex.py,sha256=xZMGMdx_Sw4X1piZejXFHfEG9qazU4fGeceiMI0h13Y,648
|
|
6
|
+
streamdown-0.30.0.dist-info/METADATA,sha256=P7M1o9yKEtJKoiwnRknqUw9gXBsscPd1jZb9LpFWang,9892
|
|
7
|
+
streamdown-0.30.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
8
|
+
streamdown-0.30.0.dist-info/entry_points.txt,sha256=HroKFsFMGf_h9PRTE96NjvjJQWupMW5TGP5RGUr1O_Q,74
|
|
9
|
+
streamdown-0.30.0.dist-info/licenses/LICENSE.MIT,sha256=SnY46EPirUsF20dZDR8HpyVgS2_4Tjxuc6f-4OdqO7U,1070
|
|
10
|
+
streamdown-0.30.0.dist-info/RECORD,,
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
streamdown/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
streamdown/sd.py,sha256=sW2Hik5TXM7kh4U_BoJ2IjPUtewuUt0oF3XFoYDfRqw,44298
|
|
3
|
-
streamdown/plugins/README.md,sha256=KWqYELs9WkKJmuDzYv3cvPlZMkArsNCBUe4XDoTLjLA,1143
|
|
4
|
-
streamdown/plugins/latex.py,sha256=xZMGMdx_Sw4X1piZejXFHfEG9qazU4fGeceiMI0h13Y,648
|
|
5
|
-
streamdown-0.28.0.dist-info/METADATA,sha256=ZhCNtksYdkp0o37Hg8kDSDOZvy01DdBu26S7RAGVZq8,9726
|
|
6
|
-
streamdown-0.28.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
7
|
-
streamdown-0.28.0.dist-info/entry_points.txt,sha256=HroKFsFMGf_h9PRTE96NjvjJQWupMW5TGP5RGUr1O_Q,74
|
|
8
|
-
streamdown-0.28.0.dist-info/licenses/LICENSE.MIT,sha256=SnY46EPirUsF20dZDR8HpyVgS2_4Tjxuc6f-4OdqO7U,1070
|
|
9
|
-
streamdown-0.28.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|