1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2;;;;
3;;;; use packages
4;;;;
5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
7(require 'package)
8(setq package-check-signature nil)
9(add-to-list 'package-archives
10 '("melpa" . "https://melpa.org/packages/") t)
11(package-initialize)
12
13(eval-when-compile
14 (require 'use-package))
15
16
17(use-package magit
18 :init
19 (setq magit-git-executable "c:/Program Files/Git/bin/git.exe"))
20
21(use-package exec-path-from-shell
22 :config
23 (when (memq window-system '(mac ns x))
24 (exec-path-from-shell-initialize)))
25
26
27(use-package company
28 :init
29 (setq company-minimum-prefix-length 3
30 company-text-icons-add-background t
31 company-tooltip-idle-delay 10
32 company-tooltip-minimum-width 40
33 company-tooltip-minimum 4
34 company-show-numbers t
35 company-idle-delay 0
36 completion-ignore-case nil
37 company-dabbrev-downcase nil
38 company-text-face-extra-attributes '(:weight bold :slant italic)
39 company-format-margin-function 'company-text-icons-margin)
40 :config
41 (global-company-mode)
42 (define-key company-active-map (kbd "<tab>") #'company-complete-selection)
43 (define-key company-active-map (kbd "C-n") #'company-select-next-or-abort)
44 (define-key company-active-map (kbd "C-p") #'company-select-previous-or-abort))
45
46(use-package company-posframe
47 :config
48 (company-posframe-mode 1))
49
50(use-package aggressive-indent
51 :config
52 (add-hook 'emacs-lisp-mode-hook #'aggressive-indent-mode))
53
54(use-package ivy-prescient
55 :config
56 (setq prescient-history-length 30)
57 (setq prescient-aggressive-file-save t))
58
59(use-package auto-complete
60 :init
61 (setq ac-use-menu-map t)
62 (setq ac-ignore-case t)
63 (setq ac-auto-start 3)
64 :config
65 (define-key ac-completing-map "\C-n" 'ac-next)
66 (define-key ac-completing-map "\C-p" 'ac-previous)
67 (when (file-remote-p default-directory) (auto-complete-mode))
68 (ac-linum-workaround))
69
70(use-package undo-tree
71 :init
72 (setq undo-tree-auto-save-history nil)
73 (setq undo-tree-history-directory-alist '(("." . "~/.emacs.d/undo")))
74 :config
75 (global-undo-tree-mode))
76
77(use-package evil
78 :init
79 (setq evil-emacs-state-cursor '("black" box)
80 evil-normal-state-cursor '("purple" box)
81 evil-visual-state-cursor '("orange" box)
82 evil-insert-state-cursor '("magenta" bar))
83 :config
84 (evil-mode 1)
85 (evil-set-initial-state 'magit-diff-mode 'motion)
86 (evil-set-undo-system 'undo-tree)
87 (define-key evil-normal-state-map (kbd "SPC") 'avy-goto-char-2)
88 (setq evil-emacs-state-modes (delq 'ibuffer-mode evil-emacs-state-modes))
89 (evil-define-key 'normal org-mode-map (kbd "<tab>") #'org-cycle))
90
91(use-package swiper
92 :init
93 (global-set-key "\C-s" 'swiper))
94
95(use-package counsel
96 :init
97 (global-set-key (kbd "C-x C-f") 'counsel-find-file)
98 (global-set-key (kbd "C-x C-r") 'counsel-recentf)
99 (global-set-key (kbd "M-x") 'counsel-M-x)
100 :config
101 (counsel-mode))
102
103(use-package ivy
104 :init
105 (setq ivy-count-format "(%d/%d) ")
106 (setq ivy-use-virtual-buffers t)
107 (setq ivy-extra-directories nil)
108 (setq ivy-height 10)
109 :config
110 (setq enable-recursive-minibuffers t)
111 (ivy-mode 1)
112 (global-set-key (kbd "C-x b") 'ivy-switch-buffer))
113
114(use-package avy
115 :init
116 (setq avy-background t)
117 (setq avy-orders-alist
118 '((avy-goto-char . avy-order-closest)
119 (avy-goto-word-0 . avy-order-closest))))
120
121(use-package helm
122 :no-require t
123 :init
124 (setq helm-recentf-fuzzy-match t)
125 (setq helm-buffers-fuzzy-matching t))
126
127(use-package rainbow-delimiters
128 :commands rainbow-delimiters-mode
129 :init
130 (add-hook 'prog-mode-hook #'rainbow-delimiters-mode))
131
132(use-package telephone-line
133 :init
134 (setq telephone-line-lhs
135 '((evil . (telephone-line-evil-tag-segment))
136 (accent . (telephone-line-vc-segment
137 telephone-line-erc-modified-channels-segment
138 telephone-line-process-segment))
139 (nil . (telephone-line-minor-mode-segment
140 telephone-line-buffer-segment))))
141 (setq telephone-line-rhs
142 '((nil . (telephone-line-misc-info-segment))
143 (accent . (telephone-line-major-mode-segment))
144 (evil . (telephone-line-airline-position-segment))))
145 :config
146 (telephone-line-evil-config))
147
148(use-package org-superstar
149 :commands org-superstar-mode
150 :hook
151 (add-hook 'org-mode-hook org-superstar-mode))
152
153
154(use-package projectile
155 :config
156 (projectile-mode +1)
157 (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map))
158
159(use-package anzu
160 :config
161 (global-anzu-mode +1))
162
163(use-package org-tempo)
164
165(use-package sql-indent
166 :config
167 ;;(define-key map (kbd "M-=") #'align))
168 )
169
170(use-package diminish
171 :config
172 (dolist (mode '(auto-fill-function
173 projectile-mode
174 company-mode
175 company-posframe-mode
176 ivy-mode
177 eldoc-mode
178 undo-tree-mode
179 anzu-mode
180 flyspell-mode
181 counsel-mode
182 company-box-mode
183 sqlind-minor-mode
184 auto-complete-mode))
185 (diminish mode)))
186
187
188(use-package deft
189 ;; https://github.com/jrblevin/deft
190 ;; c-l
191 ;; c-c c-t toggle search
192 ;; c-c c-c to clear filter
193 ;; c-c c-l filter
194 ;; c-c c-g refresh deft
195 :bind ("<f8>" . deft)
196 :commands (deft)
197 :config
198 (setq deft-file-naming-rules
199 '((noslash . "-")
200 (nospace . "-")
201 (case-fn . upcase)))
202
203 (setq deft-extensions '("org" "md")
204 deft-directory "c:/Users/hzhang/notes/"
205 deft-use-filename-as-title t
206 deft-time-format " %Y-%m-%d %H:%M"
207 deft-recursive t)
208 (setq deft-window-width 70)
209
210 (setq deft-ignore-file-regexp "\\(tmp\\|prep-debrief\\|cheetsheet\\|readme\\)"))
211
212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
213;;;;
214;;;; end of use packages
215;;;;
216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
217
218(use-package hz-mode
219 :load-path "~/.emacs.d/hz-mode/"
220 :config
221 (hz-mode 1))
222
223(use-package tramp
224 :config
225 (add-to-list 'tramp-remote-path 'tramp-own-remote-path)
226 (add-to-list 'tramp-remote-path "/usr/bin"))
227
228(use-package recentf
229 :init
230 (setq recentf-save-file "~/.emacs.d/.recentf")
231 (setq recentf-auto-cleanup 'never)
232 :config
233 (setq recentf-max-saved-items 100)
234 (recentf-mode 1)
235 (run-at-time nil (* 25 60) 'recentf-save-list))
236
237
238;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
239;;;;
240;;;; Org Mode Settings
241;;;;
242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
243
244(setq org-log-into-drawer t
245 org-log-state-notes-into-drawer t
246 org-log-done 'time
247 org-log-repeat 'time
248 org-log-reschedule 'time
249 org-log-redeadline 'time
250 org-log-note-clock-out t)
251
252(use-package org
253 :init
254 ;; General settings
255 (setq org-use-sub-superscripts nil
256 org-auto-align-tags nil
257 org-tags-column -80
258 org-catch-invisible-edits 'show-and-error
259 org-special-ctrl-a/e t
260 org-insert-heading-respect-content t
261 org-hide-emphasis-markers t
262 org-pretty-entities t
263 org-export-with-sub-superscripts nil
264 org-image-actual-width nil
265 org-descriptive-links nil
266 org-blank-before-new-entry '((heading . t) (plain-list-item . auto))
267 org-clock-auto-clockout-timer 3600
268 org-clock-report-include-clocking-task 1
269 org-clock-mode-line-total 'current
270 org-default-notes-file "~/notes/tmp/default_notes.org"
271 org-archive-location "~/notes/archive/archive_%s::"
272 fill-column 80)
273
274 ;; Agenda files
275 (setq org-agenda-files '("~/notes/todo.org" "~/notes/backlog.org"))
276
277 ;; TODO keywords and faces
278 (setq org-todo-keywords '((sequence "IN-PRG(!)" "TODO(!)" "WAIT(!)" "|" "PAUSE(!)" "DONE(!)")))
279 (setq org-todo-keyword-faces '(("IN-PRG" . "orange") ("WAIT" . "#0000ff") ("PAUSE" . "#6600ff")))
280
281 (defun my/org-agenda-scheduled-format (scheduled)
282 "Format the scheduled date for agenda view."
283 (let ((date (org-time-string-to-time scheduled)))
284 (format "SCHEDULED on %s: " (format-time-string "%Y-%m-%d %a" date))))
285
286 (defun my/org-agenda-format-date-aligned (date)
287 "Format a DATE string for display in the agenda, aligned to the left."
288 (require 'cal-iso)
289 (let* ((day (calendar-day-of-week date))
290 (dayname (calendar-day-name date t))
291 (month (car date))
292 (daynum (cadr date))
293 (year (nth 2 date)))
294 (format "%s, %04d-%02d-%02d" dayname year month daynum)))
295
296 (setq org-agenda-format-date 'my/org-agenda-format-date-aligned)
297
298
299 ;; (defun my-org-agenda-highlight-today ()
300 ;; "Highlight today in the org-agenda with a green background."
301 ;; (save-excursion
302 ;; (goto-char (point-min))
303 ;; (while (re-search-forward (format-time-string "%Y-%m-%d") nil t)
304 ;; (add-text-properties (match-beginning 0) (match-end 0)
305 ;; '(face (:background "green" :foreground "black" :weight bold))))))
306
307 (setq org-agenda-custom-commands
308 '(("w" "hz-week-agenda"
309 ((agenda ""
310 ((org-agenda-prefix-format
311 '((agenda . " %i %-12:s%-12t")
312 (todo . " %i %-12:c")
313 (tags . " %i %-12:c")
314 (search . " %i %-12:c")))
315 (org-agenda-time-grid
316 '((daily today require-timed)
317 (800 1000 1200 1400 1600 1800)
318 "......" "----------------"))
319 ;; (org-agenda-format-date 'my-org-agenda-highlight-today)
320 (org-agenda-overriding-header "*My week")
321 (org-agenda-start-on-weekday nil)
322 (org-agenda-span 15)
323 (org-agenda-start-day "-3d")
324 ))
325
326 (tags "Today"
327 ((org-agenda-sorting-strategy '(priority-up))))))
328
329 ("s" "Scheduled things "
330 ((agenda ""
331 ((org-agenda-entry-types '(:scheduled :deadline))
332 (org-agenda-prefix-format
333 '((scheduled . my/org-agenda-scheduled-format)
334 (deadline . my/org-agenda-scheduled-format)))
335 (org-agenda-overriding-header "Scheduled Items")))))
336
337 ("g" "Get Things Done"
338 ((agenda ""
339 ((org-agenda-entry-types '(:deadline :scheduled))
340 (org-deadline-warning-days 7)
341 (org-agenda-prefix-format
342 '((deadline . " DEADLINE: %d d (%s) : %s")
343 (scheduled . " SCHEDULED: %d d (%s) : %s")))
344 (org-agenda-overriding-header "\nDeadlines and Scheduled Items")))
345
346 (agenda ""
347 ((org-agenda-entry-types '(:deadline :scheduled))
348 (org-deadline-warning-days 7)
349 (org-agenda-deadline-leaders '("!D!: " "In %3d d.: " "Overdue %3d d.: "))
350 (org-agenda-prefix-format
351 `((agenda . " %?-12t% s")
352 (timeline . " % s")))
353 (org-agenda-overriding-header "Test items")))
354
355 (tags-todo "paul"
356 ((org-agenda-prefix-format " %?-12t% s")
357 (org-agenda-overriding-header "Paul")))
358 (todo "IN-PRG"
359 ((org-agenda-prefix-format " %s")
360 (org-agenda-overriding-header "IN Progress Tasks")))))))
361
362
363
364 ;; Capture templates
365 (setq org-capture-templates
366 '(("n" "Note" entry (file org-default-notes-file) "* %? %i\n%U\tFile:%F" :empty-lines 1)
367 ("t" "TODO" entry (file org-default-notes-file) "* TODO %? %i\n%U\tFile:%F" :empty-lines 1)))
368
369 ;; Key bindings
370 (global-set-key "\C-cc" 'org-capture)
371 (global-set-key "\C-ca" 'org-agenda)
372
373 :config
374 ;; (custom-set-faces
375 ;; '(org-agenda-deadline ((t (:foreground "orange"))))
376 ;; '(org-scheduled ((t (:foreground "orange"))))
377 ;; '(org-scheduled-overdue ((t (:foreground "orange"))))
378 ;; '(org-scheduled-today ((t (:foreground "orange")))))
379
380 (custom-set-faces
381 '(org-agenda-weekend-header ((t (:weight normal)))))
382
383 (setq org-agenda-current-time-string ">>>> now <<<<")
384 (custom-set-faces
385 '(org-agenda-current-time ((t (:foreground "blue" :weight bold)))))
386
387
388 ;; ;; Customize the display of deadline and scheduled values
389 ;; (setq org-agenda-deadline-leaders '("Deadline: " "In %d days: " "%d days ago: "))
390 ;; (setq org-agenda-scheduled-leaders '("Scheduled: " "Sched.%2dx: "))
391
392
393 ;; Priority faces
394 (defun my/org-priority-faces-box ()
395 "Set custom faces for Org mode priorities."
396 (setq org-priority-faces '((?A . (:background "darkgray" :foreground "black" :weight bold))
397 (?B . (:background "gray" :foreground "black"))
398 (?C . (:background "lightgray" :foreground "black")))))
399 (add-hook 'org-mode-hook 'my/org-priority-faces-box)
400
401
402 ;; Automatically align tags when saving the file
403 (add-hook 'org-mode-hook
404 (lambda ()
405 (add-hook 'before-save-hook 'org-align-all-tags nil 'local)))
406
407 ;; Done face modification
408 (defun my/modify-org-done-face ()
409 (setq org-fontify-done-headline t)
410 (set-face-attribute 'org-done nil :strike-through t)
411 (set-face-attribute 'org-headline-done nil :strike-through t :foreground "light gray"))
412 (add-hook 'org-mode-hook 'my/modify-org-done-face)
413
414 ;; Emphasis settings
415 (add-to-list 'org-emphasis-alist '("=" (:foreground "red")))
416
417 ;; Fill column settings
418 (defun my-set-fill-column () (setq-local fill-column 80))
419 (add-hook 'org-mode-hook #'my-set-fill-column)
420 (add-hook 'org-log-buffer-setup-hook #'my-set-fill-column)
421 (add-hook 'org-mode-hook 'turn-on-auto-fill)
422
423 ;; Creation date for TODOs
424 (defun set-creation-date-heading-property ()
425 (save-excursion
426 (org-back-to-heading)
427 (org-set-property "CREATED" (format-time-string "[%Y-%m-%d %a %H:%M]"))))
428
429 (defun my-org-mode-date-heading-on ()
430 "Turn on heading creation date property"
431 (interactive)
432 (add-hook 'org-insert-heading-hook #'set-creation-date-heading-property))
433
434 (defun my-org-mode-date-heading-off ()
435 "Turn off heading creation date property"
436 (interactive)
437 (remove-hook 'org-insert-heading-hook #'set-creation-date-heading-property))
438
439 (defun my-org-mode-date-heading-toggle ()
440 "Toggle on/off heading creation date property"
441 (interactive)
442 (if (memq #'set-creation-date-heading-property org-insert-heading-hook)
443 (progn
444 (my-org-mode-date-heading-off)
445 (message "off - heading creation date"))
446 (progn
447 (my-org-mode-date-heading-on)
448 (message "on - heading creation date"))))
449
450 (add-hook 'org-mode-hook #'my-org-mode-date-heading-on)
451
452 ;; Clock settings
453 (org-clock-auto-clockout-insinuate))
454
455
456
457
458;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
459;;;;
460;;;; Org-Mode Settings end
461;;;;
462;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
463
464
465
466
467(defun my-org-screenshot ()
468 "Take a screenshot into a time stamped unique-named file in the
469same directory as the org-buffer and insert a link to this file."
470 (interactive)
471 (setq $fileprefix (car (last (split-string (buffer-file-name) "/"))))
472 (setq filename
473 (concat
474 (make-temp-name
475 (concat "C:/Users/hzhang/notes/assets/"
476 $fileprefix
477 "_"
478 (format-time-string "%Y%m%d_%H%M%S_")) ) ".png"))
479 (shell-command "snippingtool /clip")
480 (shell-command (concat "powershell -command \"Add-Type -AssemblyName System.Windows.Forms;if ($([System.Windows.Forms.Clipboard]::ContainsImage())) {$image = [System.Windows.Forms.Clipboard]::GetImage();[System.Drawing.Bitmap]$image.Save('" filename "',[System.Drawing.Imaging.ImageFormat]::Png); Write-Output 'clipboard content saved as file'} else {Write-Output 'clipboard does not contain image data'}\""))
481 (insert (concat "[[file:" filename "]]"))
482 (org-display-inline-images))
483
484;;(global-set-key "\C-cs" 'my-org-screenshot)
485
486
487;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
488;;;;
489;;;; General Emacs Settings
490;;;;
491;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
492
493;; Spell checking settings
494(setq ispell-program-name "c:/prgms/msys2/mingw64/bin/hunspell.exe")
495(setenv "DICTIONARY" "en_US")
496(setenv "DICPATH" "c:/prgms/msys2/mingw64/share/hunspell")
497
498
499(defun my-jump-to-outermost-bracket ()
500 "Jump to the outermost bracket."
501 (interactive)
502 (while (condition-case nil
503 (progn
504 (up-list)
505 t)
506 (scan-error nil))))
507(global-set-key (kbd "C-c o") 'my-jump-to-outermost-bracket)
508
509(use-package emacs
510 :init
511 ;; Add paths to exec-path
512 (dolist (path '("C:/Program Files/Git/bin/"
513 "c:/prgms/msys2/usr/bin/"
514 "C:/prgms/msys2/mingw64/bin/"
515 "c:/Program Files/condaplus/"))
516 (add-to-list 'exec-path path))
517
518 ;; Backup settings
519 (setq backup-by-copying t
520 backup-directory-alist '(("." . "~/.saves"))
521 delete-old-versions t
522 kept-new-versions 6
523 kept-old-versions 2
524 version-control t)
525
526 ;; General settings
527 (setq visible-bell t
528 find-program "c:/prgms/msys2/usr/bin/find.exe"
529 grep-program "c:/prgms/msys2/usr/bin/grep.exe"
530 prescient-save-file "c:/Users/hzhang/.emacs.d/var/prescient-save.el"
531 inhibit-splash-screen t
532 dired-listing-switches "-alht --group-directories-first"
533 scroll-conservatively 101
534 whitespace-display-mappings '((space-mark 32 [?ยท]))
535 tab-width 4
536 tab-stop-list (number-sequence 4 200 4)
537 delete-trailing-lines nil
538 display-fill-column-indicator-column 80
539 ls-lisp-format-time-list '("%Y-%m-%d %H:%M" "%Y-%m-%d %H:%M")
540 ls-lisp-use-localized-time-format t)
541
542 ;; Key bindings
543 (global-set-key "\C-x\ \C-b" 'ibuffer)
544
545 ;; Ibuffer settings
546 (setq ibuffer-formats
547 '((mark modified read-only " "
548 (name 35 35 :left :elide) " "
549 (mode 16 16 :left :elide) " "
550 filename-and-process)))
551
552 (setq ibuffer-saved-filter-groups
553 '(("default"
554 ("org" (mode . org-mode))
555 ("sql" (mode . sql-mode))
556 ("stat" (filename . ".sas"))
557 ("python" (mode . python-mode))
558 ("sas-log" (filename . ".log"))
559 ("sas-lst" (filename . ".lst"))
560 ("dired" (mode . dired-mode))
561 ("markdown" (filename . ".md"))
562 ("el" (mode . emacs-lisp-mode))
563 ("bookmark" (name . "*bookmark list*"))
564 ("sh" (mode . sh-mode)))))
565
566 (setq ibuffer-show-empty-filter-groups nil)
567
568 (add-hook 'ibuffer-mode-hook
569 (lambda ()
570 (ibuffer-switch-to-saved-filter-groups "default")))
571
572 :config
573 ;; Disable global highlight line mode
574 (global-hl-line-mode -1)
575
576 ;; Enable various modes
577 (ivy-prescient-mode 1)
578 (prescient-persist-mode 1)
579 (blink-cursor-mode -1)
580 (tool-bar-mode -1)
581 (scroll-bar-mode 1)
582 (menu-bar-mode -1)
583 (column-number-mode 1)
584 (global-linum-mode t)
585 (global-auto-revert-mode t)
586 (show-paren-mode 1)
587 (electric-pair-mode 1)
588 (electric-indent-mode 1)
589
590 ;; Set language environment
591 (set-language-environment "UTF-8")
592
593 ;; Load theme
594 ;; (load-theme 'modus-operandi t)
595
596 ;; Roswell settings
597 (load (expand-file-name "~/.roswell/helper.el"))
598 (setq inferior-lisp-program "ros -Q run")
599
600 ;; Syntax entry modifications
601 (modify-syntax-entry ?_ "w" sql-mode-syntax-table)
602 (add-hook 'python-mode-hook (lambda () (modify-syntax-entry ?_ "w")))
603 (add-hook 'sql-mode-hook 'sqlind-minor-mode)
604
605 ;; Truncate lines
606 (setq-default truncate-lines nil)
607
608 ;; Hooks
609 (add-hook 'prog-mode-hook 'display-fill-column-indicator-mode)
610 (add-hook 'before-save-hook 'delete-trailing-whitespace)
611
612 ;; Remote mode setup
613 (defun my-remote-mode-setup-function ()
614 (when (and (fboundp 'company-mode)
615 (file-remote-p default-directory))
616 (progn
617 (company-mode -1)
618 (company-posframe-mode -1)
619 (auto-complete-mode 1))))
620 (add-hook 'find-file-hook 'my-remote-mode-setup-function))
621
622(set-face-attribute 'default nil
623 ;; :family "Fira Code"
624 :foundry "outline"
625 :slant 'normal
626 :weight 'normal
627 :height 140
628 :width 'normal)
629
630(add-to-list 'default-frame-alist '(width . 100))
631(add-to-list 'default-frame-alist '(height . 40))
632
633;; run server automatically
634;; (require 'server)
635;; (unless (server-running-p)
636;; (server-start))
637(message "Frame width: %d, Frame height: %d" (frame-width) (frame-height))
638(custom-set-variables
639 ;; custom-set-variables was added by Custom.
640 ;; If you edit it by hand, you could mess it up, so be careful.
641 ;; Your init file should contain only one such instance.
642 ;; If there is more than one, they won't work right.
643 '(org-agenda-files '("~/notes/todo.org" "c:/Users/hzhang/notes/backlog.org")))
644(custom-set-faces
645 ;; custom-set-faces was added by Custom.
646 ;; If you edit it by hand, you could mess it up, so be careful.
647 ;; Your init file should contain only one such instance.
648 ;; If there is more than one, they won't work right.
649 '(org-agenda-current-time ((t (:foreground "blue" :weight bold))))
650 '(org-agenda-weekend-header ((t (:weight normal)))))