From 9d60e3a7061360c021c725f379904fe770034576 Mon Sep 17 00:00:00 2001 From: Lucas Sta Maria Date: Fri, 25 Oct 2024 01:44:10 -0400 Subject: [PATCH] fix(emacs): delete unused grading mode Signed-off-by: Lucas Sta Maria --- .emacs.d/include/misc.el | 78 ---------------------------------------- 1 file changed, 78 deletions(-) diff --git a/.emacs.d/include/misc.el b/.emacs.d/include/misc.el index 268f9ba..cc9367f 100644 --- a/.emacs.d/include/misc.el +++ b/.emacs.d/include/misc.el @@ -267,84 +267,6 @@ ("FIXME" . "#ffffff") ("XXXX*" . "#ffffff"))) -;; Grading -(defconst grading-directory-root "pl-grading" - "The root grading directory repository.") - -(defun grade-file-format (num) - "Format NUM to a file in the grading directory." - (let* ((dir (if (eq 'dired-mode major-mode) - (dired-current-directory) - (file-name-directory (buffer-file-name)))) - (dir-files (directory-files dir)) - (extension ".rkt") - (all-rkt-files (-filter (lambda (f) (string= (file-name-extension f) "rkt")) - dir-files)) - (all-rkt-files+ (-map #'file-name-sans-extension all-rkt-files)) - (hw-files (-filter (lambda (f) (not (zerop (string-to-number f)))) all-rkt-files+)) - (hw-files+ (seq-sort-by #'length #'> hw-files)) - (digits (length (car hw-files+))) - (str-format (format "%%0%dd.rkt" digits))) - (format str-format num))) - -(defun grade-next (&optional inc) - "Go to the next homework by INC to grade." - (interactive) - (let ((inc (or inc 1)) - (extension ".rkt") - (filepath (buffer-file-name (current-buffer)))) - (if (not (and (string-match-p grading-directory-root filepath) - (string-match-p extension filepath))) - (message (format "not in %s!" grading-directory-root)) - (let* ((target-directory (file-name-directory filepath)) - (filename-parts (string-split filepath "/")) - (source-filename (-last-item filename-parts)) - (source-number-str (file-name-sans-extension source-filename)) - (source-number (string-to-number source-number-str)) - (target-number (+ inc source-number)) - (target-filename (grade-file-format target-number)) - (target-filepath (concat target-directory target-filename))) - (if (file-exists-p target-filepath) - (find-file target-filepath) - (message (format "next grading file doesn't exist!"))))))) - -(defun grade-prev (&optional dec) - "Go to the previous homework by DEC to grade." - (interactive) - (let ((dec (or dec 1))) - (grade-next (- dec)))) - -(defun grade-start (&optional start) - "Start grading in the current directory with homework START." - (interactive) - (keymap-global-set "C-c f" #'grade-next) - (keymap-global-set "C-c b" #'grade-prev) - - (let* ((file-msg "File number to start with (default 0):") - (start (or start - (string-to-number (read-string file-msg)) - 1)) - (dir (if (eq major-mode 'dired-mode) - (dired-current-directory) - (error "Must be in Dired directory"))) - (dir-path (file-name-directory dir))) - (if (not (string-match-p grading-directory-root dir-path)) - (error "Must be in subdirectory of %s" grading-directory-root) - (let ((readme-file "README.md") - (solution-file "solution.rkt") - (start-file (concat dir-path (grade-file-format start)))) - (find-file start-file) - (delete-other-windows) - (split-window-right) - (split-window-right) - (balance-windows) - (windmove-right) - (find-file solution-file) - (windmove-right) - (find-file readme-file) - (windmove-left) - (windmove-left))))) - ;; rjsx (setq auto-mode-alist (cons '("\\.tsx$" . rjsx-mode) auto-mode-alist))