update .emacs
This commit is contained in:
parent
1c5959169b
commit
6ee77b9ee7
299
.emacs
299
.emacs
|
@ -34,11 +34,10 @@
|
|||
|
||||
(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 [f11] 'toggle-frame-fullscreen)
|
||||
(global-set-key (kbd "C-s") 'ripgrep-regexp)
|
||||
(global-set-key (kbd "C-,") 'move-to-previous-window)
|
||||
(global-set-key (kbd "C-.") 'move-to-next-window)
|
||||
(global-set-key (kbd "M-i") 'xref-find-definitions)
|
||||
(global-set-key (kbd "C-M-i") 'xref-pop-marker-stack)
|
||||
|
||||
|
@ -118,14 +117,6 @@
|
|||
(point))))
|
||||
(comment-or-uncomment-region start end)))
|
||||
|
||||
(use-package exec-path-from-shell
|
||||
:init
|
||||
(exec-path-from-shell-initialize))
|
||||
|
||||
(use-package undo-tree
|
||||
:config (global-undo-tree-mode 1)
|
||||
:diminish undo-tree-mode)
|
||||
|
||||
(use-package evil
|
||||
:ensure t
|
||||
:init
|
||||
|
@ -150,17 +141,18 @@
|
|||
(define-key evil-normal-state-map (kbd "C-M-u") 'eval-buffer)
|
||||
(define-key evil-normal-state-map (kbd "C-M-p") 'compile)
|
||||
(define-key evil-normal-state-map (kbd "M-/") 'dabbrev-expand)
|
||||
(define-key evil-normal-state-map (kbd "C-,") 'move-to-previous-window)
|
||||
(define-key evil-normal-state-map (kbd "C-.") 'move-to-next-window)
|
||||
(define-key evil-normal-state-map (kbd "C-M-\\") 'format-all-region-or-buffer))
|
||||
(define-key evil-normal-state-map (kbd "C-M-\\") 'format-all-buffer)
|
||||
|
||||
(use-package format-all
|
||||
:commands format-all-mode
|
||||
:hook (prog-mode . format-all-mode)
|
||||
:config
|
||||
(setq-default format-all-formatters
|
||||
'(("C" (astyle "--mode=c"))
|
||||
("Shell" (shfmt "-i" "4" "-ci")))))
|
||||
;; (evil-define-key 'normal Buffer-menu-mode-map (kbd "RET") )
|
||||
(evil-define-key 'normal neotree-mode-map (kbd "TAB") 'neotree-enter)
|
||||
(evil-define-key 'normal neotree-mode-map (kbd "SPC") 'neotree-quick-look)
|
||||
(evil-define-key 'normal neotree-mode-map (kbd "q") 'neotree-hide)
|
||||
(evil-define-key 'normal neotree-mode-map (kbd "RET") 'neotree-enter)
|
||||
(evil-define-key 'normal neotree-mode-map (kbd "g") 'neotree-refresh)
|
||||
(evil-define-key 'normal neotree-mode-map (kbd "n") 'neotree-next-line)
|
||||
(evil-define-key 'normal neotree-mode-map (kbd "p") 'neotree-previous-line)
|
||||
(evil-define-key 'normal neotree-mode-map (kbd "A") 'neotree-stretch-toggle)
|
||||
(evil-define-key 'normal neotree-mode-map (kbd "H") 'neotree-hidden-file-toggle))
|
||||
|
||||
(use-package evil-collection
|
||||
:after evil
|
||||
|
@ -168,8 +160,6 @@
|
|||
:config
|
||||
(evil-collection-init))
|
||||
|
||||
(use-package all-the-icons)
|
||||
|
||||
(use-package dashboard
|
||||
:ensure t
|
||||
:config
|
||||
|
@ -178,15 +168,17 @@
|
|||
(use-package doom-themes
|
||||
:ensure t
|
||||
:config
|
||||
(setq doom-themes-enable-bold t
|
||||
doom-themes-enable-italic t)
|
||||
;; Global settings (defaults)
|
||||
(setq doom-themes-enable-bold t ; if nil, bold is universally disabled
|
||||
doom-themes-enable-italic t) ; if nil, italics is universally disabled
|
||||
(load-theme 'doom-monokai-classic t)
|
||||
;; (load-theme 'mazarbul t)
|
||||
;; Enable custom neotree theme (all-the-icons must be installed!)
|
||||
(doom-themes-neotree-config)
|
||||
;; Corrects (and improves) org-mode's native fontification.
|
||||
(doom-themes-org-config))
|
||||
|
||||
(use-package solaire-mode
|
||||
:config
|
||||
(solaire-global-mode +1))
|
||||
(use-package all-the-icons
|
||||
:if (display-graphic-p))
|
||||
|
||||
(use-package treemacs
|
||||
:ensure t
|
||||
|
@ -249,6 +241,10 @@
|
|||
treemacs-width-is-initially-locked t
|
||||
treemacs-workspace-switch-cleanup nil)
|
||||
|
||||
;; The default width and height of the icons is 22 pixels. If you are
|
||||
;; using a Hi-DPI display, uncomment this to double the icon size.
|
||||
;;(treemacs-resize-icons 44)
|
||||
|
||||
(treemacs-follow-mode nil)
|
||||
(treemacs-filewatch-mode t)
|
||||
(treemacs-fringe-indicator-mode 'always)
|
||||
|
@ -289,6 +285,16 @@
|
|||
:after (treemacs magit)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
|
||||
:after (treemacs persp-mode) ;;or perspective vs. persp-mode
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Perspectives))
|
||||
|
||||
(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode
|
||||
:after (treemacs)
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Tabs))
|
||||
|
||||
(use-package centaur-tabs
|
||||
:init
|
||||
(setq centaur-tabs-enable-key-bindings t)
|
||||
|
@ -367,10 +373,23 @@ Other buffer group by `centaur-tabs-get-group-name' with project name."
|
|||
("g t" . centaur-tabs-forward)
|
||||
("g T" . centaur-tabs-backward)))
|
||||
|
||||
(use-package undo-tree
|
||||
:config (global-undo-tree-mode 1)
|
||||
:diminish undo-tree-mode)
|
||||
|
||||
(use-package format-all
|
||||
:hook ((format-all-mode-hook . format-all-ensure-formatter)))
|
||||
|
||||
(use-package rainbow-delimiters
|
||||
:hook ((prog-mode-hook . rainbow-delimiters-mode)))
|
||||
|
||||
(use-package dumb-jump
|
||||
:hook ((xref-backend-functions . dumb-jump-xref-activate)))
|
||||
|
||||
(use-package elfeed
|
||||
:config
|
||||
(global-set-key (kbd "C-x w") 'elfeed)
|
||||
(setq elfeed-feeds
|
||||
(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)
|
||||
|
@ -405,35 +424,115 @@ Other buffer group by `centaur-tabs-get-group-name' with project name."
|
|||
("https://feeds.npr.org/344098539/podcast.xml" podcast))))
|
||||
|
||||
(use-package projectile
|
||||
:config
|
||||
(setq company-minimum-prefix-length 1
|
||||
company-idle-delay 0.0))
|
||||
|
||||
(use-package company
|
||||
:ensure t
|
||||
:config (global-company-mode t))
|
||||
:init
|
||||
(projectile-mode +1)
|
||||
:bind (:map projectile-mode-map
|
||||
("s-p" . projectile-command-map)
|
||||
("C-c p" . projectile-command-map)))
|
||||
|
||||
(use-package ivy
|
||||
:init (ivy-mode 1))
|
||||
|
||||
(use-package which-key
|
||||
(use-package org-modern
|
||||
:config
|
||||
(setq
|
||||
;; Edit settings
|
||||
org-auto-align-tags nil
|
||||
org-tags-column 0
|
||||
org-catch-invisible-edits 'show-and-error
|
||||
org-special-ctrl-a/e t
|
||||
org-insert-heading-respect-content t
|
||||
|
||||
;; Org styling, hide markup etc.
|
||||
org-hide-emphasis-markers t
|
||||
org-pretty-entities t
|
||||
org-ellipsis "…"
|
||||
|
||||
;; Agenda styling
|
||||
org-agenda-tags-column 0
|
||||
org-agenda-block-separator ?─
|
||||
org-agenda-time-grid
|
||||
'((daily today require-timed)
|
||||
(800 1000 1200 1400 1600 1800 2000)
|
||||
" ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄")
|
||||
org-agenda-current-time-string
|
||||
"◀── now ─────────────────────────────────────────────────")
|
||||
:init
|
||||
(add-hook 'org-mode-hook #'org-modern-mode)
|
||||
(add-hook 'org-mode-hook (lambda ()
|
||||
(setq buffer-face-mode-face '(:family "Fira Code" :height 100))
|
||||
(buffer-face-mode)))
|
||||
(add-hook 'org-agenda-finalize-hook #'org-modern-agenda))
|
||||
|
||||
(use-package restclient)
|
||||
(use-package markdown-mode
|
||||
:ensure t
|
||||
:mode ("README\\.md\\'" . gfm-mode)
|
||||
:init (setq markdown-command "multimarkdown"))
|
||||
|
||||
(use-package docker
|
||||
:ensure t
|
||||
:bind ("C-c d" . docker))
|
||||
(use-package docker-compose-mode)
|
||||
|
||||
(use-package web-mode
|
||||
:config
|
||||
(add-to-list 'auto-mode-alist '("\\.jsx?$" . web-mode))
|
||||
(setq web-mode-content-types-alist '(("jsx" . "\\.js[x]?\\'"))))
|
||||
|
||||
(use-package typescript-mode)
|
||||
(use-package tide
|
||||
:ensure t
|
||||
:after (typescript-mode company flycheck)
|
||||
:hook ((typescript-mode . tide-setup)
|
||||
(typescript-mode . tide-hl-identifier-mode)
|
||||
(before-save . tide-format-before-save)))
|
||||
(use-package uxntal-mode)
|
||||
(use-package hy-mode)
|
||||
(use-package lua-mode)
|
||||
(use-package elm-mode)
|
||||
(use-package go-mode)
|
||||
(use-package rust-mode)
|
||||
(use-package cargo)
|
||||
(use-package ccls
|
||||
:ensure t
|
||||
:init (setq ccls-executable "/usr/bin/ccls")
|
||||
:hook ((c-mode c++-mode objc-mode cuda-mode) .
|
||||
(lambda () (require 'ccls) (lsp))))
|
||||
|
||||
(use-package lsp-mode
|
||||
:commands (lsp lsp-deferred)
|
||||
:init
|
||||
(setq lsp-keymap-prefix "C-c l")
|
||||
:hook
|
||||
((go-mode) . lsp)
|
||||
((rust-mode) . lsp))
|
||||
|
||||
(use-package lsp-ui
|
||||
:hook (lsp-mode . lsp-ui-mode)
|
||||
:config
|
||||
(setq lsp-ui-doc-enable t))
|
||||
|
||||
(use-package sly
|
||||
:ensure t
|
||||
:config
|
||||
(which-key-mode))
|
||||
(setq inferior-lisp-program "sbcl"))
|
||||
|
||||
(use-package column-enforce-mode
|
||||
:init
|
||||
(global-column-enforce-mode))
|
||||
(use-package vterm
|
||||
:ensure t)
|
||||
|
||||
(use-package magit
|
||||
:ensure t
|
||||
:bind (
|
||||
("C-x g" . magit-status)))
|
||||
(use-package dash)
|
||||
(use-package column-enforce-mode)
|
||||
(use-package desktop)
|
||||
(use-package magit)
|
||||
(use-package magit-lfs
|
||||
:ensure t
|
||||
:pin melpa)
|
||||
(use-package forge
|
||||
:after magit)
|
||||
(use-package ripgrep)
|
||||
|
||||
(use-package git-gutter
|
||||
:ensure t
|
||||
:init (global-git-gutter-mode t))
|
||||
|
@ -447,103 +546,25 @@ Other buffer group by `centaur-tabs-get-group-name' with project name."
|
|||
:type 'list
|
||||
:version "green")
|
||||
|
||||
;;(global-display-line-numbers-mode)
|
||||
|
||||
(use-package markdown-mode
|
||||
:ensure t
|
||||
:mode ("README\\.md\\'" . gfm-mode)
|
||||
:init (setq markdown-command "multimarkdown"))
|
||||
|
||||
(use-package org-modern
|
||||
:init
|
||||
(global-org-modern-mode))
|
||||
|
||||
(use-package docker
|
||||
:ensure t
|
||||
:bind ("C-c d" . docker))
|
||||
(use-package docker-compose-mode)
|
||||
|
||||
(use-package json-mode
|
||||
:ensure t)
|
||||
|
||||
(use-package web-mode
|
||||
:ensure t
|
||||
:config
|
||||
(setq web-mode-markup-indent-offset 2)
|
||||
(setq web-mode-code-indent-offset 2)
|
||||
(setq web-mode-css-indent-offset 2)
|
||||
:mode (("\\.js\\'" . web-mode)
|
||||
("\\.jsx\\'" . web-mode)
|
||||
("\\.ts\\'" . web-mode)
|
||||
("\\.tsx\\'" . web-mode)
|
||||
("\\.html\\'" . web-mode))
|
||||
:commands web-mode)
|
||||
|
||||
(modify-syntax-entry ?` "\"" js-mode-syntax-table)
|
||||
|
||||
(use-package prettier-js
|
||||
:ensure t)
|
||||
(add-hook 'web-mode-hook #'(lambda ()
|
||||
(enable-minor-mode
|
||||
'("\\.jsx?\\'" . prettier-js-mode))
|
||||
(enable-minor-mode
|
||||
'("\\.tsx?\\'" . prettier-js-mode))))
|
||||
(use-package uxntal-mode)
|
||||
(use-package hy-mode)
|
||||
(use-package lua-mode)
|
||||
(use-package elm-mode)
|
||||
(use-package go-mode)
|
||||
(use-package rust-mode)
|
||||
(use-package cargo)
|
||||
(use-package ccls
|
||||
:hook ((c-mode c++-mode objc-mode cuda-mode) .
|
||||
(lambda () (require 'ccls) (lsp))))
|
||||
|
||||
(use-package lsp-mode
|
||||
:commands (lsp lsp-deferred)
|
||||
:init
|
||||
(setq lsp-keymap-prefix "C-c l")
|
||||
:hook (
|
||||
(elm-mode . lsp-deferred)
|
||||
(go-mode . lsp-deferred)
|
||||
(rust-mode . lsp-deferred)
|
||||
(web-mode . lsp-deferred)
|
||||
(lsp-mode . lsp-enable-which-key-integration)))
|
||||
|
||||
(use-package lsp-ui :commands lsp-ui-mode)
|
||||
(use-package company-lsp :commands company-lsp)
|
||||
(use-package lsp-treemacs :commands lsp-treemacs-errors-list)
|
||||
(use-package verb)
|
||||
|
||||
(use-package sly
|
||||
:ensure t
|
||||
:config
|
||||
(setq inferior-lisp-program "sbcl"))
|
||||
|
||||
(use-package vterm
|
||||
:ensure t)
|
||||
(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)))
|
||||
;(global-column-enforce-mode)
|
||||
(global-display-line-numbers-mode)
|
||||
|
||||
(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.
|
||||
'(custom-safe-themes
|
||||
'("5409f053b500223bdcc4d4214986b4b57a55529b1e4659d6c48049751f1be43b" "f5f80dd6588e59cfc3ce2f11568ff8296717a938edd448a947f9823a4e282b66" "02d422e5b99f54bd4516d4157060b874d14552fe613ea7047c4a5cfa1288cf4f" "8d8207a39e18e2cc95ebddf62f841442d36fcba01a2a9451773d4ed30b632443" "be84a2e5c70f991051d4aaf0f049fa11c172e5d784727e0b525565bb1533ec78" default))
|
||||
'(inhibit-startup-screen t))
|
||||
;; Must be used *after* the theme is loaded
|
||||
'(inhibit-startup-screen t)
|
||||
'(neo-theme 'icons))
|
||||
(custom-set-faces
|
||||
;; electric buffer list
|
||||
`(cm-electric-emacs-buffer-mode-face ((t (:foreground ,(doom-color 'violet)))))
|
||||
`(cm-electric-c-buffer-mode-face ((t (:foreground ,(doom-color 'blue)))))
|
||||
|
||||
`(cm-electric-cm-dir-face ((t (:foreground ,(doom-color 'magenta)))))
|
||||
`(cm-electric-custom-dir-face ((t (:foreground ,(doom-color 'orange)))))
|
||||
`(cm-electric-emacs-face ((t (:inherit cm-electric-custom-dir-face))))
|
||||
`(cm-electric-profile-dir-face ((t (:foreground ,(doom-color 'yellow)))))
|
||||
|
||||
`(cm-electric-buffer-mode-face ((t (:foreground ,(doom-color 'violet)))))
|
||||
`(cm-electric-cet-dir-face ((t (:foreground ,(doom-color 'violet)))))
|
||||
`(cm-electric-root-face ((t (:foreground ,(doom-color 'violet)))))
|
||||
`(cm-electric-fundamental-face ((t (:foreground ,(doom-color 'violet)))))
|
||||
`(cm-electric-rs-file-face ((t (:foreground ,(doom-color 'violet))))))
|
||||
;; 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.
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue