[][src]Struct xterm_js_sys::xterm::Parser

#[repr(transparent)]pub struct Parser {
    obj: JsValue,
}

Allows hooking into the parser for custom handling of escape sequences.

(This is a duck-typed interface).

Fields

obj: JsValue

Implementations

impl Parser[src]

fn register_csi_handler(
    &self,
    id: FunctionIdentifier,
    callback: &Closure<dyn FnMut(ReadOnlyArray<JsValue>) -> bool>
) -> Disposable
[src]

Adds a handler for CSI escape sequences.

Takes:

  • id: Specifies the function identifier under which the callback gets registered; e.g. { final: 'm' } for SGR.
  • callback: The function to handle the sequence. The callback is called with the numerical params. If the sequence has subparams the array will contain subarrays with their numerical values. Return true if the sequence was handled; false if we should try a previous handler (set by register_csi_handler). The most recently added handler is tried first.

Returns an Disposable you can call to remove this handler.

impl Parser[src]

fn register_dcs_handler(
    &self,
    id: FunctionIdentifier,
    callback: &Closure<dyn FnMut(Str, ReadOnlyArray<JsValue>) -> bool>
) -> Disposable
[src]

Adds a handler for DCS escape sequences.

Takes:

  • id: Specifies the function identifier under which the callback gets registered; e.g. { intermediates: '$', final: 'q' } for DECRQSS.
  • callback: The function to handle the sequence. Note that the function will only be called once if the sequence finished successfully. There is currently no way to intercept smaller data chunks; data chunks will be stored up until the sequence is finished. Since DCS sequences are not limited by the amount of data this might impose a problem for big payloads. Currently xterm.js limits the DCS payload to 10 MB which should give enough room for most use cases. The function gets the payload and numerical parameters as arguments. Return true if the sequence was handled; false if we should try a previous handler (set by register_dcs_handler). The most recently added [handler is tried first.

Returns an Disposable you can call to remove this handler.

impl Parser[src]

fn register_esc_handler(
    &self,
    id: FunctionIdentifier,
    handler: &Closure<dyn FnMut() -> bool>
) -> Disposable
[src]

Adds a handler for ESC escape sequences.

Takes:

  • id: Specifies the function identifier under which the callback gets registered; e.g. { intermediates: '%', final: 'G' } for default charset selection.
  • handler: The function to handle the sequence. Return true if the sequence was handled; false if we should try a previous handler (set by register_esc_handler). The most recently added handler is tried first.

Returns an Disposable you can call to remove this handler.

impl Parser[src]

fn register_osc_handler(
    &self,
    ident: u32,
    callback: &Closure<dyn FnMut(Str) -> bool>
) -> Disposable
[src]

Adds a handler for OSC escape sequences.

Takes:

  • ident: The number (first parameter) of the sequence.
  • callback: The function to handle the sequence. Note that the function will only be called once if the sequence finished successfully. There is currently no way to intercept smaller data chunks; data chunks will be stored up until the sequence is finished. Since OSC sequences are not limited by the amount of data this might impose a problem for big payloads. Currently xterm.js limits OSC payloads to 10 MB which should give enough room for most use cases. The callback is called with OSC data string. Return true if the sequence was handled; false if we should try a previous handler (set by register_osc_handler). The most recently added handler is tried first.

Returns an Disposable you can call to remove this handler.

Methods from Deref<Target = JsValue>

pub const NULL: JsValue[src]

pub const UNDEFINED: JsValue[src]

pub const TRUE: JsValue[src]

pub const FALSE: JsValue[src]

pub fn as_f64(&self) -> Option<f64>[src]

This is supported on feature="ext" only.

Returns the f64 value of this JS value if it's an instance of a number.

If this JS value is not an instance of a number then this returns None.

pub fn is_string(&self) -> bool[src]

This is supported on feature="ext" only.

Tests whether this JS value is a JS string.

pub fn as_string(&self) -> Option<String>[src]

This is supported on feature="ext" only.

If this JS value is a string value, this function copies the JS string value into wasm linear memory, encoded as UTF-8, and returns it as a Rust String.

To avoid the copying and re-encoding, consider the JsString::try_from() function from js-sys instead.

If this JS value is not an instance of a string or if it's not valid utf-8 then this returns None.

UTF-16 vs UTF-8

JavaScript strings in general are encoded as UTF-16, but Rust strings are encoded as UTF-8. This can cause the Rust string to look a bit different than the JS string sometimes. For more details see the documentation about the str type which contains a few caveats about the encodings.

pub fn as_bool(&self) -> Option<bool>[src]

This is supported on feature="ext" only.

Returns the bool value of this JS value if it's an instance of a boolean.

If this JS value is not an instance of a boolean then this returns None.

pub fn is_null(&self) -> bool[src]

This is supported on feature="ext" only.

Tests whether this JS value is null

pub fn is_undefined(&self) -> bool[src]

This is supported on feature="ext" only.

Tests whether this JS value is undefined

pub fn is_symbol(&self) -> bool[src]

This is supported on feature="ext" only.

Tests whether the type of this JS value is symbol

pub fn is_object(&self) -> bool[src]

This is supported on feature="ext" only.

Tests whether typeof self == "object" && self !== null.

pub fn is_function(&self) -> bool[src]

This is supported on feature="ext" only.

Tests whether the type of this JS value is function.

pub fn is_truthy(&self) -> bool[src]

This is supported on feature="ext" only.

Tests whether the value is "truthy".

pub fn is_falsy(&self) -> bool[src]

This is supported on feature="ext" only.

Tests whether the value is "falsy".

Trait Implementations

impl AsRef<JsValue> for Parser[src]

impl AsRef<Parser> for Parser[src]

impl Clone for Parser[src]

impl Debug for Parser[src]

impl Deref for Parser[src]

type Target = JsValue

The resulting type after dereferencing.

impl From<JsValue> for Parser[src]

impl From<Parser> for JsValue[src]

impl FromWasmAbi for Parser[src]

type Abi = <JsValue as FromWasmAbi>::Abi

The wasm ABI type that this converts from when coming back out from the ABI boundary. Read more

impl IntoWasmAbi for Parser[src]

type Abi = <JsValue as IntoWasmAbi>::Abi

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

impl<'a> IntoWasmAbi for &'a Parser[src]

type Abi = <&'a JsValue as IntoWasmAbi>::Abi

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

impl JsCast for Parser[src]

impl OptionFromWasmAbi for Parser[src]

impl OptionIntoWasmAbi for Parser[src]

impl<'a> OptionIntoWasmAbi for &'a Parser[src]

impl RefFromWasmAbi for Parser[src]

type Abi = <JsValue as RefFromWasmAbi>::Abi

The wasm ABI type references to Self are recovered from.

type Anchor = ManuallyDrop<Parser>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don't persist beyond one function call, and so that they remain anonymous. Read more

impl WasmDescribe for Parser[src]

Auto Trait Implementations

impl RefUnwindSafe for Parser

impl !Send for Parser

impl !Sync for Parser

impl Unpin for Parser

impl UnwindSafe for Parser

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ReturnWasmAbi for T where
    T: IntoWasmAbi
[src]

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.