pub struct FilesystemPrimaryInputIo { /* private fields */ }
Expand description

FilesystemPrimaryInputIo is an I/O provider that provides the TeX “primary input” file off of the filesystem. This can pretty much be achieved with Filesystem I/O, but we need the “primary input” formalism to decently support processing if stdin, and by doing things this way we can handle paths on Unix systems that can’t be converted to UTF-8.

TODO: it might be technically superior to open the path immediately and keep that handle open, rewinding as needed, but for now we’re not doing that.

Implementations§

source§

impl FilesystemPrimaryInputIo

source

pub fn new<P>(path: P) -> FilesystemPrimaryInputIo
where P: AsRef<Path>,

Create a new I/O provider providing the Tectonic “primary input” from the specified path.

Trait Implementations§

source§

impl Debug for FilesystemPrimaryInputIo

source§

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

Formats the value using the given formatter. Read more
source§

impl IoProvider for FilesystemPrimaryInputIo

source§

fn input_open_primary( &mut self, status: &mut dyn StatusBackend ) -> OpenResult<InputHandle>

Open the “primary” input file, which in the context of TeX is the main input that it’s given. When the build is being done using the filesystem and the input is a file on the filesystem, this function isn’t necesssarily that important, but those conditions don’t always hold.
source§

fn input_open_primary_with_abspath( &mut self, _status: &mut dyn StatusBackend ) -> OpenResult<(InputHandle, Option<PathBuf>)>

Open the primary input and return filesystem path information. Read more
source§

fn output_open_name(&mut self, _name: &str) -> OpenResult<OutputHandle>

Open the named file for output.
source§

fn output_open_stdout(&mut self) -> OpenResult<OutputHandle>

Open the standard output stream.
source§

fn input_open_name( &mut self, _name: &str, _status: &mut dyn StatusBackend ) -> OpenResult<InputHandle>

Open the named file for input.
source§

fn input_open_name_with_abspath( &mut self, name: &str, status: &mut dyn StatusBackend ) -> OpenResult<(InputHandle, Option<PathBuf>)>

Open the named file for input and return filesystem path information. Read more
source§

fn input_open_format( &mut self, name: &str, status: &mut dyn StatusBackend ) -> OpenResult<InputHandle>

Open a format file with the specified name. Format files have a specialized entry point because IOProviders may wish to handle them specially: namely, to munge the filename to one that includes the current version of the Tectonic engine, since the format contents depend sensitively on the engine internals.
source§

fn write_format( &mut self, _name: &str, _data: &[u8], _status: &mut dyn StatusBackend ) -> Result<(), Error>

Save an a format dump in some way that this provider may be able to recover in the future. This awkward interface is needed to write formats with their special munged file names.

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> AsIoProviderMut for T
where T: IoProvider,

source§

fn as_ioprovider_mut(&mut self) -> &mut dyn IoProvider

Represent this value as an IoProvider trait object.
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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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