Round 288: Cron ext, At ext, Systemd Timer ext, Anacron ext, Incron ext (20 commands)
ober
bccb9f4dacbf1a80ea33d8eec005e3b93d29f7a5
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 288 — Cron ext, At ext, Systemd Timer ext, Anacron ext, Incron ext + +| Command | Status | Description | +|---------|--------|-------------| +| cron-list | :orange_circle: | List crontab entries | +| cron-add | :orange_circle: | Add cron job | +| cron-remove | :orange_circle: | Remove cron job | +| cron-edit | :orange_circle: | Edit crontab | +| at-schedule | :orange_circle: | Schedule at job | +| at-list | :orange_circle: | List pending at jobs | +| at-remove | :orange_circle: | Remove at job | +| at-view | :orange_circle: | View at job details | +| systemd-timer-list | :orange_circle: | List systemd timers | +| systemd-timer-create | :orange_circle: | Create systemd timer | +| systemd-timer-enable | :orange_circle: | Enable systemd timer | +| systemd-timer-disable | :orange_circle: | Disable systemd timer | +| anacron-list | :orange_circle: | List anacron jobs | +| anacron-run | :orange_circle: | Run pending anacron jobs | +| anacron-config | :orange_circle: | View anacron config | +| anacron-status | :orange_circle: | Show anacron status | +| incron-list | :orange_circle: | List incron watches | +| incron-add | :orange_circle: | Add incron watch | +| incron-remove | :orange_circle: | Remove incron watch | +| incron-status | :orange_circle: | Show incron status | + ### Round 287 — ACL ext, Xattr ext, Chattr ext, Quota ext, Fstab ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -22287,4 +22287,54 @@ (def (cmd-fstab-check app) (let* ((echo (app-state-echo app))) - (echo-message! echo "Fstab: checking syntax"))) \ No newline at end of file + (echo-message! echo "Fstab: checking syntax"))) + +;;; Round 288 — Systemd Timer ext, Anacron ext, Incron ext (batch 2) + +(def (cmd-systemd-timer-enable app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Timer name: " + (lambda (name) + (echo-message! echo (str "Systemd: enabling timer " name)))))) + +(def (cmd-systemd-timer-disable app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Timer name: " + (lambda (name) + (echo-message! echo (str "Systemd: disabling timer " name)))))) + +(def (cmd-anacron-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Anacron: listing jobs"))) + +(def (cmd-anacron-run app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Anacron: running pending jobs"))) + +(def (cmd-anacron-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Anacron: viewing configuration"))) + +(def (cmd-anacron-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Anacron: showing status"))) + +(def (cmd-incron-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Incron: listing watches"))) + +(def (cmd-incron-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Watch path: " + (lambda (path) + (echo-message! echo (str "Incron: adding watch on " path)))))) + +(def (cmd-incron-remove app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Watch: " + (lambda (watch) + (echo-message! echo (str "Incron: removing " watch)))))) + +(def (cmd-incron-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Incron: showing status"))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -22950,3 +22950,57 @@ (lambda (path) (echo-message! echo (str "Chmod: recursive on " path)))))) +;;; Round 288 — Cron ext, At ext, Systemd Timer ext (batch 1) + +(def (cmd-cron-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cron: listing crontab entries"))) + +(def (cmd-cron-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Cron expression: " + (lambda (expr) + (echo-message! echo (str "Cron: adding " expr)))))) + +(def (cmd-cron-remove app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Job number: " + (lambda (num) + (echo-message! echo (str "Cron: removing job " num)))))) + +(def (cmd-cron-edit app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cron: editing crontab"))) + +(def (cmd-at-schedule app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Time (e.g. 'now + 1 hour'): " + (lambda (time) + (echo-message! echo (str "At: scheduling for " time)))))) + +(def (cmd-at-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "At: listing pending jobs"))) + +(def (cmd-at-remove app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Job ID: " + (lambda (id) + (echo-message! echo (str "At: removing job " id)))))) + +(def (cmd-at-view app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Job ID: " + (lambda (id) + (echo-message! echo (str "At: viewing job " id)))))) + +(def (cmd-systemd-timer-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Systemd: listing timers"))) + +(def (cmd-systemd-timer-create app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Timer name: " + (lambda (name) + (echo-message! echo (str "Systemd: creating timer " name)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -7465,4 +7465,25 @@ (register-command! 'fstab-add cmd-fstab-add) (register-command! 'fstab-remove cmd-fstab-remove) (register-command! 'fstab-check cmd-fstab-check) + ;; Round 288 + (register-command! 'cron-list cmd-cron-list) + (register-command! 'cron-add cmd-cron-add) + (register-command! 'cron-remove cmd-cron-remove) + (register-command! 'cron-edit cmd-cron-edit) + (register-command! 'at-schedule cmd-at-schedule) + (register-command! 'at-list cmd-at-list) + (register-command! 'at-remove cmd-at-remove) + (register-command! 'at-view cmd-at-view) + (register-command! 'systemd-timer-list cmd-systemd-timer-list) + (register-command! 'systemd-timer-create cmd-systemd-timer-create) + (register-command! 'systemd-timer-enable cmd-systemd-timer-enable) + (register-command! 'systemd-timer-disable cmd-systemd-timer-disable) + (register-command! 'anacron-list cmd-anacron-list) + (register-command! 'anacron-run cmd-anacron-run) + (register-command! 'anacron-config cmd-anacron-config) + (register-command! 'anacron-status cmd-anacron-status) + (register-command! 'incron-list cmd-incron-list) + (register-command! 'incron-add cmd-incron-add) + (register-command! 'incron-remove cmd-incron-remove) + (register-command! 'incron-status cmd-incron-status) )