ZshShell class

Provides a number of helper functions when dcli needs to interact with the Zsh shell.

Implemented types
Mixed-in types

Constructors

ZshShell.withPid(int? pid)
Attached to the Zsh shell with the given pid.

Properties

canModifyPath → bool
Returns true if this shell supports modifying the shell's PATH
no setteroverride
hashCode → int
The hash code for this object.
no setteroverride
hasStartScript → bool
True if this shell supports a start script or configuration file. e.g. a script that is run by the shell or a configuration file that is read when the shell starts.
no setteroverride
installInstructions → String
Returns the instructions to install DCli.
no setterinherited
isCompletionInstalled → bool
no setteroverride
isCompletionSupported → bool
no setteroverride
isPrivilegedPasswordRequired → bool
Returns true if running a privileged action would cause a password to be requested.
no setterinherited
isPrivilegedProcess → bool
True if the processes real uid is root.
no setterinherited
isPrivilegedUser → bool
True if the processes effictive uid is root.
no setterinherited
isSudo → bool
Returns true if we are currently running under sudo.
no setterinherited
loggedInUser → String
returns the username of the logged in user.
no setterinherited
loggedInUsersHome → String
Attempts to retrive the logged in user's home directory.
no setterinherited
name → String
The name of the shell e.g. bash
no setteroverride
nonPriviledgedUser → Immutable<UserEnvironment>
latefinalinherited
pathToStartScript → String
@Throwing(ArgumentError)
no setteroverride
pid → int?
The pid of the current shell
final
priviledgedUser → Immutable<UserEnvironment>
latefinalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
startScriptName → String
Returns the name of the shell's startup script or configuration file e.g. .bashrc
no setteroverride

Methods

addFileAssocation(String dcliPath) → void
Called during the install so that an OS that needs to create a file association between .dart and dcli can create that association. The implementor is responsible for not adding the association if it already exists.
override
appendToPATH(String path) → bool
Throws UnsupportedError. @Throwing(UnsupportedError)
override
checkInstallPreconditions() → String?
at this point no posix system has any preconditions.
inherited
install({bool installDart = false, bool activate = true}) → Future<bool>
Install dart/dcli
inherited
installTabCompletion({bool quiet = false}) → void
Throws UnimplementedError. @Throwing(UnimplementedError)
override
matchByName(String name) → bool
Returns true if the shells name matches the passed name. The comparison is case insensitive.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
prependToPATH(String path) → bool
Throws UnsupportedError. @Throwing(UnsupportedError)
override
privilegesRequiredMessage(String app) → String
The message used during installation if it needs to be run with sudo.
inherited
releasePrivileges() → void
revert uid and gid to original user's id's You should note that your PATH will still be the SUDO PATH not your original user's PATH. @Throwing(ArgumentError) @Throwing(FormatException) @Throwing(PosixException)
inherited
restorePrivileges() → void
If a prior call to releasePrivileges has been made then this command will restore those privileges If releasePrivileges hasn't been called then this method does nothing. @Throwing(ArgumentError) @Throwing(FormatException) @Throwing(PosixException)
inherited
toString() → String
A string representation of this object.
inherited
withPrivileges(RunPrivileged action, {bool allowUnprivileged = false}) → void
Run action with root UID and gid Throws ShellException. @Throwing(ArgumentError) @Throwing(FormatException) @Throwing(PosixException) @Throwing(ShellException)
inherited
withPrivilegesAsync(RunPrivilegedAsync action, {bool allowUnprivileged = false}) → Future<void>
Identical to withPrivileges except the action is async Throws ShellException. @Throwing(ArgumentError) @Throwing(FormatException) @Throwing(PosixException) @Throwing(ShellException)
inherited

Operators

operator ==(covariant ZshShell other) → bool
The equality operator.
override

Constants

shellName → const String
Name of the shell