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
29 lines
886 B
Plaintext
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
|