feat(tvix/eval): Add docstrings as documentation for builtins
Add a new `documentation: Option<&'static str>` field to Builtin, and populate it in the `#[builtins]` macro with the docstring of the builtin function, if any. Change-Id: Ic68fdf9b314d15a780731974234e2ae43f6a44b0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7205 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
a1015ba1d7
commit
76d7671c8a
5 changed files with 54 additions and 2 deletions
|
|
@ -7,6 +7,7 @@ mod builtins {
|
|||
use tvix_eval::internal::VM;
|
||||
use tvix_eval::{ErrorKind, Value};
|
||||
|
||||
/// Test docstring
|
||||
#[builtin("identity")]
|
||||
pub fn builtin_identity(_vm: &mut VM, x: Value) -> Result<Value, ErrorKind> {
|
||||
Ok(x)
|
||||
|
|
@ -22,4 +23,7 @@ mod builtins {
|
|||
fn builtins() {
|
||||
let builtins = builtins::builtins();
|
||||
assert_eq!(builtins.len(), 2);
|
||||
|
||||
let identity = builtins.iter().find(|b| b.name() == "identity").unwrap();
|
||||
assert_eq!(identity.documentation(), Some(" Test docstring"));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue