| 123456789101112131415161718192021222324252627282930313233343536 |
- #!/usr/bin/env bash
- set -euo pipefail
- declare -A RENDERERS=(
- [pdf]="pdfjs-dist"
- [ofd]="DLTech21/ofd.js"
- [dxf]="@flyfish-dev/cad-viewer"
- [dwg]="@flyfish-dev/cad-viewer"
- [dwf]="@flyfish-dev/cad-viewer"
- [dwfx]="@flyfish-dev/cad-viewer"
- [xps]="@flyfish-dev/cad-viewer"
- [ts]="highlight.js"
- [json]="highlight.js"
- )
- extension_of() {
- local filename=$1
- printf '%s\n' "${filename##*.}" | tr '[:upper:]' '[:lower:]'
- }
- preview_plan() {
- local filename=$1
- local ext
- ext=$(extension_of "$filename")
- local renderer=${RENDERERS[$ext]:-fallback}
- printf '%-18s -> %-18s async=%s\n' "$filename" "$renderer" "$([[ $renderer != fallback ]] && echo yes || echo no)"
- }
- main() {
- local files=(contract.pdf invoice.ofd house.dwfx code.ts archive.bin)
- for file in "${files[@]}"; do
- preview_plan "$file"
- done
- }
- main "$@"
|