1
1
use leptos:: * ;
2
2
use leptos_router:: * ;
3
+ use std:: fmt:: Write ;
3
4
use uiua:: { PrimClass , PrimDoc , PrimDocFragment , PrimDocLine , Primitive , SysOp } ;
4
5
use uiua_editor:: Editor ;
5
6
@@ -49,11 +50,12 @@ pub fn PrimDocs(prim: Primitive) -> impl IntoView {
49
50
sig. push_str ( "Constant" ) ;
50
51
} else if let Some ( margs) = prim. modifier_args ( ) {
51
52
match margs {
52
- 1 => sig . push_str ( "Monadic" ) ,
53
- 2 => sig . push_str ( "Dyadic" ) ,
54
- 3 => sig . push_str ( "Triadic" ) ,
55
- n => sig . push_str ( & format ! ( "{n}-function" ) ) ,
53
+ 1 => write ! ( sig , "Monadic" ) ,
54
+ 2 => write ! ( sig , "Dyadic" ) ,
55
+ 3 => write ! ( sig , "Triadic" ) ,
56
+ n => write ! ( sig , "{n}-function" ) ,
56
57
}
58
+ . ok ( ) ;
57
59
if let Some ( args) = prim. args ( ) {
58
60
sig. push ( ' ' ) ;
59
61
sig. push_str ( & args. to_string ( ) ) ;
@@ -62,16 +64,17 @@ pub fn PrimDocs(prim: Primitive) -> impl IntoView {
62
64
sig. push_str ( " modifier" ) ;
63
65
} else {
64
66
match prim. args ( ) {
65
- Some ( 0 ) => sig . push_str ( "Noadic" ) ,
66
- Some ( 1 ) => sig . push_str ( "Monadic" ) ,
67
- Some ( 2 ) => sig . push_str ( "Dyadic" ) ,
68
- Some ( 3 ) => sig . push_str ( "Triadic" ) ,
69
- Some ( n) => sig . push_str ( & format ! ( "{n}-argument" ) ) ,
70
- None => sig . push_str ( "Variadic" ) ,
67
+ Some ( 0 ) => write ! ( sig , "Noadic" ) ,
68
+ Some ( 1 ) => write ! ( sig , "Monadic" ) ,
69
+ Some ( 2 ) => write ! ( sig , "Dyadic" ) ,
70
+ Some ( 3 ) => write ! ( sig , "Triadic" ) ,
71
+ Some ( n) => write ! ( sig , "{n}-argument" ) ,
72
+ None => write ! ( sig , "Variadic" ) ,
71
73
}
74
+ . ok ( ) ;
72
75
if let Some ( outputs) = prim. outputs ( ) {
73
76
if outputs != 1 {
74
- sig . push_str ( & format ! ( " {outputs}-output" ) ) ;
77
+ write ! ( sig , " {outputs}-output" ) . ok ( ) ;
75
78
}
76
79
} else {
77
80
sig. push_str ( " variable-output" ) ;
0 commit comments