PureXML/.swiftformat
Mihaela Mihaljevic d83e5a88ce feat(xpath): expression engine and the four-type model
Compile and evaluate full XPath 1.0 expressions, not just location paths.
Add the four-type Value (node-set, boolean, number, string) with the spec's
coercion rules and canonical number formatting, a recursive-descent parser
for the operator grammar (or/and, equality, relational, additive,
multiplicative, unary minus, union) whose grammatical position disambiguates
* and the operator keywords, function calls, variable references, and filter
expressions. Predicates are now arbitrary expressions (a numeric predicate
is a position test). Comparison follows the node-set quantification rules.
Query gains value/number/string/boolean accessors and a $variable binding
map; the core functions last, position, count, not, true, false, boolean,
number, and string ship with it.

Closes #42
2026-06-08 05:33:13 +02:00

29 lines
886 B
Plaintext

# SwiftFormat configuration. The mechanical formatting gate.
#
# Inert until Swift sources exist. The CI workflow that runs
# `swiftformat . --config .swiftformat --lint` plus build plus test ships with
# the engine package. Run `swiftformat . --config .swiftformat` before committing.
--swiftversion 6.1
# House style.
--indent 4
--maxwidth 180
--commas always
# Safe defaults that match the style above.
--trimwhitespace always
--semicolons never
--wraparguments before-first
--wrapparameters before-first
--wrapcollections before-first
--self remove
--exclude .build,DerivedData
# PureXML uses OpenAPIKit-style `test_...` method names with Swift Testing.
--disable swiftTestingTestCaseNames
# The recursive `indirect enum Expression` and its `Step` need explicit Sendable
# that the compiler does not synthesize; redundantSendable wrongly strips it.
--disable redundantSendable