Struct CommandHelper

Source
pub struct CommandHelper { /* private fields */ }

Implementations§

Source§

impl CommandHelper

Source

pub fn app(&self) -> &Command

Source

pub fn cwd(&self) -> &Path

Canonical form of the current working directory path.

A loaded Workspace::workspace_root() also returns a canonical path, so relative paths can be easily computed from these paths.

Source

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

Source

pub fn matches(&self) -> &ArgMatches

Source

pub fn global_args(&self) -> &GlobalArgs

Source

pub fn config_env(&self) -> &ConfigEnv

Source

pub fn raw_config(&self) -> &RawConfig

Unprocessed (or unresolved) configuration data.

Use this only if the unmodified config data is needed. For example, jj config set should use this to write updated data back to file.

Source

pub fn settings(&self) -> &UserSettings

Settings for the current command and workspace.

This may be different from the settings for new workspace created by e.g. jj git init. There may be conditional variables and repo config .jj/repo/config.toml loaded for the cwd workspace.

Source

pub fn settings_for_new_workspace( &self, workspace_root: &Path, ) -> Result<UserSettings, CommandError>

Resolves configuration for new workspace located at the specified path.

Source

pub fn text_editor(&self) -> Result<TextEditor, ConfigGetError>

Loads text editor from the settings.

Source

pub fn revset_extensions(&self) -> &Arc<RevsetExtensions>

Source

pub fn parse_template<'a, C, L>( &self, ui: &Ui, language: &L, template_text: &str, ) -> Result<TemplateRenderer<'a, C>, CommandError>
where C: Clone + 'a, L: TemplateLanguage<'a> + ?Sized, L::Property: WrapTemplateProperty<'a, C>,

Parses template of the given language into evaluation tree.

This function also loads template aliases from the settings. Use WorkspaceCommandHelper::parse_template() if you’ve already instantiated the workspace helper.

Source

pub fn workspace_loader(&self) -> Result<&dyn WorkspaceLoader, CommandError>

Source

pub fn workspace_helper( &self, ui: &Ui, ) -> Result<WorkspaceCommandHelper, CommandError>

Loads workspace and repo, then snapshots the working copy if allowed.

Source

pub fn workspace_helper_with_stats( &self, ui: &Ui, ) -> Result<(WorkspaceCommandHelper, SnapshotStats), CommandError>

Loads workspace and repo, then snapshots the working copy if allowed and returns the SnapshotStats.

Note that unless you have a good reason not to do so, you should always call print_snapshot_stats with the SnapshotStats returned by this function to present possible untracked files to the user.

Source

pub fn workspace_helper_no_snapshot( &self, ui: &Ui, ) -> Result<WorkspaceCommandHelper, CommandError>

Loads workspace and repo, but never snapshots the working copy. Most commands should use workspace_helper() instead.

Source

pub fn get_working_copy_factory( &self, ) -> Result<&dyn WorkingCopyFactory, CommandError>

Source

pub fn load_workspace(&self) -> Result<Workspace, CommandError>

Loads workspace for the current command.

Source

pub fn load_workspace_at( &self, workspace_root: &Path, settings: &UserSettings, ) -> Result<Workspace, CommandError>

Loads workspace located at the specified path.

Source

pub fn recover_stale_working_copy( &self, ui: &Ui, ) -> Result<(WorkspaceCommandHelper, SnapshotStats), CommandError>

Note that unless you have a good reason not to do so, you should always call print_snapshot_stats with the SnapshotStats returned by this function to present possible untracked files to the user.

Source

pub fn workspace_environment( &self, ui: &Ui, workspace: &Workspace, ) -> Result<WorkspaceCommandEnvironment, CommandError>

Loads command environment for the given workspace.

Source

pub fn is_working_copy_writable(&self) -> bool

Returns true if the working copy to be loaded is writable, and therefore should usually be snapshotted.

Source

pub fn is_at_head_operation(&self) -> bool

Returns true if the current operation is considered to be the head.

Source

pub fn resolve_operation( &self, ui: &Ui, repo_loader: &RepoLoader, ) -> Result<Operation, CommandError>

Resolves the current operation from the command-line argument.

If no --at-operation is specified, the head operations will be loaded. If there are multiple heads, they’ll be merged.

Source

pub fn for_workable_repo( &self, ui: &Ui, workspace: Workspace, repo: Arc<ReadonlyRepo>, ) -> Result<WorkspaceCommandHelper, CommandError>

Creates helper for the repo whose view is supposed to be in sync with the working copy. If --ignore-working-copy is not specified, the returned helper will attempt to update the working copy.

Trait Implementations§

Source§

impl Clone for CommandHelper

Source§

fn clone(&self) -> CommandHelper

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

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

Performs copy-assignment from source. Read more

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<T> From<T> for T

Source§

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
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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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

impl<T> ErasedDestructor for T
where T: 'static,