Editor

Struct Editor 

Source
pub struct Editor { /* private fields */ }
Expand description

An editor is a builder for Commands. An Editor instance represent’s a user’s desired editor, and can be used repeatedly to open files.

Implementations§

Source§

impl Editor

Source

pub fn new() -> Result<Self, EditorBuilderError>

Create an editor from the user’s $VISUAL or $EDITOR environment variables. This is the easiest way to create an editor, but provides no flexibility. See the crate-level documentation for an example of how to use EditorBuilder to customize overrides and fallbacks.

Editor::new().unwrap();
// is equivalent to
EditorBuilder::new().environment().build().unwrap();
§Errors

Returns an error if:

  • Neither $VISUAL nor $EDITOR is defined
  • The command fails to parse (e.g. dangling quote)
Source

pub fn open(&self, path: impl AsRef<Path>) -> Command

Build a command that will open a file

Source

pub fn open_at(&self, path: impl AsRef<Path>, line: u32, column: u32) -> Command

Build a command that will open a file to a particular line and column.

Most editors accept the format path:line:column, so that’s used by default. This method supports some specific editors that don’t follow that convention. It will automatically detect these editors based on the invoked command and pass the line/column accordingly:

  • emacs
  • vi/vim/nvim
  • nano (column not supported)

If you want support for another editor that’s not listed here, please open an issue on GitHub.

Trait Implementations§

Source§

impl Clone for Editor

Source§

fn clone(&self) -> Editor

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Editor

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Editor

§

impl RefUnwindSafe for Editor

§

impl Send for Editor

§

impl Sync for Editor

§

impl Unpin for Editor

§

impl UnwindSafe for Editor

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.