#!/usr/bin/env elvish

use platform

if (eq $platform:os windows) {
  set paths = [
    ~/scoop/apps/llvm/19.1.0/bin
  ]
} elif (eq $platform:os linux) {
  fn clang-format {|@a| e:clang-format-19 $@a }
  set paths = [
    /usr/local/bin      # Fedora: user-compiled/symlinked binaries
    /usr/lib/llvm-19/bin
    /usr/bin            # Arch Linux
  ]
} else {
  set paths = [
    /opt/homebrew/opt/llvm@19/bin/
  ]
}

clang-format --version

clang-format -i tests/**/*.cpp
clang-format -i tests/**/*.hpp
clang-format -i src/**/*.cpp
clang-format -i src/**/*.hpp
clang-format -i moebius/**/*.cpp
clang-format -i moebius/**/*.hpp
clang-format -i 3rdparty/lolly/**/*.cpp
clang-format -i 3rdparty/lolly/**/*.hpp

gf fix TeXmacs/plugins/gnuplot
gf fix TeXmacs/progs/generic
gf fix TeXmacs/progs/kernel
gf fix TeXmacs/progs/source
gf fix TeXmacs/progs/utils/plugins/
