A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.racket-lang.org/tools/drracket_rep.html below:

18 drracket:rep

This class implements a read-eval-print loop for DrRacket. User submitted evaluations in DrRacket are evaluated asynchronously, in an eventspace created for the user. No evaluations carried out by this class affect the implementation that uses it.

Resets any error highlighting in this editor.

Resets any error highlighting in this editor.

This displays each of the elements of results in the interactions window, expect those elements of results that are void. Those are just ignored.

Evaluates the program in the

port

argument. If

complete-program?

is

#t

, this method calls the

front-end/complete-program

to evaluate the program. If it is

#f

, it calls

front-end/interaction

method. When evaluation finishes, it calls

cleanup

on the user’s main thread.

Just before calling cleanup, this invokes the thunk in drracket:rep:after-expression (if any). It takes the value of the drracket:rep:after-expression parameter on the DrRacket main thread, but invokes the thunk on the user’s thread.

This method must be called from the DrRacket main thread.

Called from the DrRacket main thread after

evaluate-from-port

finishes (no matter how it finishes).

If the call to evaluate-from-port was from the call that sets up the initial read-eval-print loop, then the value of drracket:rep:module-language-initial-run will be #t; otherwise it will be #f.

Use run-on-user-thread to initialize the user’s parameters, etc.

Called from the DrRacket thread after the language’s on-execute method has been invoked, and after the special values have been setup (the ones registered via drracket:language:add-snip-value).

Do not print to current-output-port or current-error-port during the dynamic extent of the thunk passed to run-on-user-thread because this can deadlock. IO is still, in general, fine, but the current-error-port and current-output-port are set to the user’s ports that print into the interactions window and are not in a good state during those calls.

Specification: Indicates the highlighted error range. The state for the error range is shared across all instances of this class, so there can only be one highlighted error region at a time.

Default implementation: If #f, no region is highlighted. If a list, the first element is the editor where the range is highlighted and the second and third are the beginning and ending regions, respectively.

This is the custodian controlling the user’s program.

This is the user’s eventspace. The result of

get-user-thread

is the main thread of this eventspace.

Returns the user’s language-settings for the most recently run program. Consider using

get-next-settings

instead, since the user may have selected a new language since the program was last run.

Returns the user’s namespace. This method returns a new namespace each time Run is clicked.

This method returns the thread that the user’s code runs in. It returns a different result each time the user runs the program.

It is #f before the first time the user click on the Run button or the evaluation has been killed.

This thread has all of its parameters initialized according to the settings of the current execution. See Parameters for more information about parameters.

This method highlights a series of dis-contiguous ranges in the editor.

It puts the caret at the location of the first error.

Highlights the errors associated with the exn (only syntax and read errors – does not extract any information from the continuation marks)

See also highlight-errors.

This method is called when an error is highlighted in a DrRacket window.

If the input is a list of srcloc? objects, then all of them are highlighted, and they are all of the errors known to DrRacket at this point.

If a single one is passed, then user probably typed the . menu shortcut to highlight a single error and there may be other errors known to DrRacket.

Errors are made known to DrRacket via highlight-errors.

Once the console is initialized, this method calls first-opened. Accordingly, this method should not be called to initialize a REPL when the user’s evaluation is imminent. That is, this method should be called when new tabs or new windows are created, but not when the Run button is clicked.

This method calls the first-opened from the user’s eventspace’s main thread and, when first-opened returns, it enqueue’s a callback that ends an edit sequence on the REPL and calls clear-undos. Accordingly, if the first-opened method does not return, the interactions text will be in an unclosed edit sequence.

Inserts a new prompt at the end of the text.

This method is called when the user chooses the kill menu item.

Calls the super method.

Specification: This method queues thunks for DrRacket’s eventspace in a special output-related queue.

Kills the old eventspace, and creates a new parameterization for it.

Specification: This function runs its arguments in the user evaluation thread. This thread is the same as the user’s eventspace main thread.

Default implementation: Calls f, after switching to the user’s thread.

Shuts down the user’s program and all windows. Reclaims any resources the program allocated. It is expected to be called from DrRacket’s main eventspace thread.

This waits for all pending IO in the rep to finish and then returns.

This method must only be called from the main thread in DrRacket’s eventspace

This waits for all pending IO in the rep to finish and then returns.

This method must only be called from the main thread in the user’s eventspace

This mixin adds some DrRacket-specific keybindings to the editor it is mixed onto.

Calls the super method and adds in a keymap with the DrRacket-specific keybindings:

Objects that match this interface provide all of the services that the

drracket:rep:text%

class needs to connect with its context.

Specification: Call this method to clear any annotations in the text before executing or analyzing or other such activities that should process the program.

Tools that annotate the program text should augment this method to clear their own annotations on the program text.

DrRacket calls this method before a program is run (via the Run button).

Default implementation: Clears any error highlighting in the definitions window.

Call this method to disable evaluation GUI evaluation while some evaluation (or expansion) is taking place on another thread.

Override this method if you add a GUI-based mechanism for initiating evaluation in the frame.

This method is also called when the user switches tabs.

See also enable-evaluation.

This method must disable the GUI controls that start user-sponsored evaluation. It is called once the user starts some evaluation to ensure that only one evaluation proceeds at a time.

It is also called when the user switches tabs.

See also disable-evaluation.

This method is called to force the rep window to be visible when, for example, an error message is put into the rep. Also ensures that the appropriate tab is visible, if necessary.

The result of this method is used as the initial directory for the user’s program to be evaluated in.

This method should return an explanatory string when the state of the program that the repl reflects has changed. It should return #f otherwise.

The break button typically offers to kill if it has been pushed twice in a row. If this method is called, however, it ignores any prior clicks.

Calling this method with a thread and a custodian means that the next time the break button is clicked, it will either break the thread or shutdown the custodian.

See also get-breakables.

This method should update some display in the gui that indicates whether or not evaluation is currently proceeding in the user’s world.

Returns a style delta that matches the style and color of the phrase “Welcome to” in the beginning of the interactions window.

Returns a style delta that matches the style and color of the name of a language in the interactions window.

Returns a style delta that matches the style and color of errors that get shown in the interactions window.

Returns a keymap that binds various DrRacket-specific keybindings. This keymap is used in the definitions and interactions window.

By default, binds C-x;o to a function that switches the focus between the definitions and interactions windows. Also binds f5 to Execute and f1 to Help Desk.

This is a parameter whose value should not be set by tools. It is initialized to the repl that controls this evaluation in the user’s thread.

It only returns #f if the program not running in the context of a repl (eg, the test suite window).

This is a parameter whose value is a port that prints in the REPL in blue. It is used to print the values of toplevel expressions in the REPL.

It is only initialized on the user’s thread.

This parameter is used by

evaluate-from-port

. When it is a thunk, then DrRacket invokes the thunk on the user’s thread as the last thing it does (before cleaning up).

The value of this parameter is

#t

in the dynamic extent of the call to

evaluate-from-port

that sets up the initial read-eval-print loop (which doesn’t run the user’s program)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4