diff --git a/Makefile b/Makefile index 6b06155..607956e 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,10 @@ coverage: CARGO_INCREMENTAL=0 RUSTFLAGS='-C instrument-coverage' LLVM_PROFILE_FILE='cargo-test-%p-%m.profraw' cargo test grcov . --binary-path ./target/debug/deps/ -s . -t html --branch --ignore-not-existing --ignore '../*' --ignore "/*" -o target/coverage/html +update-docs: + cargo build + ./target/debug/documentation -o wiki/functions.md + docs: cargo doc --no-deps diff --git a/wiki/functions.md b/wiki/functions.md index 507113f..9fc9495 100644 --- a/wiki/functions.md +++ b/wiki/functions.md @@ -1,192 +1,192 @@ -AND -FALSE -IF -IFERROR -IFNA -IFS -NOT -OR -SWITCH -TRUE -XOR -SIN -COS -TAN -ASIN -ACOS -ATAN -SINH -COSH -TANH -ASINH -ACOSH -ATANH -ABS -PI -SQRT -SQRTPI -ATAN2 -POWER -MAX -MIN -PRODUCT -RAND -RANDBETWEEN -ROUND -ROUNDDOWN -ROUNDUP -SUM -SUMIF -SUMIFS -CHOOSE -COLUMN -COLUMNS -INDEX -INDIRECT -HLOOKUP -LOOKUP -MATCH -OFFSET -ROW -ROWS -VLOOKUP -XLOOKUP -CONCATENATE -EXACT -VALUE -T -VALUETOTEXT -CONCAT -FIND -LEFT -LEN -LOWER -MID -RIGHT -SEARCH -TEXT -TRIM -UPPER -ISNUMBER -ISNONTEXT -ISTEXT -ISLOGICAL -ISBLANK -ISERR -ISERROR -ISNA -NA -ISREF -ISODD -ISEVEN -ERROR.TYPE -ISFORMULA -TYPE -SHEET -AVERAGE -AVERAGEA -AVERAGEIF -AVERAGEIFS -COUNT -COUNTA -COUNTBLANK -COUNTIF -COUNTIFS -MAXIFS -MINIFS -YEAR -DAY -MONTH -EOMONTH -DATE -EDATE -TODAY -NOW -PMT -PV -RATE -NPER -FV -PPMT -IPMT -NPV -MIRR -IRR -XIRR -XNPV -REPT -TEXTAFTER -TEXTBEFORE -TEXTJOIN -SUBSTITUTE -ISPMT -RRI -SLN -SYD -NOMINAL -EFFECT -PDURATION -TBILLYIELD -TBILLPRICE -TBILLEQ -DOLLARDE -DOLLARFR -DDB -DB -CUMPRINC -CUMIPMT -BESSELI -BESSELJ -BESSELK -BESSELY -ERF -ERF.PRECISE -ERFC -ERFC.PRECISE -BIN2DEC -BIN2HEX -BIN2OCT -DEC2BIN -DEC2HEX -DEC2OCT -HEX2BIN -HEX2DEC -HEX2OCT -OCT2BIN -OCT2DEC -OCT2HEX -BITAND -BITLSHIFT -BITOR -BITRSHIFT -BITXOR -COMPLEX -IMABS -IMAGINARY -IMARGUMENT -IMCONJUGATE -IMCOS -IMCOSH -IMCOT -IMCSC -IMCSCH -IMDIV -IMEXP -IMLN -IMLOG10 -IMLOG2 -IMPOWER -IMPRODUCT -IMREAL -IMSEC -IMSECH -IMSIN -IMSINH -IMSQRT -IMSUB -IMSUM -IMTAN -CONVERT -DELTA -GESTEP -SUBTOTAL \ No newline at end of file +# List of Functions implemented in IronCalc\n* AND +* FALSE +* IF +* IFERROR +* IFNA +* IFS +* NOT +* OR +* SWITCH +* TRUE +* XOR +* SIN +* COS +* TAN +* ASIN +* ACOS +* ATAN +* SINH +* COSH +* TANH +* ASINH +* ACOSH +* ATANH +* ABS +* PI +* SQRT +* SQRTPI +* ATAN2 +* POWER +* MAX +* MIN +* PRODUCT +* RAND +* RANDBETWEEN +* ROUND +* ROUNDDOWN +* ROUNDUP +* SUM +* SUMIF +* SUMIFS +* CHOOSE +* COLUMN +* COLUMNS +* INDEX +* INDIRECT +* HLOOKUP +* LOOKUP +* MATCH +* OFFSET +* ROW +* ROWS +* VLOOKUP +* XLOOKUP +* CONCATENATE +* EXACT +* VALUE +* T +* VALUETOTEXT +* CONCAT +* FIND +* LEFT +* LEN +* LOWER +* MID +* RIGHT +* SEARCH +* TEXT +* TRIM +* UPPER +* ISNUMBER +* ISNONTEXT +* ISTEXT +* ISLOGICAL +* ISBLANK +* ISERR +* ISERROR +* ISNA +* NA +* ISREF +* ISODD +* ISEVEN +* ERROR.TYPE +* ISFORMULA +* TYPE +* SHEET +* AVERAGE +* AVERAGEA +* AVERAGEIF +* AVERAGEIFS +* COUNT +* COUNTA +* COUNTBLANK +* COUNTIF +* COUNTIFS +* MAXIFS +* MINIFS +* YEAR +* DAY +* MONTH +* EOMONTH +* DATE +* EDATE +* TODAY +* NOW +* PMT +* PV +* RATE +* NPER +* FV +* PPMT +* IPMT +* NPV +* MIRR +* IRR +* XIRR +* XNPV +* REPT +* TEXTAFTER +* TEXTBEFORE +* TEXTJOIN +* SUBSTITUTE +* ISPMT +* RRI +* SLN +* SYD +* NOMINAL +* EFFECT +* PDURATION +* TBILLYIELD +* TBILLPRICE +* TBILLEQ +* DOLLARDE +* DOLLARFR +* DDB +* DB +* CUMPRINC +* CUMIPMT +* BESSELI +* BESSELJ +* BESSELK +* BESSELY +* ERF +* ERF.PRECISE +* ERFC +* ERFC.PRECISE +* BIN2DEC +* BIN2HEX +* BIN2OCT +* DEC2BIN +* DEC2HEX +* DEC2OCT +* HEX2BIN +* HEX2DEC +* HEX2OCT +* OCT2BIN +* OCT2DEC +* OCT2HEX +* BITAND +* BITLSHIFT +* BITOR +* BITRSHIFT +* BITXOR +* COMPLEX +* IMABS +* IMAGINARY +* IMARGUMENT +* IMCONJUGATE +* IMCOS +* IMCOSH +* IMCOT +* IMCSC +* IMCSCH +* IMDIV +* IMEXP +* IMLN +* IMLOG10 +* IMLOG2 +* IMPOWER +* IMPRODUCT +* IMREAL +* IMSEC +* IMSECH +* IMSIN +* IMSINH +* IMSQRT +* IMSUB +* IMSUM +* IMTAN +* CONVERT +* DELTA +* GESTEP +* SUBTOTAL diff --git a/xlsx/src/bin/documentation.rs b/xlsx/src/bin/documentation.rs index ec19846..8055e4c 100644 --- a/xlsx/src/bin/documentation.rs +++ b/xlsx/src/bin/documentation.rs @@ -8,10 +8,19 @@ use std::fs; use ironcalc_base::model::Model; fn main() { + let args: Vec<_> = std::env::args().collect(); + let output_file = if args.len() == 3 { + &args[2] + } else if args.len() == 1 { + "functions.md" + } else { + panic!("Usage: {} -o ", args[0]); + }; let mut doc = Vec::new(); + doc.push(r#"# List of Functions implemented in IronCalc\n"#.to_owned()); for function in Model::documentation() { - doc.push(function.name); + doc.push(format!("* {}\n", &function.name)); } - let data = doc.join("\n"); - fs::write("functions.md", data).expect("Unable to write file"); + let data = doc.join(""); + fs::write(output_file, data).expect("Unable to write file"); }