pretty symbols

ご主人様
not manx 4 years ago
parent db2522c28e
commit 1a3b35b39f
Signed by: C-xC-c
GPG Key ID: F52ED472284EF2F4

@ -12,6 +12,8 @@
(setq use-package-always-ensure t (setq use-package-always-ensure t
use-package-verbose t) use-package-verbose t)
(use-package auto-minor-mode)
(use-package diminish) (use-package diminish)
(use-package company (use-package company
@ -67,7 +69,8 @@
:config :config
(spaceline-toggle-buffer-size-off) (spaceline-toggle-buffer-size-off)
;;This isn't set in :custom because it breaks the arrow. ;;This isn't set in :custom because it breaks the arrow.
(setq powerline-default-seperator 'arrow)) (setq powerline-default-seperator 'arrow)
(add-hook 'after-init-hook 'spaceline-compile))
(use-package dashboard (use-package dashboard
:diminish (dashboard-mode page-break-lines-mode) :diminish (dashboard-mode page-break-lines-mode)
@ -185,6 +188,7 @@
(global-set-key (kbd "C-c k l") 'manx/kill-line) (global-set-key (kbd "C-c k l") 'manx/kill-line)
(global-set-key (kbd "s-i") 'manx/format-whole-buffer) (global-set-key (kbd "s-i") 'manx/format-whole-buffer)
(global-set-key (kbd "C-c r b") 'revert-buffer) (global-set-key (kbd "C-c r b") 'revert-buffer)
(global-set-key (kbd "<M-right>") 'forward-whitespace)
(definteractive manx/scratch-buffer () (definteractive manx/scratch-buffer ()
(switch-to-buffer (get-buffer-create "*scratch*")) (switch-to-buffer (get-buffer-create "*scratch*"))
@ -192,7 +196,9 @@
(global-set-key (kbd "C-c s b") 'manx/scratch-buffer) (global-set-key (kbd "C-c s b") 'manx/scratch-buffer)
(global-set-key (kbd "C-x k") (lambdainteractive () (kill-buffer (current-buffer)))) (global-set-key (kbd "C-x k") (lambdainteractive () (kill-buffer (current-buffer))))
(global-set-key (kbd "C-M-s-k") (lambdainteractive () (mapc 'kill-buffer (buffer-list)))) (global-set-key (kbd "C-M-s-k") (lambdainteractive ()
(mapc 'kill-buffer (buffer-list))
(manx/scratch-buffer)))
;; This is only used here for now but we should still more it some ;; This is only used here for now but we should still more it some
;; time ;; time
@ -240,12 +246,17 @@
select-enable-clipboard t select-enable-clipboard t
vc-follow-symlinks t) vc-follow-symlinks t)
(setq browse-url-browser-function 'browse-url-generic
browse-url-generic-program "basilisk")
(setq backup-directory-alist (setq backup-directory-alist
`(("." . ,(concat user-emacs-directory "autosaves")))) `(("." . ,(concat user-emacs-directory "autosaves"))))
(tool-bar-mode -1) (tool-bar-mode -1)
(menu-bar-mode -1) (menu-bar-mode -1)
(scroll-bar-mode -1) (scroll-bar-mode -1)
(setq visible-bell nil
ring-bell-function 'ignore)
(global-unset-key (kbd "C-z")) ;; Fuck unix (global-unset-key (kbd "C-z")) ;; Fuck unix
(setq-default tab-width 2 (setq-default tab-width 2
@ -257,34 +268,26 @@
(defvaralias 'js-indent-level 'tab-width) (defvaralias 'js-indent-level 'tab-width)
(global-prettify-symbols-mode t) (global-prettify-symbols-mode t)
(add-hook 'emacs-lisp-mode-hook
(lambda () (defmacro manx/prettify (lst)
(push `(add-hook (quote ,(car lst))
'("lambdainteractive" . ) (lambda ()
prettify-symbols-alist))) (mapc (lambda (pair) (push pair prettify-symbols-alist))
(quote ,(cdr lst))))))
(defvar auto-minor-mode-alist ()
"Alist of filename patterns vs correpsonding minor mode functions, see `auto-mode-alist' (manx/prettify
All elements of this alist are checked, meaning you can enable multiple minor modes for the same regexp.") (emacs-lisp-mode-hook
("lambdainteractive" . )))
(defun enable-minor-mode-based-on-extension ()
"Check file name against `auto-minor-mode-alist' to enable minor modes (manx/prettify
the checking happens for all pairs in auto-minor-mode-alist" (prog-mode-hook
(when buffer-file-name ("||" . ?)
(let ((name (file-name-sans-versions buffer-file-name)) ("&&" . ?∧)
(remote-id (file-remote-p buffer-file-name)) ("!=" . ?≠)))
(case-fold-search auto-mode-case-fold)
(alist auto-minor-mode-alist)) (manx/prettify
;; Remove remote file name identification. (js-mode-hook
(when (and (stringp remote-id) ("=>" . ?⇒)))
(string-match-p (regexp-quote remote-id) name))
(setq name (substring name (match-end 0))))
(while (and alist (caar alist) (cdar alist))
(if (string-match-p (caar alist) name)
(funcall (cdar alist) 1))
(setq alist (cdr alist))))))
(add-hook 'find-file-hook #'enable-minor-mode-based-on-extension)
(define-minor-mode sensitive-minor-mode (define-minor-mode sensitive-minor-mode
"For sensitive files like password lists. "For sensitive files like password lists.
@ -309,5 +312,5 @@ Null prefix argument turns off the mode."
(append (append
'(("stream/manifest/.*\\.json$" . sensitive-minor-mode) '(("stream/manifest/.*\\.json$" . sensitive-minor-mode)
(".emacs.d/snippets/\\*$" . sensitive-minor-mode) (".emacs.d/snippets/\\*$" . sensitive-minor-mode)
("nginx/sites-(enabled|available)/*" . sensitive-minor-mode)) ("/etc/nginx/*" . sensitive-minor-mode))
auto-minor-mode-alist)) auto-minor-mode-alist))

@ -1,4 +1,5 @@
* macros * macros
These are global macros used throughout my config file.
** definteractive ** definteractive
Wrappers around functions and lambdas so I don't have to type Wrappers around functions and lambdas so I don't have to type
(interactive) all the damn time (interactive) all the damn time
@ -27,6 +28,10 @@ Always ensure packages are installed. Log to ~*Messages*~.
(setq use-package-always-ensure t (setq use-package-always-ensure t
use-package-verbose t) use-package-verbose t)
#+END_SRC #+END_SRC
** auto-minor-mode
#+BEGIN_SRC emacs-lisp
(use-package auto-minor-mode)
#+END_SRC
** diminish ** diminish
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package diminish) (use-package diminish)
@ -62,11 +67,11 @@ Always ensure packages are installed. Log to ~*Messages*~.
#+END_SRC #+END_SRC
*** nginx *** nginx
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package nginx-mode (use-package nginx-mode
:custom :custom
(nginx-indent-tabs-mode t) (nginx-indent-tabs-mode t)
(nginx-indent-level 2) (nginx-indent-level 2)
:config (add-to-list 'auto-mode-alist '("/nginx/sites-\\(?:available\\|enabled\\)/" . nginx-mode))) :config (add-to-list 'auto-mode-alist '("/nginx/sites-\\(?:available\\|enabled\\)/" . nginx-mode)))
#+END_SRC #+END_SRC
*** slime *** slime
sbcl is in a werid place on Gentoo. sbcl is in a werid place on Gentoo.
@ -102,7 +107,8 @@ sbcl is in a werid place on Gentoo.
:config :config
(spaceline-toggle-buffer-size-off) (spaceline-toggle-buffer-size-off)
;;This isn't set in :custom because it breaks the arrow. ;;This isn't set in :custom because it breaks the arrow.
(setq powerline-default-seperator 'arrow)) (setq powerline-default-seperator 'arrow)
(add-hook 'after-init-hook 'spaceline-compile))
#+END_SRC #+END_SRC
** dashboard ** dashboard
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@ -142,13 +148,13 @@ sbcl is in a werid place on Gentoo.
(yas-reload-all)) (yas-reload-all))
#+END_SRC #+END_SRC
** minor modes ** minor modes
*** hungry delete *** hungry-delete
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package hungry-delete (use-package hungry-delete
:diminish 'hungry-delete-mode :diminish 'hungry-delete-mode
:config (global-hungry-delete-mode 1)) :config (global-hungry-delete-mode 1))
#+END_SRC #+END_SRC
*** which key *** which-key
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package which-key (use-package which-key
:diminish 'which-key-mode :diminish 'which-key-mode
@ -165,7 +171,7 @@ sbcl is in a werid place on Gentoo.
:diminish 'beacon-mode :diminish 'beacon-mode
:config (beacon-mode 1)) :config (beacon-mode 1))
#+END_SRC #+END_SRC
*** popup kill ring *** popup-kill-ring
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package popup-kill-ring (use-package popup-kill-ring
:bind ("M-y" . popup-kill-ring)) :bind ("M-y" . popup-kill-ring))
@ -242,7 +248,6 @@ Also saves config if open.
#+END_SRC #+END_SRC
* functions * functions
** text ** text
*** kill
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(definteractive manx/kill-line() (definteractive manx/kill-line()
(move-beginning-of-line nil) (move-beginning-of-line nil)
@ -255,6 +260,7 @@ Also saves config if open.
(global-set-key (kbd "C-c k l") 'manx/kill-line) (global-set-key (kbd "C-c k l") 'manx/kill-line)
(global-set-key (kbd "s-i") 'manx/format-whole-buffer) (global-set-key (kbd "s-i") 'manx/format-whole-buffer)
(global-set-key (kbd "C-c r b") 'revert-buffer) (global-set-key (kbd "C-c r b") 'revert-buffer)
(global-set-key (kbd "<M-right>") 'forward-whitespace)
#+END_SRC #+END_SRC
** buffers ** buffers
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@ -264,7 +270,9 @@ Also saves config if open.
(global-set-key (kbd "C-c s b") 'manx/scratch-buffer) (global-set-key (kbd "C-c s b") 'manx/scratch-buffer)
(global-set-key (kbd "C-x k") (lambdainteractive () (kill-buffer (current-buffer)))) (global-set-key (kbd "C-x k") (lambdainteractive () (kill-buffer (current-buffer))))
(global-set-key (kbd "C-M-s-k") (lambdainteractive () (mapc 'kill-buffer (buffer-list)))) (global-set-key (kbd "C-M-s-k") (lambdainteractive ()
(mapc 'kill-buffer (buffer-list))
(manx/scratch-buffer)))
#+END_SRC #+END_SRC
** frames ** frames
*** transpose-frame *** transpose-frame
@ -327,6 +335,9 @@ parens.
select-enable-clipboard t select-enable-clipboard t
vc-follow-symlinks t) vc-follow-symlinks t)
(setq browse-url-browser-function 'browse-url-generic
browse-url-generic-program "basilisk")
(setq backup-directory-alist (setq backup-directory-alist
`(("." . ,(concat user-emacs-directory "autosaves")))) `(("." . ,(concat user-emacs-directory "autosaves"))))
#+END_SRC #+END_SRC
@ -335,6 +346,8 @@ parens.
(tool-bar-mode -1) (tool-bar-mode -1)
(menu-bar-mode -1) (menu-bar-mode -1)
(scroll-bar-mode -1) (scroll-bar-mode -1)
(setq visible-bell nil
ring-bell-function 'ignore)
(global-unset-key (kbd "C-z")) ;; Fuck unix (global-unset-key (kbd "C-z")) ;; Fuck unix
#+END_SRC #+END_SRC
** indentation ** indentation
@ -348,43 +361,29 @@ tabs > spaces. Except in Lisp.
(defvaralias 'css-indent-offset 'tab-width) (defvaralias 'css-indent-offset 'tab-width)
(defvaralias 'js-indent-level 'tab-width) (defvaralias 'js-indent-level 'tab-width)
#+END_SRC #+END_SRC
** Prettify symbols ** prettify symbols
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(global-prettify-symbols-mode t) (global-prettify-symbols-mode t)
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(push
'("lambdainteractive" . ?Λ)
prettify-symbols-alist)))
#+END_SRC
* auto-minor-mode
auto-mode-alist for minor modes.
For example, used with sensitive-mode to not create backups (defmacro manx/prettify (lst)
(path/to/file~) when creating yasnippets `(add-hook (quote ,(car lst))
#+BEGIN_SRC emacs-lisp (lambda ()
(defvar auto-minor-mode-alist () (mapc (lambda (pair) (push pair prettify-symbols-alist))
"Alist of filename patterns vs correpsonding minor mode functions, see `auto-mode-alist' (quote ,(cdr lst))))))
All elements of this alist are checked, meaning you can enable multiple minor modes for the same regexp.")
(manx/prettify
(defun enable-minor-mode-based-on-extension () (emacs-lisp-mode-hook
"Check file name against `auto-minor-mode-alist' to enable minor modes ("lambdainteractive" . ?Λ)))
the checking happens for all pairs in auto-minor-mode-alist"
(when buffer-file-name (manx/prettify
(let ((name (file-name-sans-versions buffer-file-name)) (prog-mode-hook
(remote-id (file-remote-p buffer-file-name)) ("||" . ?)
(case-fold-search auto-mode-case-fold) ("&&" . ?∧)
(alist auto-minor-mode-alist)) ("!=" . ?≠)))
;; Remove remote file name identification.
(when (and (stringp remote-id) (manx/prettify
(string-match-p (regexp-quote remote-id) name)) (js-mode-hook
(setq name (substring name (match-end 0)))) ("=>" . ?⇒)))
(while (and alist (caar alist) (cdar alist))
(if (string-match-p (caar alist) name)
(funcall (cdar alist) 1))
(setq alist (cdr alist))))))
(add-hook 'find-file-hook #'enable-minor-mode-based-on-extension)
#+END_SRC #+END_SRC
* sensitive-minor-mode * sensitive-minor-mode
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
@ -411,6 +410,6 @@ For example, used with sensitive-mode to not create backups
(append (append
'(("stream/manifest/.*\\.json$" . sensitive-minor-mode) '(("stream/manifest/.*\\.json$" . sensitive-minor-mode)
(".emacs.d/snippets/\\*$" . sensitive-minor-mode) (".emacs.d/snippets/\\*$" . sensitive-minor-mode)
("nginx/sites-(enabled|available)/*" . sensitive-minor-mode)) ("/etc/nginx/*" . sensitive-minor-mode))
auto-minor-mode-alist)) auto-minor-mode-alist))
#+END_SRC #+END_SRC

@ -22,7 +22,7 @@
'(nginx-indent-tabs-mode t) '(nginx-indent-tabs-mode t)
'(package-selected-packages '(package-selected-packages
(quote (quote
(htmlize benchmark-init alchemist elixir-mode nginx-mode yasnippet-snippets which-key use-package switch-window spacemacs-theme spaceline slime-company popup-kill-ring omnisharp keychain-environment ido-vertical-mode hungry-delete exwm diminish dashboard company-auctex beacon avy))) (auto-minor-mode htmlize alchemist elixir-mode nginx-mode yasnippet-snippets which-key use-package switch-window spacemacs-theme spaceline slime-company popup-kill-ring omnisharp keychain-environment ido-vertical-mode hungry-delete diminish dashboard company-auctex beacon avy)))
'(slime-lisp-implementations '(slime-lisp-implementations
(quote (quote
((sbcl ((sbcl

@ -1,5 +1,5 @@
* Komacs * Komacs
My emacs config. [[./config.org]] contains any configuration I've done, My emacs config. [[./config.org][config.org]] contains any configuration I've done,
which is loaded by org-babel on startup. which is loaded by org-babel on startup.
I use [[https://github.com/jwiegley/use-package][use-package]] for package management, [[https://www.djcbsoftware.nl/code/mu/mu4e.html][mu4e]] for mail and I use [[https://github.com/jwiegley/use-package][use-package]] for package management, [[https://www.djcbsoftware.nl/code/mu/mu4e.html][mu4e]] for mail and

@ -1,21 +0,0 @@
;; This file is a part of LASS
;; (c) 2014 TymoonNET/NexT http://tymoon.eu (shinmera@tymoon.eu)
;; Author: Nicolas Hafner <shinmera@tymoon.eu>
(defun lass-compile-current ()
(interactive)
(or
(when (and (slime-connected-p)
(or (slime-eval '(cl:not (cl:null (cl:find-package :lass))))
(and (slime-eval '(cl:not (cl:null (cl:find-package :ql))))
(slime-eval '(ql:quickload :lass)))))
(message "LASS compiled to %s" (slime-eval `(uiop:native-namestring (lass:generate (uiop:parse-native-namestring ,(buffer-file-name)))))))
(message "LASS compiled. %s" (shell-command-to-string (format "lass %s" (shell-quote-argument (buffer-file-name)))))))
(define-derived-mode lass-mode common-lisp-mode
"LASS" "Mode with auto-compiling for LASS files."
(add-hook 'after-save-hook 'lass-compile-current nil t))
(add-to-list 'auto-mode-alist '("\\.lass\\'" . lass-mode))
(provide 'lass)
Loading…
Cancel
Save