diff --git a/.gitmodules b/.gitmodules index c11093e..cfcbd12 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "tmuxcompose"] path = tmuxcompose url = https://github.com/truck/tmuxcompose +[submodule "fonts/codeface"] + path = fonts/codeface + url = https://github.com/chrissimpkins/codeface diff --git a/NF_pick.sh b/NF_pick.sh index 37a4e11..67ff725 100755 --- a/NF_pick.sh +++ b/NF_pick.sh @@ -1,4 +1,4 @@ #!/bin/sh -F=$(dmenu -i -l 18 -fn 'Px437_ATI_SmallW_6x8 NF:style=Book:pixelsize=16:antialias=true' < ~/bin/nflist) -C=$(ls ~/bin/st* |dmenu -l 8 -fn 'Px437_ATI_SmallW_6x8 NF:style=Book:pixelsize=16:antialias=true') +F=`dmenu -i -l 18 -fn 'Px437_ATI_SmallW_6x8 NF:style=Book:pixelsize=16:antialias=true' < ~/bin/nflist` +C=`ls ~/bin/st* |dmenu -l 8 -fn 'Px437_ATI_SmallW_6x8 NF:style=Book:pixelsize=16:antialias=true'` ${C} -f "${F}" diff --git a/emacs-init.el b/emacs-init.el index 8b4b8fd..d0ecfac 100644 --- a/emacs-init.el +++ b/emacs-init.el @@ -66,6 +66,13 @@ :defer t :init (add-hook 'global-company-mode-hook #'company-quickhelp-mode)) +(use-package company-go + :ensure t + :defer t + :init + (with-eval-after-load 'company + (add-to-list 'company-backends 'company-go))) + (use-package flycheck :ensure t :defer t @@ -77,6 +84,21 @@ :init (yas-global-mode 1) ) +(use-package go-mode + :ensure t + :init + (progn + (setq gofmt-command "goimports") + (add-hook 'before-save-hook 'gofmt-before-save) + (bind-key [remap find-tag] #'godef-jump)) + :config + (add-hook 'go-mode-hook 'electric-pair-mode) + (setq company-tooltip-limit 20) + (setq company-idle-delay .3) + (setq company-echo-delay 0) + (setq company-begin-commands '(self-insert-command)) + ) + (use-package markdown-mode :ensure t) @@ -86,22 +108,6 @@ ) ) -(use-package projectile - :ensure t - :init (projectile-mode +1) - ) - -(use-package helm-projectile - :ensure t - :init (helm-projectile-on) - ) - -(use-package helm-ag - :ensure t - :defer t - ) - - (use-package paradox :ensure t :defer t) @@ -110,12 +116,11 @@ :ensure t :defer t) -(use-package subatomic256-theme +(use-package color-theme-solarized :ensure t - :defer t - ) + :defer t) -(use-package anti-zenburn-theme +(use-package subatomic256-theme :ensure t :defer t ) @@ -182,6 +187,140 @@ '(default ((t (:inherit nil :stipple nil :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 142 :width normal :foundry "unci" :family "MonofurForPowerline Nerd Font")))) '(fixed-pitch ((t (:family "Iosevka"))))) +;;; Fira code +;; This works when using emacs --daemon + emacsclient +(add-hook 'after-make-frame-functions (lambda (frame) (set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol"))) +;; This works when using emacs without server/client +(set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol") +;; I haven't found one statement that makes both of the above situations work, so I use both for now + +(defconst fira-code-font-lock-keywords-alist + (mapcar (lambda (regex-char-pair) + `(,(car regex-char-pair) + (0 (prog1 () + (compose-region (match-beginning 1) + (match-end 1) + ;; The first argument to concat is a string containing a literal tab + ,(concat " " (list (decode-char 'ucs (cadr regex-char-pair))))))))) + '(("\\(www\\)" #Xe100) + ("[^/]\\(\\*\\*\\)[^/]" #Xe101) + ("\\(\\*\\*\\*\\)" #Xe102) + ("\\(\\*\\*/\\)" #Xe103) + ("\\(\\*>\\)" #Xe104) + ("[^*]\\(\\*/\\)" #Xe105) + ("\\(\\\\\\\\\\)" #Xe106) + ("\\(\\\\\\\\\\\\\\)" #Xe107) + ("\\({-\\)" #Xe108) + ("\\(\\[\\]\\)" #Xe109) + ("\\(::\\)" #Xe10a) + ("\\(:::\\)" #Xe10b) + ("[^=]\\(:=\\)" #Xe10c) + ("\\(!!\\)" #Xe10d) + ("\\(!=\\)" #Xe10e) + ("\\(!==\\)" #Xe10f) + ("\\(-}\\)" #Xe110) + ("\\(--\\)" #Xe111) + ("\\(---\\)" #Xe112) + ("\\(-->\\)" #Xe113) + ("[^-]\\(->\\)" #Xe114) + ("\\(->>\\)" #Xe115) + ("\\(-<\\)" #Xe116) + ("\\(-<<\\)" #Xe117) + ("\\(-~\\)" #Xe118) + ("\\(#{\\)" #Xe119) + ("\\(#\\[\\)" #Xe11a) + ("\\(##\\)" #Xe11b) + ("\\(###\\)" #Xe11c) + ("\\(####\\)" #Xe11d) + ("\\(#(\\)" #Xe11e) + ("\\(#\\?\\)" #Xe11f) + ("\\(#_\\)" #Xe120) + ("\\(#_(\\)" #Xe121) + ("\\(\\.-\\)" #Xe122) + ("\\(\\.=\\)" #Xe123) + ("\\(\\.\\.\\)" #Xe124) + ("\\(\\.\\.<\\)" #Xe125) + ("\\(\\.\\.\\.\\)" #Xe126) + ("\\(\\?=\\)" #Xe127) + ("\\(\\?\\?\\)" #Xe128) + ("\\(;;\\)" #Xe129) + ("\\(/\\*\\)" #Xe12a) + ("\\(/\\*\\*\\)" #Xe12b) + ("\\(/=\\)" #Xe12c) + ("\\(/==\\)" #Xe12d) + ("\\(/>\\)" #Xe12e) + ("\\(//\\)" #Xe12f) + ("\\(///\\)" #Xe130) + ("\\(&&\\)" #Xe131) + ("\\(||\\)" #Xe132) + ("\\(||=\\)" #Xe133) + ("[^|]\\(|=\\)" #Xe134) + ("\\(|>\\)" #Xe135) + ("\\(\\^=\\)" #Xe136) + ("\\(\\$>\\)" #Xe137) + ("\\(\\+\\+\\)" #Xe138) + ("\\(\\+\\+\\+\\)" #Xe139) + ("\\(\\+>\\)" #Xe13a) + ("\\(=:=\\)" #Xe13b) + ("[^!/]\\(==\\)[^>]" #Xe13c) + ("\\(===\\)" #Xe13d) + ("\\(==>\\)" #Xe13e) + ("[^=]\\(=>\\)" #Xe13f) + ("\\(=>>\\)" #Xe140) + ("\\(<=\\)" #Xe141) + ("\\(=<<\\)" #Xe142) + ("\\(=/=\\)" #Xe143) + ("\\(>-\\)" #Xe144) + ("\\(>=\\)" #Xe145) + ("\\(>=>\\)" #Xe146) + ("[^-=]\\(>>\\)" #Xe147) + ("\\(>>-\\)" #Xe148) + ("\\(>>=\\)" #Xe149) + ("\\(>>>\\)" #Xe14a) + ("\\(<\\*\\)" #Xe14b) + ("\\(<\\*>\\)" #Xe14c) + ("\\(<|\\)" #Xe14d) + ("\\(<|>\\)" #Xe14e) + ("\\(<\\$\\)" #Xe14f) + ("\\(<\\$>\\)" #Xe150) + ("\\(