Skip to main content

Editor

Enum Editor 

Source
pub enum Editor {
Show 24 variants None, Helix, Neovim, Vim, Nano, Micro, Emacs, VSCode, Zed, Xcode, AndroidStudio, RustRover, IntelliJIdea, WebStorm, PyCharm, GoLand, CLion, Fleet, Sublime, RubyMine, PHPStorm, Rider, Eclipse, Custom(String),
}
Expand description

The editor that is launched when the user presses e on a file.

§Persistence

Serialised to/from a short key string in the tfe state file:

VariantKey string
Nonenone
Helixhelix
Neovimnvim
Vimvim
Nanonano
Micromicro
Emacsemacs
VSCodevscode
Zedzed
Xcodexcode
AndroidStudioandroid-studio
RustRoverrustrover
IntelliJIdeaintellij
WebStormwebstorm
PyCharmpycharm
GoLandgoland
CLionclion
Fleetfleet
Sublimesublime
RubyMinerubymine
PHPStormphpstorm
Riderrider
Eclipseeclipse
Custom(s)custom:<s>

Variants§

§

None

No editor — pressing e on a file is a silent no-op.

§

Helix

Helixhx

§

Neovim

Neovimnvim

§

Vim

Vimvim

§

Nano

Nanonano

§

Micro

Micromicro

§

Emacs

Emacsemacs

§

VSCode

§

Zed

Zedzed

§

Xcode

Xcodexed

§

AndroidStudio

Android Studiostudio

§

RustRover

RustRoverrustrover

§

IntelliJIdea

IntelliJ IDEAidea

§

WebStorm

WebStormwebstorm

§

PyCharm

PyCharmpycharm

§

GoLand

GoLandgoland

§

CLion

CLionclion

§

Fleet

Fleetfleet

§

Sublime

Sublime Textsubl

§

RubyMine

RubyMinerubymine

§

PHPStorm

PHPStormphpstorm

§

Rider

Riderrider

§

Eclipse

Eclipseeclipse

§

Custom(String)

A user-supplied binary name or path.

Implementations§

Source§

impl Editor

Source

pub fn binary(&self) -> Option<String>

Return the launch binary (and optional arguments) for this editor.

Returns None for Editor::None — the caller should skip the launch.

For Custom variants the returned string may contain embedded arguments (e.g. "code --wait"). The caller is responsible for splitting on whitespace to separate the binary from its arguments before passing them to std::process::Command.

For Editor::Helix the function probes $PATH at call time: it tries hx first (the name used by the official release binaries and Homebrew on macOS), then falls back to helix (the name used by most Linux package managers such as pacman, apt, and dnf). Whichever is found first is returned; if neither is on $PATH the string "hx" is returned as a best-effort fallback so the error message names a real binary.

Source

pub fn label(&self) -> &str

Return a short human-readable label (shown in the options panel).

Source

pub fn cycle(&self) -> Editor

Cycle to the next editor in the fixed rotation.

Order: None → Helix → Neovim → Vim → Nano → Micro → None → …

Custom variants skip back to None — the user must set them via --editor or direct persistence editing.

Source

pub fn to_key(&self) -> String

Serialise to the on-disk key string.

Source

pub fn from_key(s: &str) -> Option<Editor>

Deserialise from the on-disk key string.

Returns None (the Rust Option) for an empty string; unknown values are treated as Custom so that third-party editors survive round-trips.

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
Source§

impl Default for Editor

Source§

fn default() -> Editor

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Editor

Source§

fn eq(&self, other: &Editor) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Editor

Source§

impl StructuralPartialEq for Editor

Auto Trait Implementations§

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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.