pub struct PieceTable { /* private fields */ }Implementations§
Source§impl PieceTable
impl PieceTable
Sourcepub fn from_str(buf: &str) -> PieceTable
pub fn from_str(buf: &str) -> PieceTable
Create new PieceTable using a base string as read_buffer.
§Examples
use piecetable::PieceTable;
let mut piecetable = PieceTable::from_str("Buenos dias");Sourcepub fn display_result(&self) -> Result<String, Error>
pub fn display_result(&self) -> Result<String, Error>
Sourcepub fn insert(&mut self, buf: &str, index: usize)
pub fn insert(&mut self, buf: &str, index: usize)
Insert string slice in piece table.
split_index is the global index for the starting character or the new string slice.
§Examples
use piecetable::PieceTable;
let buffer = "Buenos dias, que buen clima hoy";
// |
// 11
let mut piece_table = PieceTable::from_str(buffer);
piece_table.insert(" Matias", 11);
assert_eq!("Buenos dias Matias, que buen clima hoy", piece_table.display_result().unwrap());Sourcepub fn delete_char(&mut self, char_index: usize)
pub fn delete_char(&mut self, char_index: usize)
Delete character at position char_index
§Examples
use piecetable::PieceTable;
let buffer = "Mucho gus8to";
// |
// 9
let mut piece_table = PieceTable::from_str(buffer);
piece_table.delete_char(9);
assert_eq!("Mucho gusto", piece_table.display_result().unwrap());Sourcepub fn save_file(&mut self) -> Result<usize, &str>
pub fn save_file(&mut self) -> Result<usize, &str>
Save piecetable to file
§Expamples
use piecetable::PieceTable;
use std::{
path::Path,
fs,
io::Write
};
{
let mut file = fs::File::create("test.txt").unwrap();
file.write_all(b"Buenos dias").unwrap();
}
let mut piecetable = PieceTable::from_file(Path::new("test.txt")).unwrap();
piecetable.insert(" Matias", 11);
let _file_length: usize = piecetable.save_file().unwrap();§Errors
Returns error if piecetable does not contain a filepath to save the pieces to.
Sourcepub fn save_to_file(&mut self, path: &Path) -> Result<usize, Error>
pub fn save_to_file(&mut self, path: &Path) -> Result<usize, Error>
Save piecetable to new filepath and modify filename of piecetable if it exists.
§Examples
use piecetable::PieceTable;
use std::path::Path;
let mut piecetable = PieceTable::from_str("Buenos dias");
let _new_file_length = piecetable.save_to_file(Path::new("test.txt")).unwrap();§Errors
Error creating file Error opening file Error reading file Error reading metadata
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PieceTable
impl RefUnwindSafe for PieceTable
impl Send for PieceTable
impl Sync for PieceTable
impl Unpin for PieceTable
impl UnsafeUnpin for PieceTable
impl UnwindSafe for PieceTable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more