Skip to content

jberdine/csexp-query

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Exit Codes

  • 0: Success (including empty result)
  • 1: Parse error or query error

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors