Files
hakorune/nyash.toml

45 lines
1.4 KiB
TOML
Raw Normal View History

# Nyash Configuration File v2
# マルチBox型プラグイン対応
[libraries]
# ライブラリ定義1つのプラグインで複数のBox型を提供可能
[libraries."libnyash_filebox_plugin.so"]
boxes = ["FileBox"]
path = "./plugins/nyash-filebox-plugin/target/release/libnyash_filebox_plugin.so"
# 将来の拡張例:
# "libnyash_database_plugin.so" = {
# boxes = ["PostgreSQLBox", "MySQLBox", "SQLiteBox"],
# path = "./target/release/libnyash_database_plugin.so"
# }
# FileBoxの型情報定義
[libraries."libnyash_filebox_plugin.so".FileBox]
type_id = 6
[libraries."libnyash_filebox_plugin.so".FileBox.methods]
# 全メソッドをmethod_idと共に定義
birth = { method_id = 0 }
open = { method_id = 1, args = ["path", "mode"] }
read = { method_id = 2 }
write = { method_id = 3, args = ["data"] }
close = { method_id = 4 }
fini = { method_id = 4294967295 }
# v2.1: Box引数を受け取るメソッド宣言FileBox: copyFrom(other: Handle)
copyFrom = { method_id = 7, args = [ { kind = "box", category = "plugin" } ] }
# v2.2: BoxRef(Handle)を返すメソッド宣言
cloneSelf = { method_id = 8 }
[plugin_paths]
# プラグインの検索パス(デフォルト)
search_paths = [
"./target/release",
"./target/debug",
"./plugins/*/target/release",
"./plugins/*/target/debug",
"/usr/local/lib/nyash/plugins",
"~/.nyash/plugins"
]