fixing warnings and depracated legacy things
This commit is contained in:
@@ -233,17 +233,6 @@ fn render_canvas_with_highlight_and_options<T: CanvasTheme, D: DataProvider>(
|
||||
let current_field_idx = ui_state.current_field();
|
||||
let is_edit_mode = matches!(ui_state.mode(), crate::canvas::modes::AppMode::Edit);
|
||||
|
||||
#[cfg(feature = "suggestions")]
|
||||
let active_completion = if ui_state.is_suggestions_active()
|
||||
&& ui_state.suggestions.active_field == Some(current_field_idx)
|
||||
{
|
||||
ui_state.suggestions.completion_text.clone()
|
||||
} else {
|
||||
None
|
||||
};
|
||||
#[cfg(not(feature = "suggestions"))]
|
||||
let active_completion: Option<String> = None;
|
||||
|
||||
render_canvas_fields_with_options(
|
||||
f,
|
||||
area,
|
||||
@@ -270,13 +259,6 @@ fn render_canvas_with_highlight_and_options<T: CanvasTheme, D: DataProvider>(
|
||||
},
|
||||
#[cfg(not(feature = "validation"))]
|
||||
|_field_idx| false,
|
||||
|field_idx| {
|
||||
if field_idx == current_field_idx {
|
||||
active_completion.clone()
|
||||
} else {
|
||||
None
|
||||
}
|
||||
},
|
||||
opts,
|
||||
)
|
||||
}
|
||||
@@ -302,7 +284,7 @@ fn convert_selection_to_highlight(
|
||||
|
||||
/// Core canvas field rendering with options
|
||||
#[cfg(feature = "gui")]
|
||||
fn render_canvas_fields_with_options<T: CanvasTheme, F1, F2, F3>(
|
||||
fn render_canvas_fields_with_options<T: CanvasTheme, F1, F2>(
|
||||
f: &mut Frame,
|
||||
area: Rect,
|
||||
fields: &[&str],
|
||||
@@ -315,13 +297,11 @@ fn render_canvas_fields_with_options<T: CanvasTheme, F1, F2, F3>(
|
||||
has_unsaved_changes: bool,
|
||||
get_display_value: F1,
|
||||
has_display_override: F2,
|
||||
get_completion: F3,
|
||||
opts: CanvasDisplayOptions,
|
||||
) -> Option<Rect>
|
||||
where
|
||||
F1: Fn(usize) -> String,
|
||||
F2: Fn(usize) -> bool,
|
||||
F3: Fn(usize) -> Option<String>,
|
||||
{
|
||||
let columns = Layout::default()
|
||||
.direction(Direction::Horizontal)
|
||||
|
||||
@@ -5,9 +5,6 @@ pub mod state;
|
||||
#[cfg(feature = "gui")]
|
||||
pub mod widget;
|
||||
|
||||
#[cfg(feature = "keymaps")]
|
||||
pub mod commands_impl;
|
||||
|
||||
pub use provider::TextAreaProvider;
|
||||
pub use state::{TextAreaEditor, TextAreaState, TextOverflowMode};
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// src/textarea/state.rs
|
||||
use std::ops::{Deref, DerefMut};
|
||||
|
||||
use anyhow::Result;
|
||||
use crossterm::event::{KeyCode, KeyEvent, KeyEventKind, KeyModifiers};
|
||||
|
||||
use crate::editor::FormEditor;
|
||||
@@ -14,45 +13,6 @@ use ratatui::{layout::Rect, widgets::Block};
|
||||
#[cfg(feature = "gui")]
|
||||
use unicode_width::UnicodeWidthChar;
|
||||
|
||||
#[cfg(feature = "gui")]
|
||||
pub(crate) fn wrapped_rows(s: &str, width: u16) -> u16 {
|
||||
if width == 0 {
|
||||
return 1;
|
||||
}
|
||||
let mut rows: u16 = 1;
|
||||
let mut cols: u16 = 0;
|
||||
for ch in s.chars() {
|
||||
let w = UnicodeWidthChar::width(ch).unwrap_or(0) as u16;
|
||||
if cols.saturating_add(w) > width {
|
||||
rows = rows.saturating_add(1);
|
||||
cols = 0;
|
||||
}
|
||||
cols = cols.saturating_add(w);
|
||||
}
|
||||
rows
|
||||
}
|
||||
|
||||
#[cfg(feature = "gui")]
|
||||
pub(crate) fn wrapped_rows_to_cursor(s: &str, width: u16, cursor_chars: usize) -> (u16, u16) {
|
||||
if width == 0 {
|
||||
return (0, 0);
|
||||
}
|
||||
let mut row: u16 = 0;
|
||||
let mut cols: u16 = 0;
|
||||
for (i, ch) in s.chars().enumerate() {
|
||||
if i >= cursor_chars {
|
||||
break;
|
||||
}
|
||||
let w = UnicodeWidthChar::width(ch).unwrap_or(0) as u16;
|
||||
if cols.saturating_add(w) > width {
|
||||
row = row.saturating_add(1);
|
||||
cols = 0;
|
||||
}
|
||||
cols = cols.saturating_add(w);
|
||||
}
|
||||
(row, cols)
|
||||
}
|
||||
|
||||
#[cfg(feature = "gui")]
|
||||
pub(crate) const RIGHT_PAD: u16 = 3;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ use ratatui::{
|
||||
style::Style,
|
||||
text::{Line, Span},
|
||||
widgets::{
|
||||
Block, BorderType, Borders, Paragraph, StatefulWidget, Widget, Wrap,
|
||||
Block, BorderType, Borders, Paragraph, StatefulWidget, Widget,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -87,31 +87,6 @@ fn display_cols_up_to(s: &str, char_count: usize) -> u16 {
|
||||
cols
|
||||
}
|
||||
|
||||
#[cfg(feature = "gui")]
|
||||
fn clip_with_indicator(s: &str, width: u16, indicator: char) -> Line<'static> {
|
||||
if width == 0 {
|
||||
return Line::from("");
|
||||
}
|
||||
|
||||
if display_width(s) <= width {
|
||||
return Line::from(Span::raw(s.to_string()));
|
||||
}
|
||||
|
||||
let budget = width.saturating_sub(1);
|
||||
let mut out = String::new();
|
||||
let mut used: u16 = 0;
|
||||
for ch in s.chars() {
|
||||
let w = UnicodeWidthChar::width(ch).unwrap_or(0) as u16;
|
||||
if used + w > budget {
|
||||
break;
|
||||
}
|
||||
out.push(ch);
|
||||
used = used.saturating_add(w);
|
||||
}
|
||||
|
||||
Line::from(vec![Span::raw(out), Span::raw(indicator.to_string())])
|
||||
}
|
||||
|
||||
#[cfg(feature = "gui")]
|
||||
fn slice_by_display_cols(s: &str, start_cols: u16, max_cols: u16) -> String {
|
||||
if max_cols == 0 {
|
||||
|
||||
Reference in New Issue
Block a user