diff --git a/.emacs b/.emacs index f2f9ae3..35b8b41 100755 --- a/.emacs +++ b/.emacs @@ -35,6 +35,61 @@ (straight-use-package 'use-package) (setq straight-use-package-by-default t) +(setq browse-url-browser-function 'eww-browse-url) +;; C-x SPC -- box select kode +(global-set-key [f10] 'toggle-frame-fullscreen) +(global-set-key (kbd "C-s") 'ripgrep-regexp) +(global-set-key (kbd "M-i") 'xref-find-definitions) +(global-set-key (kbd "C-M-i") 'xref-pop-marker-stack) + +;; Auto-insert braces. Has some counter-intuitive behaviour, unfortunately. +(electric-pair-mode 1) +(setf electric-pair-skip-self nil) + +(set-frame-font "Fira Code 8") + +;; setup fira code font ligatures +(let ((alist '((33 . ".\\(?:\\(?:\\(?:!\\.\\|!\\)\\|\\(?:==\\|=\\)\\)\\)") ;; ! + (35 . ".\\(?:\\(?:[!(:={]\\|\\(?:#\\(?:##\\|#\\)\\|#\\)\\|\\?\\|\\[\\|\\(?:_(\\|_\\)\\)\\)") ;; # + (36 . ".\\(?:>\\)") ;; $ + (37 . ".\\(?:%\\)") ;; % + (38 . ".\\(?:&\\)") ;; & + (42 . ".\\(?:\\(?:[/>]\\|\\(?:\\*\\*\\|\\*\\)\\)\\)") ;; * + (43 . ".\\(?:\\(?:\\(?:\\+\\+\\|\\+\\)\\|>\\)\\)") ;; + + (45 . ".\\(?:\\(?:[|~]\\|\\(?:-\\(?:-\\|>\\)\\|-\\)\\|\\(?:<<\\|<\\)\\|\\(?:>>\\|>\\)\\)\\)") ;; - + (46 . ".\\(?:\\(?:-\\|\\(?:\\.\\(?:\\.\\|<\\)\\|\\.\\)\\|=\\|\\?\\)\\)") ;; . + (47 . ".\\(?:\\(?:[>\\]\\|\\*\\|\\(?://\\|/\\)\\|\\(?:==\\|=\\)\\)\\)") ;; / + (48 . ".\\(?:x[0-9A-Fa-f]\\)") ;; 0 + (58 . ".\\(?:\\(?:[<->]\\|\\(?::[:=]\\|:\\)\\)\\)") ;; : + (59 . ".\\(?:;\\)") ;; ; + (60 . ".\\(?:\\(?:[:>]\\|!--\\|\\(?:\\$>\\|\\$\\)\\|\\(?:\\*>\\|\\*\\)\\|\\(?:\\+>\\|\\+\\)\\|\\(?:-\\(?:[<>|]\\|-\\)\\|-\\)\\|\\(?:/>\\|/\\)\\|\\(?:<\\(?:[<=]\\|-\\)\\|<\\)\\|\\(?:=\\(?:[<>|]\\|\\(?:=>\\|=\\)\\)\\|=\\)\\|\\(?:|\\(?:>\\|\\(?:||\\||\\)\\)\\||\\)\\|\\(?:~[>~]\\|~\\)\\)\\)") ;; < + (61 . ".\\(?:\\(?:!=\\|/=\\|:=\\|<<\\|\\(?:=[=>]\\|=\\)\\|\\(?:>>\\|>\\)\\)\\)") ;; = + (62 . ".\\(?:\\(?:\\(?:->\\|-\\)\\|:\\|\\(?:=>\\|=\\)\\|\\(?:>\\(?:[=>]\\|-\\)\\|>\\)\\)\\)") ;; > + (63 . ".\\(?:\\(?:[:=]\\|\\.\\|\\?\\)\\)") ;; ? + (70 . ".\\(?:l\\)") ;; F + (84 . ".\\(?:l\\)") ;; T + (91 . ".\\(?:\\(?::]\\||\\)\\)") ;; [ + (92 . ".\\(?:/\\)") ;; \ + (93 . ".\\(?:#\\)") ;; ] + (94 . ".\\(?:=\\)") ;; ^ + (95 . ".\\(?:\\(?:_\\||_\\)\\)") ;; _ + (102 . ".\\(?:l\\)") ;; f + (119 . ".\\(?:ww\\)") ;; w + (123 . ".\\(?:|\\)") ;; { + (124 . ".\\(?:\\(?:[>}]\\|\\(?:->\\|-\\)\\|\\(?:=>\\|=\\)\\|]\\|\\(?:|\\(?:[=>]\\|-\\||>\\)\\||\\)\\)\\)") ;; | + (126 . ".\\(?:\\(?:[=>@]\\|-\\|\\(?:~>\\|~\\)\\)\\)")))) + (dolist (char-regexp alist) + (set-char-table-range composition-function-table (car char-regexp) + `([,(cdr char-regexp) 0 font-shape-gstring])))) + + +(scroll-bar-mode -1) +(tool-bar-mode -1) +(menu-bar-mode -1) +(show-paren-mode 1) +(blink-cursor-mode 0) +(set-cursor-color "#ffffff") + (defun move-to-previous-window () "Move to previous window." (interactive) @@ -294,12 +349,42 @@ Other buffer group by `centaur-tabs-get-group-name' with project name." ("g t" . centaur-tabs-forward) ("g T" . centaur-tabs-backward))) -(use-package vterm - :ensure t) - (use-package elfeed :config - (global-set-key (kbd "C-x w") 'elfeed)) + (global-set-key (kbd "C-x w") 'elfeed) + (setq elfeed-feeds + '(("https://programming.dev/feeds/c/rust.xml?sort=Active" programming) + ("https://programming.dev/feeds/c/gamedev.xml?sort=Active" programming) + ("https://hexbear.net/feeds/c/programming.xml?sort=Active" programming) + ("https://programming.dev/feeds/c/golang.xml?sort=Active" programming) + ("https://programming.dev/feeds/c/programming.xml?sort=Active" programming) + ("https://xkcd.com/atom.xml" webcomic) + ("https://www.existentialcomics.com/rss.xml" webcomic) + ("https://hackaday.com/blog/feed/" hack) + ("https://itsfoss.com/feed/" linux) + ("https://lemmy.ml/feeds/c/linux.xml?sort=Active" linux os) + ("https://lemmy.ml/feeds/c/raspberrypi.xml?sort=Active" os) + ("http://git.9front.org/plan9front/plan9front/HEAD/feed.rss" os plan9) + ("https://lemmy.ml/feeds/c/opensource.xml?sort=Active" os) + ("https://lemmy.ml/feeds/c/linux_gaming.xml?sort=Active" games linux) + ("https://steamcommunity.com/groups/GrabFreeGames/rss/" games) + ("https://hexbear.net/feeds/c/news.xml?sort=Active" news) + ("https://feeds.npr.org/1001/rss.xml" news) + ("https://www.scmp.com/rss/91/feed" news) + ("https://www.currentaffairs.org/feed" news) + ("https://itsgoingdown.org/feed" news) + ("http://feeds.ancientfaith.com/AmonSul" podcast) + ("https://feeds.transistor.fm/the-magnificast" podcast) + ("https://anchor.fm/s/c38df04/podcast/rss" podcast) + ("https://yogpod.libsyn.com/rss" podcast) + ("https://revolutionspodcast.libsyn.com/rss" podcast) + ("https://feeds.acast.com/public/shows/5e7b777ba085cbe7192b0607" podcast) + ("https://www.omnycontent.com/d/playlist/aaea4e69-af51-495e-afc9-a9760146922b/48da3539-5da0-41ed-a1c3-aac50170b88f/f7810480-e2d3-4be5-a559-aac50170b8a6/podcast.rss" podcast) + ("https://feeds.soundcloud.com/users/soundcloud:users:672423809/sounds.rss" podcast) + ("https://www.omnycontent.com/d/playlist/aaea4e69-af51-495e-afc9-a9760146922b/4a3ca742-9a68-4850-a727-ab790176c0e9/d04153b0-fc4c-4191-ab18-ab790179c563/podcast.rss" podcast) + ("https://feeds.soundcloud.com/users/soundcloud:users:211911700/sounds.rss" podcast) + ("https://access.acast.com/rss/5fd1001d81367d4cb41fe325/Q6BVQ6VF" podcast) + ("https://feeds.npr.org/344098539/podcast.xml" podcast)))) (use-package projectile :config @@ -341,15 +426,7 @@ Other buffer group by `centaur-tabs-get-group-name' with project name." :type 'list :version "green") -(defun display-line-numbers--turn-on () - "Turn on line numbers except for certain major modes. -Exempt major modes are defined in `display-line-numbers-exempt-modes'." - (unless (or (minibufferp) - (member major-mode display-line-numbers-exempt-modes)) - (display-line-numbers-mode))) - -(display-line-numbers--turn-on) -;;(global-display-line-numbers-mode) +(global-display-line-numbers-mode) (use-package markdown-mode :ensure t @@ -384,8 +461,6 @@ Exempt major modes are defined in `display-line-numbers-exempt-modes'." '("\\.jsx?\\'" . prettier-js-mode)) (enable-minor-mode '("\\.tsx?\\'" . prettier-js-mode)))) - - (use-package elm-mode) (use-package go-mode) (use-package rust-mode) @@ -409,77 +484,23 @@ Exempt major modes are defined in `display-line-numbers-exempt-modes'." (use-package lsp-treemacs :commands lsp-treemacs-errors-list) (use-package verb) -(use-package slime +(use-package sly :ensure t :config - (load (expand-file-name "~/quicklisp/slime-helper.el")) (setq inferior-lisp-program "sbcl")) -;; C-x SPC -- box select mode -(global-set-key [f11] 'toggle-frame-fullscreen) -(global-set-key (kbd "C-s") 'ripgrep-regexp) -(global-set-key (kbd "M-i") 'xref-find-definitions) -(global-set-key (kbd "C-M-i") 'xref-pop-marker-stack) - -;; Auto-insert braces. Has some counter-intuitive behaviour, unfortunately. -(electric-pair-mode 1) -(setf electric-pair-skip-self nil) - -(set-frame-font "Fira Code 11") - -;; setup fira code font ligatures -(let ((alist '((33 . ".\\(?:\\(?:\\(?:!\\.\\|!\\)\\|\\(?:==\\|=\\)\\)\\)") ;; ! - (35 . ".\\(?:\\(?:[!(:={]\\|\\(?:#\\(?:##\\|#\\)\\|#\\)\\|\\?\\|\\[\\|\\(?:_(\\|_\\)\\)\\)") ;; # - (36 . ".\\(?:>\\)") ;; $ - (37 . ".\\(?:%\\)") ;; % - (38 . ".\\(?:&\\)") ;; & - (42 . ".\\(?:\\(?:[/>]\\|\\(?:\\*\\*\\|\\*\\)\\)\\)") ;; * - (43 . ".\\(?:\\(?:\\(?:\\+\\+\\|\\+\\)\\|>\\)\\)") ;; + - (45 . ".\\(?:\\(?:[|~]\\|\\(?:-\\(?:-\\|>\\)\\|-\\)\\|\\(?:<<\\|<\\)\\|\\(?:>>\\|>\\)\\)\\)") ;; - - (46 . ".\\(?:\\(?:-\\|\\(?:\\.\\(?:\\.\\|<\\)\\|\\.\\)\\|=\\|\\?\\)\\)") ;; . - (47 . ".\\(?:\\(?:[>\\]\\|\\*\\|\\(?://\\|/\\)\\|\\(?:==\\|=\\)\\)\\)") ;; / - (48 . ".\\(?:x[0-9A-Fa-f]\\)") ;; 0 - (58 . ".\\(?:\\(?:[<->]\\|\\(?::[:=]\\|:\\)\\)\\)") ;; : - (59 . ".\\(?:;\\)") ;; ; - (60 . ".\\(?:\\(?:[:>]\\|!--\\|\\(?:\\$>\\|\\$\\)\\|\\(?:\\*>\\|\\*\\)\\|\\(?:\\+>\\|\\+\\)\\|\\(?:-\\(?:[<>|]\\|-\\)\\|-\\)\\|\\(?:/>\\|/\\)\\|\\(?:<\\(?:[<=]\\|-\\)\\|<\\)\\|\\(?:=\\(?:[<>|]\\|\\(?:=>\\|=\\)\\)\\|=\\)\\|\\(?:|\\(?:>\\|\\(?:||\\||\\)\\)\\||\\)\\|\\(?:~[>~]\\|~\\)\\)\\)") ;; < - (61 . ".\\(?:\\(?:!=\\|/=\\|:=\\|<<\\|\\(?:=[=>]\\|=\\)\\|\\(?:>>\\|>\\)\\)\\)") ;; = - (62 . ".\\(?:\\(?:\\(?:->\\|-\\)\\|:\\|\\(?:=>\\|=\\)\\|\\(?:>\\(?:[=>]\\|-\\)\\|>\\)\\)\\)") ;; > - (63 . ".\\(?:\\(?:[:=]\\|\\.\\|\\?\\)\\)") ;; ? - (70 . ".\\(?:l\\)") ;; F - (84 . ".\\(?:l\\)") ;; T - (91 . ".\\(?:\\(?::]\\||\\)\\)") ;; [ - (92 . ".\\(?:/\\)") ;; \ - (93 . ".\\(?:#\\)") ;; ] - (94 . ".\\(?:=\\)") ;; ^ - (95 . ".\\(?:\\(?:_\\||_\\)\\)") ;; _ - (102 . ".\\(?:l\\)") ;; f - (119 . ".\\(?:ww\\)") ;; w - (123 . ".\\(?:|\\)") ;; { - (124 . ".\\(?:\\(?:[>}]\\|\\(?:->\\|-\\)\\|\\(?:=>\\|=\\)\\|]\\|\\(?:|\\(?:[=>]\\|-\\||>\\)\\||\\)\\)\\)") ;; | - (126 . ".\\(?:\\(?:[=>@]\\|-\\|\\(?:~>\\|~\\)\\)\\)")))) - (dolist (char-regexp alist) - (set-char-table-range composition-function-table (car char-regexp) - `([,(cdr char-regexp) 0 font-shape-gstring])))) - - -(scroll-bar-mode -1) -(tool-bar-mode -1) -(menu-bar-mode -1) -(show-paren-mode 1) -(blink-cursor-mode 0) -(set-cursor-color "#ffffff") +(use-package vterm + :ensure t) (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. - '(elfeed-feeds - '("https://www.hexbear.net/feeds/all.xml?sort=Active" "https://xkcd.com/atom.xml" "https://www.existentialcomics.com/rss.xml" "https://hackaday.com/blog/feed/" "https://itsfoss.com/feed/" "http://git.9front.org/plan9front/plan9front/HEAD/feed.rss" "https://www.gnu.org/software/hurd/index.rss" "https://steamcommunity.com/groups/GrabFreeGames/rss/" "https://feeds.npr.org/1001/rss.xml" "https://www.scmp.com/rss/91/feed" "https://www.currentaffairs.org/feed" "https://libcom.org/rss.xml/feed" "https://itsgoingdown.org/feed" "https://cosmonaut.blog/rss" "https://yewtu.be/feed/private?token=QaRbw6HeUUNTi5K24U6eMWSw9xYjYc0ARTeUcZK1pJA=" "http://feeds.ancientfaith.com/AmonSul" "https://feeds.transistor.fm/the-magnificast" "https://anchor.fm/s/c38df04/podcast/rss" "https://yogpod.libsyn.com/rss" "https://revolutionspodcast.libsyn.com/rss" "https://feeds.acast.com/public/shows/5e7b777ba085cbe7192b0607" "https://www.omnycontent.com/d/playlist/aaea4e69-af51-495e-afc9-a9760146922b/48da3539-5da0-41ed-a1c3-aac50170b88f/f7810480-e2d3-4be5-a559-aac50170b8a6/podcast.rss" "https://feeds.soundcloud.com/users/soundcloud:users:672423809/sounds.rss" "https://www.omnycontent.com/d/playlist/aaea4e69-af51-495e-afc9-a9760146922b/4a3ca742-9a68-4850-a727-ab790176c0e9/d04153b0-fc4c-4191-ab18-ab790179c563/podcast.rss" "https://feeds.soundcloud.com/users/soundcloud:users:211911700/sounds.rss" "https://access.acast.com/rss/5fd1001d81367d4cb41fe325/Q6BVQ6VF" "https://feeds.npr.org/344098539/podcast.xml")) '(inhibit-startup-screen t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. -) \ No newline at end of file +)