prettify --help output and add it to Readme.org

This commit is contained in:
2025-07-28 20:22:36 +03:00
parent d2998f79ff
commit 4be0d3f5ac
2 changed files with 40 additions and 23 deletions

View File

@@ -20,7 +20,21 @@ https://wiki.call-cc.org/man/5/Extension%20tools#changing-the-repository-locatio
~make~ ~make~
* Usage * Usage
You'll also need a C compiler, so pick any. ** Summary
#+begin_src
Usage: sexc [options] filename [-- options-for-c-compiler]
Options:
--c-compiler=ARG Select C compiler. Defaults to value of SEX_CC
environment variable, or if it is empty, to cc
-c, --compile-object Compile object file instead of executable program
-E, --preprocess Emit C code
--public-interface Get module's public interface
-h, --help Show this help
-m, --macro-expand Emit macro-expanded Sex code
-o, --output=ARG Write output to file. Default file name is a.out.
If -E or -m options are provided, defaults to stdout
#+end_src
** Compiling Hello World
#+begin_src #+begin_src
sexc ./examples/hell-world.sex -o hello sexc ./examples/hell-world.sex -o hello
#+end_src #+end_src

View File

@@ -278,7 +278,9 @@
;;; Main function facilities ;;; Main function facilities
(define opts-grammar (define opts-grammar
`((c-compiler "Select C compiler. Defaults to value of SEX_CC environment variable, or if it is empty, to cc" (let ((padding 26))
`((c-compiler ,(fmt #f "Select C compiler. Defaults to value of SEX_CC" nl
(pad padding) "environment variable, or if it is empty, to cc")
(required #f) (required #f)
(value #t)) (value #t))
(compile-object "Compile object file instead of executable program" (compile-object "Compile object file instead of executable program"
@@ -300,10 +302,11 @@
(required #f) (required #f)
(value #f) (value #f)
(single-char #\m)) (single-char #\m))
(output "Write output to file. Default file name is a.out. If -E or -m options are provided, defaults to stdout" (output ,(fmt #f "Write output to file. Default file name is a.out." nl
(pad padding) "If -E or -m options are provided, defaults to stdout")
(required #f) (required #f)
(value #t) (value #t)
(single-char #\o)))) (single-char #\o)))))
(define (print-help) (define (print-help)
(fmt #t "Usage: sexc [options] filename [-- options-for-c-compiler]\n") (fmt #t "Usage: sexc [options] filename [-- options-for-c-compiler]\n")