Editor

Struct Editor 

Source
pub struct Editor<S>
where S: System,
{ /* private fields */ }
Expand description

The main editor state.

Implementations§

Source§

impl<S> Editor<S>
where S: System,

Source

pub fn open_file_relative_to_effective_directory( &mut self, path: &str, new_window: bool, )

Open a file within the editor using a path that is relative to the effective directory

Source

pub fn open_file_relative_to_cwd( &mut self, path: impl AsRef<Path>, new_window: bool, )

Open a file within the editor using a path that is relative to the current working directory

Source

pub fn open_virtual( &mut self, name: impl Into<String>, content: impl Into<String>, new_window: bool, )

Open a new virtual buffer within the editor.

Source

pub fn open_file<P: AsRef<Path>>(&mut self, path: P, new_window: bool)

Open a file within the editor

Source§

impl Editor<DefaultSystem>

Source

pub fn new( cfg: Config, plumbing_rules: PlumbingRules, mode: EditorMode, log_buffer: LogBuffer, ) -> Self

Construct a new Editor with the provided config.

Source

pub fn new_with_initial_files( config_res: Result<Config, String>, plumbing_rules_res: Result<PlumbingRules, String>, mode: EditorMode, log_buffer: LogBuffer, file_paths: &[impl AsRef<Path>], ) -> Self

Source§

impl<S> Editor<S>
where S: System,

Source

pub fn new_with_system( config: Config, plumbing_rules: PlumbingRules, mode: EditorMode, log_buffer: LogBuffer, system: S, ) -> Self

Construct a new Editor with the provided config and System.

Source

pub fn new_with_system_and_initial_files( config_res: Result<Config, String>, plumbing_rules_res: Result<PlumbingRules, String>, mode: EditorMode, log_buffer: LogBuffer, system: S, file_paths: &[impl AsRef<Path>], ) -> Self

Construct a new Editor using the provided config and then open a list of initial files based on their file paths relative to the working directory of the editor.

The config and plumbing rules results are used to display parse errors to the user in virtual buffers. In the case that Err is passed for either argument, the default for that type will be used to start the editor so the parser errors can be shown.

Source

pub fn active_buffer_id(&self) -> usize

The id of the currently active buffer

Source

pub fn active_buffer_name(&self) -> &str

Source

pub fn buffer_list(&self) -> Vec<String>

Source

pub fn buffer_content(&self, id: BufferId) -> Option<String>

Source

pub fn buffer_dot(&self, id: BufferId) -> Option<String>

Source

pub fn layout_ids(&self) -> Vec<Vec<BufferId>>

Source

pub fn effective_directory(&self) -> &Path

The effective directory of the editor at any point is the directory containing the file backing the active buffer, or if the active buffer can not define a containing directory, self.cwd.

Source

pub fn run_with_explicit_fsys_path(&mut self, socket_path: PathBuf)

Initialise any UI state required for our EditorMode and run the main event loop using a custom path for our fsys socket.

Source

pub fn run(&mut self)

Initialise any UI state required for our EditorMode and run the main event loop.

Source

pub fn handle_event(&mut self, event: Event)

Source

pub fn refresh_screen_w_minibuffer(&mut self, mb: Option<MiniBufferState<'_>>)

Source

pub fn set_status_message(&mut self, msg: impl Into<String>)

Update the status line to contain the given message.

Source

pub fn handle_input(&mut self, input: Input)

Source

pub fn handle_action(&mut self, action: Action, source: Source)

Process a single action and update editor state accordingly

Trait Implementations§

Source§

impl<S> Debug for Editor<S>
where S: System + Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> !Freeze for Editor<S>

§

impl<S> !RefUnwindSafe for Editor<S>

§

impl<S> !Send for Editor<S>

§

impl<S> !Sync for Editor<S>

§

impl<S> Unpin for Editor<S>
where S: Unpin,

§

impl<S> !UnwindSafe for Editor<S>

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more