Format examples in docs (#7378)

Signed-off-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
Nick Cameron
2025-06-06 10:01:45 +12:00
committed by GitHub
parent 11d8179368
commit 4d1524f03b
100 changed files with 1298 additions and 1362 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -41,8 +41,19 @@ assert(
```kcl ```kcl
n = 10 n = 10
assert(n, isEqualTo = 10) assert(n, isEqualTo = 10)
assert(n, isGreaterThanOrEqual = 0, isLessThan = 100, error = "number should be between 0 and 100") assert(
assert(1.0000000000012, isEqualTo = 1, tolerance = 0.0001, error = "number should be almost exactly 1") n,
isGreaterThanOrEqual = 0,
isLessThan = 100,
error = "number should be between 0 and 100",
)
assert(
1.0000000000012,
isEqualTo = 1,
tolerance = 0.0001,
error = "number should be almost exactly 1",
)
``` ```

View File

@ -29,6 +29,7 @@ assertIs(
```kcl ```kcl
kclIsFun = true kclIsFun = true
assertIs(kclIsFun) assertIs(kclIsFun)
``` ```

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -29,14 +29,12 @@ Consider using `atan2()` instead for the true inverse of tangent.
```kcl ```kcl
sketch001 = startSketchOn(XZ) sketch001 = startSketchOn(XZ)
|> startProfile(at = [0, 0]) |> startProfile(at = [0, 0])
|> angledLine( |> angledLine(angle = atan(1.25), length = 20)
angle = atan(1.25),
length = 20,
)
|> yLine(endAbsolute = 0) |> yLine(endAbsolute = 0)
|> close() |> close()
extrude001 = extrude(sketch001, length = 5) extrude001 = extrude(sketch001, length = 5)
``` ```

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -32,6 +32,7 @@ legAngX(
```kcl ```kcl
legAngX(hypotenuse = 5, leg = 3) legAngX(hypotenuse = 5, leg = 3)
``` ```

View File

@ -32,6 +32,7 @@ legAngY(
```kcl ```kcl
legAngY(hypotenuse = 5, leg = 3) legAngY(hypotenuse = 5, leg = 3)
``` ```

View File

@ -32,6 +32,7 @@ legLen(
```kcl ```kcl
legLen(hypotenuse = 5, leg = 3) legLen(hypotenuse = 5, leg = 3)
``` ```

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -21,6 +21,7 @@ acceptAnything(42)
acceptAnything('hello') acceptAnything('hello')
acceptAnything(XY) acceptAnything(XY)
acceptAnything([0, 1, 2]) acceptAnything([0, 1, 2])
``` ```

View File

@ -15,6 +15,7 @@ Strings may be delimited using either single or double quotes.
```kcl ```kcl
"hello," "hello,"
'world!' 'world!'
``` ```

View File

@ -173,7 +173,11 @@ fn generate_example(index: usize, src: &str, props: &ExampleProperties, file_nam
return None; return None;
} }
let content = if props.inline { "" } else { src }; let content = if props.inline {
String::new()
} else {
crate::unparser::fmt(src).unwrap()
};
let image_base64 = if props.norun { let image_base64 = if props.norun {
String::new() String::new()

View File

@ -48,7 +48,7 @@ pub(super) struct GlobalState {
pub mod_loader: ModuleLoader, pub mod_loader: ModuleLoader,
/// Errors and warnings. /// Errors and warnings.
pub errors: Vec<CompilationError>, pub errors: Vec<CompilationError>,
#[allow(dead_code)] #[cfg_attr(not(feature = "artifact-graph"), allow(dead_code))]
pub artifacts: ArtifactState, pub artifacts: ArtifactState,
} }

View File

@ -1,16 +1,26 @@
use std::fmt::Write; use std::fmt::Write;
use crate::parsing::{ use crate::{
parsing::{
ast::types::{ ast::types::{
Annotation, ArrayExpression, ArrayRangeExpression, AscribedExpression, BinaryExpression, BinaryOperator, Annotation, ArrayExpression, ArrayRangeExpression, AscribedExpression, BinaryExpression, BinaryOperator,
BinaryPart, BodyItem, CallExpressionKw, CommentStyle, DefaultParamVal, Expr, FormatOptions, FunctionExpression, BinaryPart, BodyItem, CallExpressionKw, CommentStyle, DefaultParamVal, Expr, FormatOptions,
IfExpression, ImportSelector, ImportStatement, ItemVisibility, LabeledArg, Literal, LiteralIdentifier, FunctionExpression, IfExpression, ImportSelector, ImportStatement, ItemVisibility, LabeledArg, Literal,
LiteralValue, MemberExpression, Node, NonCodeNode, NonCodeValue, ObjectExpression, Parameter, PipeExpression, LiteralIdentifier, LiteralValue, MemberExpression, Node, NonCodeNode, NonCodeValue, ObjectExpression,
Program, TagDeclarator, TypeDeclaration, UnaryExpression, VariableDeclaration, VariableKind, Parameter, PipeExpression, Program, TagDeclarator, TypeDeclaration, UnaryExpression, VariableDeclaration,
VariableKind,
}, },
deprecation, DeprecationKind, PIPE_OPERATOR, deprecation, DeprecationKind, PIPE_OPERATOR,
},
KclError, ModuleId,
}; };
#[allow(dead_code)]
pub fn fmt(input: &str) -> Result<String, KclError> {
let program = crate::parsing::parse_str(input, ModuleId::default()).parse_errs_as_err()?;
Ok(program.recast(&Default::default(), 0))
}
impl Program { impl Program {
pub fn recast(&self, options: &FormatOptions, indentation_level: usize) -> String { pub fn recast(&self, options: &FormatOptions, indentation_level: usize) -> String {
let indentation = options.get_indentation(indentation_level); let indentation = options.get_indentation(indentation_level);