From a12487b6f9ffd673d0ee568a96c65233ff74bc9d Mon Sep 17 00:00:00 2001 From: Dalia Shaaban <144673861+dshaaban01@users.noreply.github.com> Date: Fri, 1 Dec 2023 11:17:34 +0000 Subject: [PATCH] interactive: Moving the pass pipeline string construction to own function (2/4) (#1822) --- xdsl/interactive/app.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/xdsl/interactive/app.py b/xdsl/interactive/app.py index c0916a752b..1c7c6f8dfe 100644 --- a/xdsl/interactive/app.py +++ b/xdsl/interactive/app.py @@ -229,9 +229,7 @@ def watch_pass_pipeline(self) -> None: Function called when the reactive variable pass_pipeline changes - updates the label to display the respective generated query in the Label. """ - new_passes = "\n" + (", " + "\n").join(p.name for p in self.pass_pipeline) - new_label = f"xdsl-opt -p {new_passes}" - self.selected_query_label.update(new_label) + self.selected_query_label.update(self.get_query_string()) self.update_current_module() @on(TextArea.Changed, "#input") @@ -275,6 +273,15 @@ def watch_current_module(self): self.output_text_area.load_text(output_text) + def get_query_string(self) -> str: + """ + Function returning a string containing the textual description of the pass + pipeline generated thus far. + """ + new_passes = "\n" + (", " + "\n").join(p.name for p in self.pass_pipeline) + new_label = f"xdsl-opt -p {new_passes}" + return new_label + def action_toggle_dark(self) -> None: """An action to toggle dark mode.""" self.dark = not self.dark @@ -296,9 +303,7 @@ def copy_output(self, event: Button.Pressed) -> None: @on(Button.Pressed, "#copy_query_button") def copy_query(self, event: Button.Pressed) -> None: """Selected passes/query Label is copied when "Copy Query" button is pressed.""" - selected_passes = "\n" + (", " + "\n").join(p.name for p in self.pass_pipeline) - query = f"xdsl-opt -p {selected_passes}" - pyclip_copy(query) + pyclip_copy(self.get_query_string()) @on(Button.Pressed, "#clear_passes_button") def clear_passes(self, event: Button.Pressed) -> None: