Help customizing Harlowe typewriter macro

Hey Im using Harlowe 3.2.0 and I would like the typewriting effect to stop after one loop. So when people go back the text will be already there… can someone help?

Here is the macro:

:: Start
<!-- Set the text to show -->
(set: $typewriterText to "Hello, world!")
<!-- Display (call) the Typewriter passage -->
(display: "Typewriter")

:: Typewriter
{
  <!-- Create a variable to track the position within the $typewriterText string -->
  (set: $typewriterPos to 1)

  <!-- Create a hook to hold the typed text -->
  |typewriterOutput>[]

  <!-- Set a delay of 20ms seconds per loop -->
  (live: 20ms)[

    <!-- Add the next character to the hook -->
    (append: ?typewriterOutput)[(print: $typewriterText's $typewriterPos)]

    <!-- Update the position -->
    (set: $typewriterPos to it + 1)

    <!-- If it's gone past the end, stop -->
    (if: $typewriterPos is $typewriterText's length + 1)[
      (stop:)
    ]
  ]
}

You can use the visits keyword to determine how many times the Reader has visited the ‘current’ passage, and only instigate the ‘typewriter’ effect if it is the first visit.

Change the contents of your Typewriter Passage to something like the following…

{
	(if: visits > 1)[
		(print: $typewriterText)
	]
	(else:)[
		(set: $typewriterPos to 1)

		|typewriterOutput>[]

		(live: 20ms)[
			(append: ?typewriterOutput)[(print: $typewriterText's $typewriterPos)]
			(set: $typewriterPos to it + 1)
			(if: $typewriterPos is $typewriterText's length + 1)[
				(stop:)
			]
		]
	]
}

Interesting! Going to try it out! Thanks.