pub use scintilla_sys::{
SC_WRAPVISUALFLAG_END, SC_WRAPVISUALFLAG_MARGIN, SC_WRAPVISUALFLAG_NONE,
SC_WRAPVISUALFLAG_START,
};
pub use scintilla_sys::{
SC_WRAPVISUALFLAGLOC_DEFAULT, SC_WRAPVISUALFLAGLOC_END_BY_TEXT,
SC_WRAPVISUALFLAGLOC_START_BY_TEXT,
};
use scintilla_sys::{
SC_WRAPINDENT_FIXED, SC_WRAPINDENT_INDENT, SC_WRAPINDENT_SAME, SC_WRAP_CHAR, SC_WRAP_NONE,
SC_WRAP_WHITESPACE, SC_WRAP_WORD,
};
const SC_WRAPINDENT_DEEPINDENT: u32 = 3;
#[derive(Debug, PartialEq)]
pub enum WrapMode {
None,
Word,
Char,
Whitespace,
}
impl From<u32> for WrapMode {
fn from(value: u32) -> Self {
match value {
SC_WRAP_NONE => Self::None,
SC_WRAP_WORD => Self::Word,
SC_WRAP_CHAR => Self::Char,
SC_WRAP_WHITESPACE => Self::Whitespace,
_ => Self::None,
}
}
}
impl Into<u32> for WrapMode {
fn into(self) -> u32 {
match self {
Self::None => SC_WRAP_NONE,
Self::Word => SC_WRAP_WORD,
Self::Char => SC_WRAP_CHAR,
Self::Whitespace => SC_WRAP_WHITESPACE,
}
}
}
#[derive(Debug, PartialEq)]
pub enum WrapIndent {
Fixed,
Same,
Indent,
DeepIndent,
}
impl From<u32> for WrapIndent {
fn from(value: u32) -> Self {
match value {
SC_WRAPINDENT_FIXED => Self::Fixed,
SC_WRAPINDENT_SAME => Self::Same,
SC_WRAPINDENT_INDENT => Self::Indent,
SC_WRAPINDENT_DEEPINDENT => Self::DeepIndent,
_ => Self::DeepIndent,
}
}
}
impl Into<u32> for WrapIndent {
fn into(self) -> u32 {
match self {
Self::Fixed => SC_WRAPINDENT_FIXED,
Self::Same => SC_WRAPINDENT_SAME,
Self::Indent => SC_WRAPINDENT_INDENT,
Self::DeepIndent => SC_WRAPINDENT_DEEPINDENT,
}
}
}