Skip to content

Commit f8ea5c4

Browse files
committed
Add flag for controlling vertical overflow of response (#7)
1 parent d66228c commit f8ea5c4

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

src/pytgpt/console.py

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ def stream_output(
5555
title_generator: object = None,
5656
title_generator_params: dict = {},
5757
code_theme: str = "monokai",
58+
vertical_overflow: str = "ellipsis",
5859
) -> None:
5960
"""Stdout streaming response
6061
@@ -67,13 +68,14 @@ def stream_output(
6768
title_generator (object, optional): Function for generating title. Defaults to None.
6869
title_generator_params (dict, optional): Kwargs for `title_generator` function. Defaults to {}.
6970
code_theme (str, optional): Theme for styling codes. Defaults to `monokai`
71+
vertical_overflow (str, optional): Vertical overflow behaviour on content display. Defaultss to ellipsis.
7072
"""
7173
render_this = ""
7274
with Live(
7375
render_this,
7476
transient=transient,
7577
refresh_per_second=8,
76-
vertical_overflow="visible",
78+
vertical_overflow=vertical_overflow,
7779
) as live:
7880
for entry in iterable:
7981
render_this += entry
@@ -323,6 +325,7 @@ def __init__(
323325
self.color = "cyan"
324326
self.code_theme = "monokai"
325327
self.quiet = quiet
328+
self.vertical_overflow = "ellipsis"
326329

327330
def output_bond(
328331
self,
@@ -557,7 +560,7 @@ def default(self, line, exit_on_error: bool = False):
557560
with Live(
558561
console=console_,
559562
refresh_per_second=16,
560-
vertical_overflow="visible",
563+
vertical_overflow=self.vertical_overflow,
561564
) as live:
562565
for response in generated_response:
563566
live.update(
@@ -577,6 +580,7 @@ def default(self, line, exit_on_error: bool = False):
577580
color=self.color,
578581
),
579582
code_theme=self.code_theme,
583+
vertical_overflow=self.vertical_overflow,
580584
)
581585
except (KeyboardInterrupt, EOFError):
582586
busy_bar.stop_spinning()
@@ -728,6 +732,14 @@ def tgpt2_():
728732
help="Name of LLM provider.",
729733
envvar="llm_provider",
730734
)
735+
@click.option(
736+
"-vo",
737+
"--vertical-overflow",
738+
envvar="vertical_overflow",
739+
help="Vertical overflow behaviour on content display",
740+
type=click.Choice(["visible", "crop", "ellipsis"]),
741+
default="ellipsis",
742+
)
731743
@click.option(
732744
"-q",
733745
"--quiet",
@@ -762,6 +774,7 @@ def interactive(
762774
awesome_prompt,
763775
proxy_path,
764776
provider,
777+
vertical_overflow,
765778
quiet,
766779
new,
767780
):
@@ -789,6 +802,7 @@ def interactive(
789802
bot.code_theme = code_theme
790803
bot.color = font_color
791804
bot.prettify = prettify
805+
bot.vertical_overflow = vertical_overflow
792806
if prompt:
793807
bot.default(prompt)
794808
bot.cmdloop()
@@ -935,6 +949,14 @@ def interactive(
935949
help="Name of LLM provider.",
936950
envvar="llm_provider",
937951
)
952+
@click.option(
953+
"-vo",
954+
"--vertical-overflow",
955+
envvar="vertical_overflow",
956+
help="Vertical overflow behaviour on content display",
957+
type=click.Choice(["visible", "crop", "ellipsis"]),
958+
default="ellipsis",
959+
)
938960
@click.option(
939961
"-q",
940962
"--quiet",
@@ -972,6 +994,7 @@ def generate(
972994
awesome_prompt,
973995
proxy_path,
974996
provider,
997+
vertical_overflow,
975998
quiet,
976999
new,
9771000
):
@@ -1028,6 +1051,7 @@ def timeout_handler(signum, frame):
10281051
bot.code_theme = code_theme
10291052
bot.color = font_color
10301053
bot.prettify = prettify
1054+
bot.vertical_overflow = vertical_overflow
10311055
bot.default(prompt, True)
10321056

10331057

0 commit comments

Comments
 (0)