aboutsummaryrefslogtreecommitdiff
path: root/modules/prog-training.el
blob: d38208ee477e96722e714050bf1957dba33c8af2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
;;; prog-training.el --- Training -*- lexical-binding: t; coding: utf-8; -*-
;; author: Craig Jennings <c@cjennings.net>
;;; Commentary:
;;
;; Layer: 4 (Optional).
;; Category: O/D/P.
;; Load shape: eager.
;; Eager reason: none; the C-h E / C-h L bindings already autoload their
;;   packages, so the eager require can drop to autoloads in Phase 4.
;; Top-level side effects: package configuration via use-package (autoloaded).
;; Runtime requires: none (configures packages via use-package).
;; Direct test load: yes.
;;
;; Use C-h E to launch Exercism when you want to fetch or submit practice problems.
;; Use C-h L for LeetCode sessions; the package drops solved files under ~/code/leetcode in Go format.
;; Both bindings autoload their packages, so invoking the key is the whole workflow.

;;; Code:

(defvar code-dir)  ;; user-constants.el; read lazily in leetcode's :config

;; ----------------------------- Exercism ----------------------------

(use-package exercism
  :defer t
  :commands (exercism)
  :bind
  ("C-h E" . exercism))


;;; ----------------------------- Leetcode ----------------------------

(use-package leetcode
  :defer t
  :commands (leetcode)
  :bind ("C-h L" . leetcode)
  :config
  ;; No (url-debug t) here: that was a debugging leftover, and it turned on
  ;; GLOBAL url.el request logging for the whole session once leetcode loaded.
  (setq leetcode-prefer-language "golang")
  (setq leetcode-directory (concat code-dir "/leetcode"))
  (setq leetcode-save-solutions t))


(provide 'prog-training)
;;; prog-training.el ends here.