Vi-style editor and other editor improvements (#40)
* WIP VI wrapper for editor * WIP: block cursor * Create Edit trait, run CI on all feature options * Add prints describing build steps to ci.sh * Custom rendering for Vi editor * Clippy fixes * More clippy fixes * Show clippy results in CI * Fix for Redox * Fix clippy lint * Add vi feature to enable vi-style editor * Add escape to libcosmic text box
This commit is contained in:
parent
271ca5cf7a
commit
ee54e7626b
33 changed files with 982 additions and 616 deletions
|
|
@ -18,8 +18,8 @@ pub struct BufferLine {
|
|||
|
||||
impl BufferLine {
|
||||
/// Create a new line with the given text and attributes list
|
||||
/// Cached shaping and layout can be done using the [Self::shape] and
|
||||
/// [Self::layout] functions
|
||||
/// Cached shaping and layout can be done using the [`Self::shape`] and
|
||||
/// [`Self::layout`] functions
|
||||
pub fn new<T: Into<String>>(text: T, attrs_list: AttrsList) -> Self {
|
||||
Self {
|
||||
text: text.into(),
|
||||
|
|
@ -40,7 +40,7 @@ impl BufferLine {
|
|||
/// Will reset shape and layout if it differs from current text and attributes list.
|
||||
/// Returns true if the line was reset
|
||||
pub fn set_text<T: AsRef<str> + Into<String>>(&mut self, text: T, attrs_list: AttrsList) -> bool {
|
||||
if text.as_ref() != &self.text || attrs_list != self.attrs_list {
|
||||
if text.as_ref() != self.text || attrs_list != self.attrs_list {
|
||||
self.text = text.into();
|
||||
self.attrs_list = attrs_list;
|
||||
self.reset();
|
||||
|
|
@ -143,7 +143,7 @@ impl BufferLine {
|
|||
self.shape_opt = Some(ShapeLine::new(font_system, &self.text, &self.attrs_list));
|
||||
self.layout_opt = None;
|
||||
}
|
||||
self.shape_opt.as_ref().unwrap()
|
||||
self.shape_opt.as_ref().expect("shape not found")
|
||||
}
|
||||
|
||||
/// Get line shaping cache
|
||||
|
|
@ -163,7 +163,7 @@ impl BufferLine {
|
|||
);
|
||||
self.layout_opt = Some(layout);
|
||||
}
|
||||
self.layout_opt.as_ref().unwrap()
|
||||
self.layout_opt.as_ref().expect("layout not found")
|
||||
}
|
||||
|
||||
/// Get line layout cache
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue