Commit 7346169a0fab5677359ebfa4d19778e69e7fd2bd

Thomas de Grivel 2022-12-06T13:35:08

wip

diff --git a/bin/header.exs b/bin/header.exs
deleted file mode 100644
index 3d35f64..0000000
--- a/bin/header.exs
+++ /dev/null
@@ -1,89 +0,0 @@
-## cl89
-## Copyright 2022 kmx.io <contact@kmx.io>
-##
-## Permission is hereby granted to use this software granted
-## the above copyright notice and this permission paragraph
-## are included in all copies and substantial portions of this
-## software.
-##
-## THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
-## PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
-## AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
-## THIS SOFTWARE.
-
-defmodule Header.C do
-  def split(src) do
-    split(src, "")
-  end
-
-  def split("/*" <> rest, "") do
-    split(rest, "/*")
-  end
-  def split("/*" <> rest, acc) do
-    {"", acc <> "/*" <> rest}
-  end
-  def split("*/\n" <> rest, acc) do
-    header = acc <> "*/"
-    {header, rest}
-  end
-  def split(<<c, rest::binary>>, acc) when is_binary(acc) do
-    split(rest, acc <> <<c>>)
-  end
-  def split("", acc) do
-    {"", acc}
-  end
-
-  def main([src_path | dest_paths]) do
-    case File.read(src_path) do
-      {:ok, src} ->
-        {header, _} = split(src)
-        Enum.each dest_paths, fn dest_path ->
-          {:ok, dest} = File.read(dest_path)
-          {_, rest} = split(dest)
-          result = header <> "\n" <> rest
-          File.write(dest_path, result)
-        end
-      {:error, e} ->
-        IO.inspect "Error: #{src_path}: #{e}"
-    end
-  end
-end
-
-defmodule Header.Make do
-  def split(src) do
-    split(src, [])
-  end
-
-  def split([line = ("#" <> _) | rest], acc) do
-    split(rest, [line | acc])
-  end
-  def split(rest, acc) do
-    {Enum.reverse(acc) |> Enum.join("\n"), rest |> Enum.join("\n")}
-  end
-
-  def main([src_path | dest_paths]) do
-    {:ok, src} = File.read(src_path)
-    src_lines = String.split(src, "\n")
-    {header, _} = split(src_lines)
-    Enum.each dest_paths, fn dest_path ->
-      {:ok, dest} = File.read(dest_path)
-      dest_lines = String.split(dest, "\n")
-      {_, rest} = split(dest_lines)
-      result = header <> "\n" <> rest
-      File.write(dest_path, result)
-    end
-  end
-end
-
-src_path = hd(System.argv)
-module = case src_path do
-           "Makefile" -> Header.Make
-           "configure" -> Header.Make
-           "config.subr" -> Header.Make
-           _ ->
-             case Regex.run(~r/[.][ch]$/, src_path) do
-               [_] -> Header.C
-               _ -> raise "error"
-             end
-         end
-module.main(System.argv)