sync-snippets.php 847 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/env php
  2. <?php
  3. $here = __DIR__;
  4. array_map("unlink", glob("$here/snippets/haskell-mode/*"));
  5. $csv = fopen("$here/samples.csv", "r");
  6. $headings = fgetcsv($csv);
  7. $projects = [];
  8. while ($data = fgetcsv($csv)) {
  9. $row = array_combine($headings, $data);
  10. $projects[] = $row["Project Path"];
  11. }
  12. fclose($csv);
  13. $projects = array_unique($projects);
  14. foreach ($projects as $project) {
  15. $snippetsDir = "$project/snippets";
  16. if (is_dir($snippetsDir)) {
  17. $files = glob("$snippetsDir/*");
  18. foreach ($files as $file) {
  19. $to = "$here/snippets/haskell-mode/" . basename($file);
  20. if (is_link($to)) {
  21. throw new Exception("$to exists");
  22. }
  23. symlink($file, $to);
  24. }
  25. }
  26. else {
  27. printf("WARNING: Snippets path %s not found\n", $snippetsDir);
  28. }
  29. }