mirror of
https://github.com/Reuh/anselme.git
synced 2025-10-27 16:49:31 +00:00
Update doc
This commit is contained in:
parent
43a745a7a9
commit
9e73269cda
2 changed files with 33 additions and 25 deletions
50
doc/api.md
50
doc/api.md
|
|
@ -104,7 +104,7 @@ _defined at line 82 of [anselme/init.lua](../anselme/init.lua):_ `new = function
|
|||
|
||||
|
||||
---
|
||||
_file generated at 2023-12-29T17:36:31Z_
|
||||
_file generated at 2023-12-31T18:43:08Z_
|
||||
|
||||
# State
|
||||
|
||||
|
|
@ -116,7 +116,7 @@ Each State can run a single script at a time, and variable changes are isolated
|
|||
Load standard library.
|
||||
You will probably want to call this on every State right after creation.
|
||||
|
||||
_defined at line 50 of [anselme/state/State.lua](../anselme/state/State.lua):_ `load_stdlib = function(self)`
|
||||
_defined at line 43 of [anselme/state/State.lua](../anselme/state/State.lua):_ `load_stdlib = function(self)`
|
||||
|
||||
## Branching and merging
|
||||
|
||||
|
|
@ -124,13 +124,13 @@ _defined at line 50 of [anselme/state/State.lua](../anselme/state/State.lua):_ `
|
|||
|
||||
Name of the branch associated to this State.
|
||||
|
||||
_defined at line 57 of [anselme/state/State.lua](../anselme/state/State.lua):_ `branch_id = "main",`
|
||||
_defined at line 50 of [anselme/state/State.lua](../anselme/state/State.lua):_ `branch_id = "main",`
|
||||
|
||||
### .source_branch_id
|
||||
|
||||
Name of the branch this State was branched from.
|
||||
|
||||
_defined at line 59 of [anselme/state/State.lua](../anselme/state/State.lua):_ `source_branch_id = "main",`
|
||||
_defined at line 52 of [anselme/state/State.lua](../anselme/state/State.lua):_ `source_branch_id = "main",`
|
||||
|
||||
### :branch ()
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ Return a new branch of this State.
|
|||
Branches act as indepent copies of this State where any change will not be reflected in the source State until it is merged back into the source branch.
|
||||
Note: probably makes the most sense to create branches from the main State only.
|
||||
|
||||
_defined at line 65 of [anselme/state/State.lua](../anselme/state/State.lua):_ `branch = function(self)`
|
||||
_defined at line 58 of [anselme/state/State.lua](../anselme/state/State.lua):_ `branch = function(self)`
|
||||
|
||||
### :merge ()
|
||||
|
||||
|
|
@ -149,7 +149,7 @@ Recommendation: only merge if you know that the state of the variables is consis
|
|||
If your script errored or was interrupted at an unknown point in the script, you might be in the middle of a calculation and variables won't contain
|
||||
values you want to merge.
|
||||
|
||||
_defined at line 74 of [anselme/state/State.lua](../anselme/state/State.lua):_ `merge = function(self)`
|
||||
_defined at line 67 of [anselme/state/State.lua](../anselme/state/State.lua):_ `merge = function(self)`
|
||||
|
||||
## Variable definition
|
||||
|
||||
|
|
@ -166,13 +166,25 @@ Define a value in the global scope, converting it from Lua to Anselme if needed.
|
|||
If `raw_mode` is true, no anselme-to/from-lua conversion will be performed in the function.
|
||||
The function will receive the state followed by AST nodes as arguments, and is expected to return an AST node.
|
||||
|
||||
_defined at line 92 of [anselme/state/State.lua](../anselme/state/State.lua):_ `define = function(self, name, value, func, raw_mode)`
|
||||
_defined at line 85 of [anselme/state/State.lua](../anselme/state/State.lua):_ `define = function(self, name, value, func, raw_mode)`
|
||||
|
||||
### :define_local (name, value, func, raw_mode)
|
||||
|
||||
Same as `:define`, but define the expression in the current scope.
|
||||
|
||||
_defined at line 98 of [anselme/state/State.lua](../anselme/state/State.lua):_ `define_local = function(self, name, value, func, raw_mode)`
|
||||
_defined at line 91 of [anselme/state/State.lua](../anselme/state/State.lua):_ `define_local = function(self, name, value, func, raw_mode)`
|
||||
|
||||
### :defined (name)
|
||||
|
||||
Returns false otherwise.
|
||||
|
||||
_defined at line 96 of [anselme/state/State.lua](../anselme/state/State.lua):_ `defined = function(self, name)`
|
||||
|
||||
### :defined_local (name)
|
||||
|
||||
Same as `:defined`, but check if the variable is defined in the current scope.
|
||||
|
||||
_defined at line 103 of [anselme/state/State.lua](../anselme/state/State.lua):_ `defined_local = function(self, name)`
|
||||
|
||||
For anything more advanced, you can directly access the current scope stack stored in `state.scope`.
|
||||
See [state/ScopeStack.lua](../state/ScopeStack.lua) for details; the documentation is not as polished as this file but you should still be able to find your way around.
|
||||
|
|
@ -185,7 +197,7 @@ Return a serialized (string) representation of all persistent variables in this
|
|||
|
||||
This can be loaded back later using `:load`.
|
||||
|
||||
_defined at line 110 of [anselme/state/State.lua](../anselme/state/State.lua):_ `save = function(self)`
|
||||
_defined at line 115 of [anselme/state/State.lua](../anselme/state/State.lua):_ `save = function(self)`
|
||||
|
||||
### :load (save)
|
||||
|
||||
|
|
@ -193,7 +205,7 @@ Load a string generated by `:save`.
|
|||
|
||||
Variables that already exist will be overwritten with the loaded data.
|
||||
|
||||
_defined at line 117 of [anselme/state/State.lua](../anselme/state/State.lua):_ `load = function(self, save)`
|
||||
_defined at line 122 of [anselme/state/State.lua](../anselme/state/State.lua):_ `load = function(self, save)`
|
||||
|
||||
## Current script state
|
||||
|
||||
|
|
@ -201,7 +213,7 @@ _defined at line 117 of [anselme/state/State.lua](../anselme/state/State.lua):_
|
|||
|
||||
Indicate if a script is currently loaded in this branch.
|
||||
|
||||
_defined at line 131 of [anselme/state/State.lua](../anselme/state/State.lua):_ `active = function(self)`
|
||||
_defined at line 136 of [anselme/state/State.lua](../anselme/state/State.lua):_ `active = function(self)`
|
||||
|
||||
### :state ()
|
||||
|
||||
|
|
@ -211,7 +223,7 @@ Returns `"active"` if a script is loaded but not currently running (i.e. the scr
|
|||
|
||||
Returns `"inactive"` if no script is loaded.
|
||||
|
||||
_defined at line 139 of [anselme/state/State.lua](../anselme/state/State.lua):_ `state = function(self)`
|
||||
_defined at line 144 of [anselme/state/State.lua](../anselme/state/State.lua):_ `state = function(self)`
|
||||
|
||||
### :run (code, source)
|
||||
|
||||
|
|
@ -221,7 +233,7 @@ Load a script in this branch. It will become the active script.
|
|||
|
||||
Note that this will only load the script; execution will only start by using the `:step` method. Will error if a script is already active in this State.
|
||||
|
||||
_defined at line 151 of [anselme/state/State.lua](../anselme/state/State.lua):_ `run = function(self, code, source)`
|
||||
_defined at line 156 of [anselme/state/State.lua](../anselme/state/State.lua):_ `run = function(self, code, source)`
|
||||
|
||||
### :step ()
|
||||
|
||||
|
|
@ -231,7 +243,7 @@ Will error if no script is active.
|
|||
|
||||
Returns `event type string, event data`.
|
||||
|
||||
_defined at line 164 of [anselme/state/State.lua](../anselme/state/State.lua):_ `step = function(self)`
|
||||
_defined at line 169 of [anselme/state/State.lua](../anselme/state/State.lua):_ `step = function(self)`
|
||||
|
||||
### :interrupt (code, source)
|
||||
|
||||
|
|
@ -242,7 +254,9 @@ Will error if no script is active.
|
|||
If `code` is given, the script will not be disabled but instead will be immediately replaced with this new script.
|
||||
The new script will then be started on the next `:step` and will preserve the current scope. This can be used to trigger an exit function or similar in the active script.
|
||||
|
||||
_defined at line 182 of [anselme/state/State.lua](../anselme/state/State.lua):_ `interrupt = function(self, code, source)`
|
||||
If this is called from within a running script, this will raise an `interrupt` event in order to stop the current script execution.
|
||||
|
||||
_defined at line 189 of [anselme/state/State.lua](../anselme/state/State.lua):_ `interrupt = function(self, code, source)`
|
||||
|
||||
### :eval (code, source)
|
||||
|
||||
|
|
@ -253,13 +267,13 @@ This can be called from outside a running script, but an error will be triggered
|
|||
* returns AST in case of success. Run `:to_lua(state)` on it to convert to a Lua value.
|
||||
* returns `nil, error message` in case of error.
|
||||
|
||||
_defined at line 203 of [anselme/state/State.lua](../anselme/state/State.lua):_ `eval = function(self, code, source)`
|
||||
_defined at line 212 of [anselme/state/State.lua](../anselme/state/State.lua):_ `eval = function(self, code, source)`
|
||||
|
||||
### :eval_local (code, source)
|
||||
|
||||
Same as `:eval`, but evaluate the expression in the current scope.
|
||||
|
||||
_defined at line 210 of [anselme/state/State.lua](../anselme/state/State.lua):_ `eval_local = function(self, code, source)`
|
||||
_defined at line 219 of [anselme/state/State.lua](../anselme/state/State.lua):_ `eval_local = function(self, code, source)`
|
||||
|
||||
If you want to perform more advanced manipulation of the resulting AST nodes, look at the `ast` modules.
|
||||
In particular, every Node inherits the methods from [ast.abstract.Node](../ast/abstract/Node.lua).
|
||||
|
|
@ -267,4 +281,4 @@ Otherwise, each Node has its own module file defined in the [ast/](../ast) direc
|
|||
|
||||
|
||||
---
|
||||
_file generated at 2023-12-29T17:36:31Z_
|
||||
_file generated at 2023-12-31T18:43:08Z_
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue