[−][src]Struct xterm_js_sys::xterm::Parser
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][−]
&self,
id: FunctionIdentifier,
callback: &Closure<dyn FnMut(ReadOnlyArray<JsValue>) -> bool>
) -> Disposable
Adds a handler for CSI
escape sequences.
Takes:
id
: Specifies the function identifier under which the callback gets registered; e.g.{ final: 'm' }
forSGR
.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. Returntrue
if the sequence was handled;false
if we should try a previous handler (set byregister_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][−]
&self,
id: FunctionIdentifier,
callback: &Closure<dyn FnMut(Str, ReadOnlyArray<JsValue>) -> bool>
) -> Disposable
Adds a handler for DCS
escape sequences.
Takes:
id
: Specifies the function identifier under which the callback gets registered; e.g.{ intermediates: '$', final: 'q' }
forDECRQSS
.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. SinceDCS
sequences are not limited by the amount of data this might impose a problem for big payloads. Currently xterm.js limits theDCS
payload to 10 MB which should give enough room for most use cases. The function gets the payload and numerical parameters as arguments. Returntrue
if the sequence was handled;false
if we should try a previous handler (set byregister_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][−]
&self,
id: FunctionIdentifier,
handler: &Closure<dyn FnMut() -> bool>
) -> Disposable
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. Returntrue
if the sequence was handled;false
if we should try a previous handler (set byregister_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][−]
&self,
ident: u32,
callback: &Closure<dyn FnMut(Str) -> bool>
) -> Disposable
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. SinceOSC
sequences are not limited by the amount of data this might impose a problem for big payloads. Currently xterm.js limitsOSC
payloads to 10 MB which should give enough room for most use cases. The callback is called withOSC
data string. Returntrue
if the sequence was handled;false
if we should try a previous handler (set byregister_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][−]
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][−]
feature="ext"
only.Tests whether this JS value is a JS string.
pub fn as_string(&self) -> Option<String>
[src][−]
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][−]
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][−]
feature="ext"
only.Tests whether this JS value is null
pub fn is_undefined(&self) -> bool
[src][−]
feature="ext"
only.Tests whether this JS value is undefined
pub fn is_symbol(&self) -> bool
[src][−]
feature="ext"
only.Tests whether the type of this JS value is symbol
pub fn is_object(&self) -> bool
[src][−]
feature="ext"
only.Tests whether typeof self == "object" && self !== null
.
pub fn is_function(&self) -> bool
[src][−]
feature="ext"
only.Tests whether the type of this JS value is function
.
pub fn is_truthy(&self) -> bool
[src][−]
feature="ext"
only.Tests whether the value is "truthy".
pub fn is_falsy(&self) -> bool
[src][−]
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][+]
impl From<JsValue> for Parser
[src][+]
impl From<Parser> for JsValue
[src][+]
impl FromWasmAbi for Parser
[src][+]
impl IntoWasmAbi for Parser
[src][+]
impl<'a> IntoWasmAbi for &'a Parser
[src][+]
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][+]
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][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> ReturnWasmAbi for T where
T: IntoWasmAbi,
[src][+]
T: IntoWasmAbi,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,