{"size": 3460, "ext": "scrbl", "max_stars_repo_path": "syntax-color-doc/syntax-color/color-textoid.scrbl", "max_stars_repo_name": "greghendershott/syntax-color", "max_stars_repo_stars_event_min_datetime": "2016-04-10T07:07:52.000Z", "max_stars_repo_stars_event_max_datetime": "2021-09-23T14:08:15.000Z", "max_issues_repo_path": "syntax-color-doc/syntax-color/color-textoid.scrbl", "max_issues_repo_name": "greghendershott/syntax-color", "max_issues_repo_issues_event_min_datetime": "2015-03-26T20:19:48.000Z", "max_issues_repo_issues_event_max_datetime": "2021-12-30T16:26:42.000Z", "max_forks_repo_path": "syntax-color-doc/syntax-color/color-textoid.scrbl", "max_forks_repo_name": "greghendershott/syntax-color", "max_forks_repo_forks_event_min_datetime": "2015-02-13T15:32:44.000Z", "max_forks_repo_forks_event_max_datetime": "2021-12-30T12:59:35.000Z"}
{"max_stars_count": 5, "max_issues_count": 8, "max_forks_count": 8, "avg_line_length": 32.9523809524, "max_line_length": 100, "alphanum_fraction": 0.6436416185}
#lang scribble/manual
@(require (for-label racket/base
                     syntax-color/color-textoid
                     racket/gui/base
                     framework))

@title[#:tag "color-textoid"]{Interface for Clients of Syntax Color Output}

@defmodule[syntax-color/color-textoid]

@history[#:added "1.3"]

@definterface[color-textoid<%> ()]{

The @racket[color-textoid<%>] interface matches a subset of the
@racket[color:text<%>] interface. It specifies methods that
indentation and expression-navigation functions can use so that they
work either on actual @racket[color:text<%>] objects or in other
environments that use the @xmethod[color:text<%> start-colorer]
protocol without @racketmodname[racket/gui].

@defmethod[(get-text [start exact-nonnegative-integer? 0]
                     [end (or/c exact-nonnegative-integer? 'eof) 'eof])
           string?]{

Like @xmethod[text% get-text].}

@defmethod[(get-character [start exact-nonnegative-integer?])
           char?]{

Like @xmethod[text% get-character].}

@defmethod[(last-position)
           exact-nonnegative-integer?]{

Like @xmethod[text% last-position].}


@defmethod[(position-paragraph [start exact-nonnegative-integer?]
                               [at-eol? any/c #f])
           exact-nonnegative-integer?]{

Like @xmethod[text% position-paragraph].}

@defmethod[(paragraph-start-position [paragraph exact-nonnegative-integer?]
                                     [visible? any/c #t])
           exact-nonnegative-integer?]{

Like @xmethod[text% paragraph-start-position].}

@defmethod[(paragraph-end-position [paragraph exact-nonnegative-integer?]
                                   [visible? any/c #t])
           exact-nonnegative-integer?]{

Like @xmethod[text% paragraph-end-position].}


@defmethod[(skip-whitespace (position exact-nonnegative-integer?)
                            (direction (or/c 'forward 'backward))
                            (comments? boolean?))
           exact-nonnegative-integer?]{

Like @xmethod[color:text<%> skip-whitespace].}

@defmethod[(backward-match [position exact-nonnegative-integer?]
                           [cutoff exact-nonnegative-integer?])
           (or/c exact-nonnegative-integer? #f)]{

Like @xmethod[color:text<%> backward-match].}

@defmethod[(backward-containing-sexp [position exact-nonnegative-integer?]
                                     [cutoff exact-nonnegative-integer?])
           (or/c exact-nonnegative-integer? #f)]{

Like @xmethod[color:text<%> backward-containing-sexp].}

@defmethod[(forward-match [position exact-nonnegative-integer?] [cutoff exact-nonnegative-integer?])
           (or/c exact-nonnegative-integer? #f)]{

Like @xmethod[color:text<%> forward-match].}

@defmethod[(classify-position [position exact-nonnegative-integer?])
           (or/c symbol? #f)]{

Like @xmethod[color:text<%> classify-position].}

@defmethod[(classify-position* [position exact-nonnegative-integer?])
           (or/c (and/c (hash/c symbol? any/c) immutable?) #f)]{

Like @xmethod[color:text<%> classify-position*].}

@defmethod[(get-token-range [position exact-nonnegative-integer?]) 
           (values (or/c #f exact-nonnegative-integer?)
                   (or/c #f exact-nonnegative-integer?))]{

Like @xmethod[color:text<%> get-token-range].}

@defmethod[(get-backward-navigation-limit (start exact-integer?))
           exact-integer?]{

Like @xmethod[color:text<%> get-backward-navigation-limit].}

}

