sennenki/pretty_prompt/editing does not have a README file

    CompletionItem

    pub struct CompletionItem {
    replacement_text : String
    display_text : String
    filter_text : String
    description : String
    }

    补全项

    CompletionItem::get_priority

    fn CompletionItem::get_priority(self : CompletionItem, pattern : String) -> Int

    (保持之前的 CompletionItem::get_priority, CompletionState::new, CompletionState::filter 不变)

    CompletionItem::new

    fn CompletionItem::new(replacement_text : String, display_text? : String, filter_text? : String, description? : String) -> CompletionItem

    CompletionState

    pub struct CompletionState {
    items : Array[CompletionItem]
    selected_index : Int
    filter_prefix : String
    all_items : Array[CompletionItem]
    }

    CompletionState::filter

    fn CompletionState::filter(self : CompletionState, pattern : String) -> Unit

    CompletionState::new

    fn CompletionState::new(items : Array[CompletionItem], filter_prefix : String) -> CompletionState

    CompletionState::set_selected_index

    fn CompletionState::set_selected_index(self : CompletionState, selected_index : Int) -> Unit

    HistoryConfiguration

    pub struct HistoryConfiguration {
    persistent_history_filepath : String?
    max_entries : Int
    }

    HistoryConfiguration::new

    fn HistoryConfiguration::new(persistent_history_filepath? : String, max_entries? : Int) -> HistoryConfiguration

    HistoryLog

    pub struct HistoryLog {
    entries : Array[String]
    config : HistoryConfiguration
    navigation_index : Int?
    unsubmitted_buffer : String
    submissions_since_last_trim : Int
    }

    HistoryLog::load_persistent_history

    async fn HistoryLog::load_persistent_history(self : HistoryLog) -> Unit

    HistoryLog::navigate_next

    fn HistoryLog::navigate_next(self : HistoryLog) -> String?

    HistoryLog::navigate_previous

    fn HistoryLog::navigate_previous(self : HistoryLog, current_buffer : String) -> String?

    fn HistoryLog::navigate_search(self : HistoryLog, query : String, start_index : Int) -> (Int, String)?

    在历史记录中搜索匹配项

    HistoryLog::new

    HistoryLog::reset_navigation

    fn HistoryLog::reset_navigation(self : HistoryLog) -> Unit

    HistoryLog::save_persistent_history_full

    async fn HistoryLog::save_persistent_history_full(self : HistoryLog) -> Unit

    HistoryLog::track_submission

    async fn HistoryLog::track_submission(self : HistoryLog, text : String) -> Unit

    KillRing

    pub struct KillRing {
    items : Array[String]
    current_index : Int
    max_size : Int
    }

    剪切环(环形缓冲区)

    KillRing::add

    fn KillRing::add(self : KillRing, text : String) -> Unit

    添加文本到剪切环

    KillRing::new

    fn KillRing::new(max_size? : Int) -> KillRing

    KillRing::yank

    fn KillRing::yank(self : KillRing) -> String?

    获取最近的文本

    KillRing::yank_pop

    fn KillRing::yank_pop(self : KillRing) -> String?

    循环切换

    OverloadItem

    pub struct OverloadItem {
    signature : String
    summary : String
    parameters : Array[Parameter]
    }

    函数重载项

    OverloadItem::new

    fn OverloadItem::new(signature : String, summary? : String, parameters? : Array[Parameter]) -> OverloadItem

    OverloadState

    pub struct OverloadState {
    items : Array[OverloadItem]
    selected_index : Int
    }

    重载面板状态

    OverloadState::new

    OverloadState::set_selected_index

    fn OverloadState::set_selected_index(self : OverloadState, selected_index : Int) -> Unit

    Parameter

    pub struct Parameter {
    name : String
    description : String
    }

    重载参数项

    Parameter::new

    fn Parameter::new(name : String, description : String) -> Parameter

    SearchState

    pub struct SearchState {
    query : String
    history_index : Int
    }

    搜索状态

    SearchState::new

    SearchState::set_history_index

    fn SearchState::set_history_index(self : SearchState, history_index : Int) -> Unit

    SearchState::set_query

    fn SearchState::set_query(self : SearchState, query : String) -> Unit

    Selection

    pub struct Selection {
    anchor : Int
    active : Int
    }

    文本选区状态

    Selection::contains

    fn Selection::contains(self : Selection, index : Int) -> Bool

    判断索引是否在选区内

    Selection::new

    fn Selection::new(anchor : Int, active : Int) -> Selection

    Selection::range

    fn Selection::range(self : Selection) -> (Int, Int)

    获取选区的规格化范围 [min, max)

    Selection::set_active

    fn Selection::set_active(self : Selection, active : Int) -> Unit

    UndoManager

    type UndoManager

    撤销重做管理器

    UndoManager::new

    fn UndoManager::new(initial_text : String, initial_cursor : Int) -> UndoManager

    UndoManager::redo

    fn UndoManager::redo(self : UndoManager) -> UndoRecord?

    执行重做

    UndoManager::track

    fn UndoManager::track(self : UndoManager, text : String, cursor_pos : Int) -> Unit

    记录新操作

    UndoManager::undo

    fn UndoManager::undo(self : UndoManager) -> UndoRecord?

    执行撤销

    UndoRecord

    pub struct UndoRecord {
    text : String
    cursor_pos : Int
    }

    记录编辑器快照

    UndoRecord::new

    fn UndoRecord::new(text : String, cursor_pos : Int) -> UndoRecord