Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
csexp-query
A minimal command-line tool to query canonical s-expressions (csexp) from stdin.
Installation
opam install csexp-query
Usage
csexp-query QUERY
Reads a csexp s-expression from stdin, applies the query, and outputs results (one csexp per line).
Query Operations
Operation
Syntax
Description
field
(field NAME)
Find (NAME value) pairs, return values
index
(index N)
Get Nth element (0-indexed, negative supported)
each
each
Iterate over list elements
pipe
(pipe E1 E2 ...)
Sequential composition
cat
(cat E1 E2 ...)
Concatenate results of independent queries
this
this
Identity
Multiple top-level expressions are implicitly piped.
Examples
# Get a field value
dune describe --format=csexp | csexp-query '(field name)'
# Get the first element
dune describe --format=csexp | csexp-query '(index 0)'
# Iterate over a list field
dune describe --format=csexp | csexp-query '(field modules) each'
# Get multiple fields
dune describe --format=csexp | csexp-query '(cat (field name) (field version))'
# Chain operations
dune describe --format=csexp | csexp-query '(index 0) (field name)'
Query Syntax
The query syntax is compatible with a subset of sexp.