7L24DODT2V3BKWIPWCXUYRVE7FAGPYO6PFRN3PMT622IA5HAOXTAC PK65HTY26UGVBTMQ7B27HB7I7ZG5YQ7TFXP2R73O2A73Z6DZRRZAC RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC SGYALR6TCR3PTKAVXJYUCJMPIIJULCNDSL7QD7JYPS4MPVF4FALAC IOVPOFAVXEQIZ7BCFVVAWFW3RYFXPK2GOILDWA6N6QHQHLAJ4XTAC Z5HLQV3B6IJPZ45KYC5PORXE27C23LXG565AS6Z4SXENN6OJDUAQC F3ENAOSOVGL4WEGHDMXC7MHRZK2Q4M35YYW433N2ABZ6S3SU4AAQC EEDP7EJG66AFQBOD62VHUAH5XPQTOPN5NCI4S27P5JSFLE7V57BAC 7F7T4E5VD2K7I2YRWYPP7EFJTAII5O6LCXDZ3JDXCVOEBJK7HSJQC 2I4DXRBP7LX77TSWGJZLKVTDRMW77WOMUWY4CTMP4MXAQPIKBKVQC A2DSXXJDT3TGPRPYPTNES2WKBPKLOJHSRPYF3ECCJWSKGZUTZ4LAC AXUYWO36BWJYEJQ7WDYJGK6KE66MA4NBE255ERLNGDPZSJORYTSQC YXDBKG5MWREH25GV2RUUW7ZI4P2XBNMZSB77WND3A6LUAL4NN63QC Z3ALV46TWXGAUOXZXRFE6RCH66NCJ7GVNS43TYWXWN24TA5JVHCQC LA4734RIK7CSKUNJCTCI2KCBPNOKELRXVTW6HEPWY65LSYSA3CWAC (fwoar/zenburn-with-color-variables(defface magit-keyword-feature`((t :foreground ,zenburn-green :inherit magit-keyword))"Face for parts of commit messages inside brackets.":group 'magit-faces)(defface magit-keyword-chore`((t :foreground ,zenburn-blue :inherit magit-keyword))"Face for parts of commit messages inside brackets.":group 'magit-faces)(defface magit-keyword-misc`((t :foreground ,zenburn-fg-1 :inherit magit-keyword))"Face for parts of commit messages inside brackets.":group 'magit-faces)(defface magit-keyword-bug`((t :foreground ,zenburn-red :inherit magit-keyword))"Face for parts of commit messages inside brackets.":group 'magit-faces))(defun fwoar/propertize-magit-log (_rev msg)(let ((boundary 0))(while (string-match "^\\(\\(?:feat\\(?:ure\\)?(\\([^)]+?\\))\\)\\|\\(?:feat\\(ure\\)?\\>\\)\\)" msg boundary)(setq boundary (match-end 0))(magit--put-face (match-beginning 0) boundary'magit-keyword-feature msg)))(let ((boundary 0))(while (string-match "^\\(\\(?:chore(\\([^)]+?\\))\\)\\|\\(?:chore\\>\\)\\)" msg boundary)(setq boundary (match-end 0))(magit--put-face (match-beginning 0) boundary'magit-keyword-chore msg)))(let ((boundary 0))(while (string-match "^\\(\\(?:bug(\\([^)]+?\\))\\)\\|\\(?:bug\\>\\)\\)" msg boundary)(setq boundary (match-end 0))(magit--put-face (match-beginning 0) boundary'magit-keyword-bug msg)))(let ((boundary 0))(while (string-match "^\\([^:\n\t]+\\):" msg boundary)(setq boundary (match-end 0))(let ((group (match-string 1 msg)))(unless (or (> (length group) 20)(s-starts-with? "feat" group)(s-starts-with? "Merge" group)(s-starts-with? "merge" group)(s-starts-with? "chore" group)(s-starts-with? "bug" group))(magit--put-face (match-beginning 0) (1- boundary)'magit-keyword-misc msg))))))(use-package magit:ensure t:config(evil-define-key 'normal magit-file-mode-map " a" 'magit);; TODO: figure this out with transients;;(magit-define-popup-action 'magit-dispatch-popup ?j "Browse remote" 'browse-at-remote)'magit-dispatch(advice-add 'magit-log-propertize-keywords :after'fwoar/propertize-magit-log))(use-package browse-at-remote:after magit:ensure t:config (push (cons "gitlab.cj.com" "gitlab")browse-at-remote-remote-type-domains))(eval-and-compile(defvar *fwoar-git-repos*(file-name-as-directory(expand-file-name (car (file-expand-wildcards "~/git*_repos"))"~"))))(eval-and-compile(defun fwoar-git-repo (name ssh-remote http-remote)(let ((dir-name (file-name-as-directory (expand-file-name name *fwoar-git-repos*))))(unless (file-exists-p dir-name)(ecase fwoar-git-mode(:ssh (magit-run-git-with-input "clone" ssh-remote dir-name))(:http (magit-run-git-with-input "clone" http-remote dir-name))))dir-name)))(defvar *dotfiles-repo*(fwoar-git-repo "dotfiles""git@git.fiddlerwoaroof.com:dotfiles.git""https://git.fiddlerwoaroof.com/git/dotfiles.git"))
(fwoar/zenburn-with-color-variables(defface magit-keyword-feature`((t :foreground ,zenburn-green :inherit magit-keyword))"Face for parts of commit messages inside brackets.":group 'magit-faces)(defface magit-keyword-chore`((t :foreground ,zenburn-blue :inherit magit-keyword))"Face for parts of commit messages inside brackets.":group 'magit-faces)(defface magit-keyword-misc`((t :foreground ,zenburn-fg-1 :inherit magit-keyword))"Face for parts of commit messages inside brackets.":group 'magit-faces)(defface magit-keyword-bug`((t :foreground ,zenburn-red :inherit magit-keyword))"Face for parts of commit messages inside brackets.":group 'magit-faces))(defun fwoar/propertize-magit-log (_rev msg)(let ((boundary 0))(while (string-match "^\\(\\(?:feat\\(?:ure\\)?(\\([^)]+?\\))\\)\\|\\(?:feat\\(ure\\)?\\>\\)\\)" msg boundary)(setq boundary (match-end 0))(magit--put-face (match-beginning 0) boundary'magit-keyword-feature msg)))(let ((boundary 0))(while (string-match "^\\(\\(?:chore(\\([^)]+?\\))\\)\\|\\(?:chore\\>\\)\\)" msg boundary)(setq boundary (match-end 0))(magit--put-face (match-beginning 0) boundary'magit-keyword-chore msg)))(let ((boundary 0))(while (string-match "^\\(\\(?:bug(\\([^)]+?\\))\\)\\|\\(?:bug\\>\\)\\)" msg boundary)(setq boundary (match-end 0))(magit--put-face (match-beginning 0) boundary'magit-keyword-bug msg)))(let ((boundary 0))(while (string-match "^\\([^:\n\t]+\\):" msg boundary)(setq boundary (match-end 0))(let ((group (match-string 1 msg)))(unless (or (> (length group) 20)(s-starts-with? "feat" group)(s-starts-with? "Merge" group)(s-starts-with? "merge" group)(s-starts-with? "chore" group)(s-starts-with? "bug" group))(magit--put-face (match-beginning 0) (1- boundary)'magit-keyword-misc msg))))))(use-package magit:ensure t:config(evil-define-key 'normal magit-file-mode-map " a" 'magit);; TODO: figure this out with transients;;(magit-define-popup-action 'magit-dispatch-popup ?j "Browse remote" 'browse-at-remote)'magit-dispatch(advice-add 'magit-log-propertize-keywords :after'fwoar/propertize-magit-log))(use-package browse-at-remote:after magit:ensure t:config (push (cons "gitlab.cj.com" "gitlab")browse-at-remote-remote-type-domains))(eval-and-compile(defvar *fwoar-git-repos*(file-name-as-directory(expand-file-name (car (file-expand-wildcards "~/git*_repos"))"~"))))(eval-and-compile(defun fwoar-git-repo (name ssh-remote http-remote)(let ((dir-name (file-name-as-directory (expand-file-name name *fwoar-git-repos*))))(unless (file-exists-p dir-name)(ecase fwoar-git-mode(:ssh (magit-run-git-with-input "clone" ssh-remote dir-name))(:http (magit-run-git-with-input "clone" http-remote dir-name))))dir-name)))(defvar *dotfiles-repo*(fwoar-git-repo "dotfiles""git@git.fiddlerwoaroof.com:dotfiles.git""https://git.fiddlerwoaroof.com/git/dotfiles.git"))