Files
plainleaf/website/API/system.md
T
2026-01-12 17:19:23 +01:00

98 lines
1.8 KiB
Markdown

#api/syscall
The System API provides system-level functions for interacting with the SilverBullet environment.
## Function Operations
### system.invokeFunction(name, ...)
Invokes a plug function by name.
Example:
```lua
-- Invoke a function from a plug
system.invokeFunction("myplug.processData", "input", 123)
```
## System Information
### system.listCommands()
Lists all available commands.
Example:
```lua
local commands = system.listCommands()
for name, def in pairs(commands) do
print(name .. ": " .. def.description)
end
```
### system.listSyscalls()
Lists all available syscalls.
Example:
```lua
local syscalls = system.listSyscalls()
for _, syscall in ipairs(syscalls) do
print(syscall.name)
end
```
### system.getMode()
Returns the current mode of the system ("ro" or "rw").
Example:
```lua
local mode = system.getMode()
print("System mode: " .. mode)
```
### system.getURLPrefix()
Returns the prefix set by [[Install/Configuration|SB_URL_PREFIX]] or "/" if the variable isn't set
Example:
```lua
local prefix = system.getURLPrefix()
print("Prefix: " .. prefix)
```
### system.getVersion()
Returns the SilverBullet version.
Example:
```lua
local version = system.getVersion()
print("SilverBullet version: " .. version)
```
## Configuration
### system.reloadConfig()
Triggers an explicit reload of the configuration.
Example:
```lua
system.reloadConfig()
print("Configuration reloaded")
```
### system.reloadPlugs()
Triggers a reload of all plugs.
Example:
```lua
system.reloadPlugs()
print("All plugs reloaded")
```
### system.wipeClient(logout?)
Completely wipes the client state, including cached files, service worker and databases.
Parameters:
- `logout`: Optional boolean to also log out the user
Example:
```lua
system.wipeClient(true) -- Wipe client and log out
print("Client state has been reset")
```