Skip to main content

LuaDebugAdapter

Struct LuaDebugAdapter 

Source
pub struct LuaDebugAdapter;
Expand description

Factorio provides a Debug Adapter for compatible tools in single-session mode on stdin/stdout when launched with the --dap command line argument.

The Debug Adapter supports a Launch request with the following arguments:

  • factorioArgs :: array[string]? : Command line arguments for the debug session

  • followSymlinks :: boolean? : Follow symlinks when emitting locations (stack traces, etc) (default: true)

  • trace :: boolean? : Trace DAP messages to a dap-trace.log (default: false)

  • tags :: Any? : Extra debug session tags, see also tags

Metatable methods may be used to customize debug views:

  • __tostring(self) -> string : Called when the object appears as a value.

  • __debugcounts(self) -> indexedVariables :: int32 , namedVariables :: int32 : Called when the object appears in a parent object’s listing, to estimate the size of this object’s listing, and enabled paged listing for large indexed objects.

  • __debugchildren(self, filters :: DebugVariablesFilter) -> array(DebugVariable) : Called when the object itself is opened for a debug listing. If __debugcounts was implemented, the client may choose to fetch Indexed and Named children separately, and Indexed children in pages as-needed for display. See also describe_field.

This class also provides debug session APIs, as the global object debugadapter in all stages.

Implementations§

Source§

impl LuaDebugAdapter

Source

pub fn object_name(&self) -> &str

The class name of this object. Available even when valid is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.

Source

pub fn tags(&self) -> LuaAny

The value from the tags property of the current session’s launch request

Source

pub fn valid(&self) -> bool

Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be false. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.

Source

pub fn describe_field(&self, name: &str, value: LuaAny) -> DebugVariable

Prepare a default debug view entry for a field, to assist in preparing custom listings.

Source

pub fn start_profile(&self, params: LuaDebugAdapterStartProfileParams)

Start recording profiler timings. If there is a previous recording session running, it will be stopped first.

Source

pub fn stop_profile(&self)

Stop recording profiler timings and save to script_output.

Trait Implementations§

Source§

impl Clone for LuaDebugAdapter

Source§

fn clone(&self) -> LuaDebugAdapter

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for LuaDebugAdapter

Source§

impl Debug for LuaDebugAdapter

Source§

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

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

impl Default for LuaDebugAdapter

Source§

fn default() -> LuaDebugAdapter

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

impl Eq for LuaDebugAdapter

Source§

impl From<LuaDebugAdapter> for LuaAny

Source§

fn from(_: LuaDebugAdapter) -> Self

Converts to this type from the input type.
Source§

impl LuaObject for LuaDebugAdapter

Source§

impl PartialEq for LuaDebugAdapter

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for LuaDebugAdapter

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