-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
23 changed files
with
608 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,66 @@ | ||
# config-loader.el | ||
# config-loader.el | ||
|
||
리스트에 나열된 설정파일들을 로드하고, 로드된 결과를 보여줍니다. | ||
|
||
``` lisp | ||
;; file: config-loader.el | ||
(require 'cl-lib) | ||
(require 'cl-seq) | ||
(defalias '-> 'thread-first) | ||
(defalias '->> 'thread-last) | ||
(cl-defstruct ConfigInfo | ||
index | ||
file-path | ||
file-fullpath | ||
time-load-sec) | ||
(defun getConfigInfos (config-dir config-list) | ||
(cl-loop for file-path in config-list | ||
for index from 0 | ||
for file-fullpath = (->> file-path | ||
(symbol-name) | ||
(concat config-dir) | ||
(locate-user-emacs-file) | ||
(file-truename)) | ||
when (file-exists-p file-fullpath) | ||
collect | ||
(let* ((time-load-sec (-> file-fullpath | ||
(load-file) | ||
(benchmark-run) | ||
(car)))) | ||
(make-ConfigInfo :index (+ index 1) | ||
:file-path file-path | ||
:file-fullpath file-fullpath | ||
:time-load-sec time-load-sec)))) | ||
(defun getIndicate (val-cur val-max) | ||
(let* ((perc-1 (thread-first | ||
val-cur | ||
(/ val-max) | ||
(* 10) | ||
(round))) | ||
(perc-2 (- 10 perc-1))) | ||
(concat (make-string perc-1 ?■) (make-string perc-2 ?.)))) | ||
(defun config-loader:load-config (config-dir config-list) | ||
(let* ((infos (getConfigInfos config-dir config-list)) | ||
(acc-sec (->> infos | ||
(mapcar #'ConfigInfo-time-load-sec) | ||
(apply '+ )))) | ||
(let ((buff (get-buffer-create "== 설정 로드 결과 =="))) | ||
(with-current-buffer buff | ||
(view-mode -1) | ||
(erase-buffer) | ||
(insert (format "\n\n총 %d파일, %0.4f초\n\n" (length infos) acc-sec)) | ||
(dolist (info infos) | ||
(insert (format "%03d | %s | %0.2f초 | %s\n" | ||
(ConfigInfo-index info) | ||
(getIndicate (ConfigInfo-time-load-sec info) acc-sec) | ||
(ConfigInfo-time-load-sec info) | ||
(ConfigInfo-file-path info)))) | ||
(switch-to-buffer buff) | ||
(view-mode +1))))) | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,10 @@ | ||
# config/ | ||
|
||
| prefix | 설명 | 예 | | ||
| -------- | --------------- | ------------------ | | ||
| base- | 기본 | base-define.el | | ||
| os- | 운영체제 특화 | os-windows.el | | ||
| setting- | 사용자설정 | setting-theme.el | | ||
| lang- | 프로그래밍 언어 | lang-emacs-lisp.el | | ||
| file- | 파일 타입별 | file-markdown.el | | ||
| util- | 유틸리티 | util-git.el | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,43 @@ | ||
# base-define.el | ||
|
||
``` lisp | ||
;; file: 0000_define.el | ||
;; file: base-define.el | ||
(defconst true t) | ||
(defconst false nil) | ||
(defconst IS_WINDOWS (eq system-type 'windows-nt)) | ||
(defconst IS_MAC (eq system-type 'darwin)) | ||
(defconst IS_LINUX (eq system-type 'gnu/linux)) | ||
(defconst MODE_ON +1) | ||
(defconst MODE_OFF -1) | ||
(defmacro -> (&rest body) | ||
(let ((result (pop body))) | ||
(dolist (form body result) | ||
(setq result | ||
(append (list (car form) result) | ||
(cdr form)))))) | ||
(defmacro ->> (&rest body) | ||
(let ((result (pop body))) | ||
(dolist (form body result) | ||
(setq result | ||
(append form (list result)))))) | ||
;; (defmacro -> (&rest body) | ||
;; ;; thread-first | ||
;; (let ((result (pop body))) | ||
;; (dolist (form body result) | ||
;; (setq result | ||
;; (append (list (car form) result) | ||
;; (cdr form)))))) | ||
;; (defmacro ->> (&rest body) | ||
;; ;; thread-last | ||
;; (let ((result (pop body))) | ||
;; (dolist (form body result) | ||
;; (setq result | ||
;; (append form (list result)))))) | ||
(defmacro comment (&rest body) | ||
nil) | ||
(defmacro do (&rest body) | ||
`(progn | ||
,@body)) | ||
(defalias 'count 'length) | ||
(defalias 'first 'car) | ||
(defalias 'rest 'cdr) | ||
(defalias 'do 'progn) | ||
(defalias 'provided? 'featurep) | ||
(defalias '-> 'thread-first) | ||
(defalias '->> 'thread-last) | ||
(defun inc (n) (+ 1 n)) | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,8 @@ | ||
# lang-emacs-lisp.el | ||
# file-json.el | ||
|
||
``` lisp | ||
;; file: file-json.el | ||
(use-package json-mode | ||
:ensure t) | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,20 @@ | ||
# file-markdown.el | ||
|
||
``` lisp | ||
;; file: file-markdown.el | ||
(use-package markdown-mode | ||
;; ref: https://jblevins.org/projects/markdown-mode/ | ||
;; ref: https://leanpub.com/markdown-mode/ | ||
:ensure t | ||
:commands (gfm-mode) | ||
:mode (("\\.md\\'" . markdown-mode) | ||
("\\.markdown\\'" . markdown-mode)) | ||
:init (setq markdown-command "multimarkdown")) | ||
(use-package grip-mode | ||
;; ref: https://github.com/seagle0128/grip-mode | ||
;; ref: grip - https://github.com/joeyespo/grip | ||
;; M-x grip-mode | ||
:ensure t) | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,9 @@ | ||
# os-linux.el | ||
|
||
|
||
``` lisp | ||
;; file: os-linux.el | ||
(when (eq system-type 'gnu/linux) | ||
) | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,8 @@ | ||
# os-windows.el | ||
|
||
``` lisp | ||
;; file: os-windows.el | ||
(when (eq system-type 'windows-nt) | ||
) | ||
``` |
Oops, something went wrong.