Skip to content
Snippets Groups Projects
Commit 8d92e14e authored by Liu Miao's avatar Liu Miao
Browse files

more modularize

parent 690c7201
No related branches found
No related tags found
No related merge requests found
......@@ -106,10 +106,9 @@
(setq quelpa-checkout-melpa-p nil
quelpa-dir user/quelpa-dir)
(require 'keybindings)
(require 'core-libs)
(require 'editor)
(require 'completion)
(require 'core-libs)
(require 'prog-common)
(require 'prog-c-cpp)
......@@ -119,6 +118,7 @@
(require 'prog-verilog)
(require 'init-org)
(require 'apps)
(require 'keybindings)
;; Configurations after init
(user/config-after-init)
......
......@@ -36,12 +36,7 @@
:custom
(git-gutter:update-interval 2)
:config
(global-git-gutter-mode +1))
:config
(user/set-global-leader-key*
"gs" 'magit-status
"gd" 'magit-diff-range))
(global-git-gutter-mode +1)))
;;; Shell
(quelpa '(aweshell :fetcher github
......@@ -53,9 +48,6 @@
(with-eval-after-load "esh-opt"
(setq eshell-highlight-prompt nil
eshell-prompt-function 'epe-theme-lambda))
(user/set-global-leader-key*
"'" 'aweshell-dedicated-toggle
"ts" 'aweshell-toggle)
:custom
(aweshell-dedicated-window-height 20))
......
......@@ -40,9 +40,7 @@
projectile-vc)
:init
(progn
(setq ;; projectile-indexing-method 'alien
projectile-generic-command "find . -type f"
projectile-ignored-projects '("~/" "/tmp")
(setq projectile-ignored-projects '("~/" "/tmp")
projectile-globally-ignored-files '(".DS_Store" "TAGS")
projectile-kill-buffers-filter 'kill-all)
(setq projectile-mode-line-function
......@@ -67,28 +65,12 @@
;; Per-project compilation buffers
(setq compilation-buffer-name-function #'projectile-compilation-buffer-name
compilation-save-buffers-predicate #'projectile-current-project-buffer-p)
(evil-define-key* nil 'global
(kbd "<leader>pk") 'projectile-kill-buffers
(kbd "<leader>pf") 'projectile-find-file
(kbd "<leader>pb") 'projectile-switch-to-buffer
(kbd "<leader>pp") 'projectile-switch-project)
:diminish projectile-mode)
(use-package ivy
:ensure t
:hook (after-init . ivy-mode)
:init
;; (let ((standard-seaarch-fn #'ivy--regex-plus)
;; (alt-search-fn #'ivy--regex-ignore-order))
;; (setq ivy-more-chars-alist
;; `((counsel-rg . 1)
;; (counsel-search . 2)
;; (t . 3)))
;; (setq ivy-re-builders-alist
;; `((counsel-rg . ,standard-seaarch-fn)
;; (swiper . ,standard-seaarch-fn)
;; (swiper-isearch . ,standard-seaarch-fn))))
:config
(setq ivy-sort-max-size 7500)
......@@ -107,24 +89,44 @@
(define-key map (kbd "C-j") 'ivy-next-line)
(define-key map (kbd "C-k") 'ivy-previous-line))
;; Occur
(evil-set-initial-state 'ivy-occur-grep-mode 'normal)
(evil-make-overriding-map ivy-occur-mode-map 'normal)
(evil-define-key* nil 'global
(kbd "<leader>sp") 'user/counsel-search-project
(kbd "<leader>sd") 'user/counsel-search-dir
(kbd "<leader>bb") 'ivy-switch-buffer)
(defun user/counsel-search-rg (&optional use-initial-input initial-directory)
"Searching with rg in Emacs.
If INITIAL-DIRECTORY is non nil start in that directory."
(interactive)
(require 'counsel)
(let* ((initial-input (if use-initial-input
(if (region-active-p)
(buffer-substring-no-properties
(region-beginning) (region-end))
(thing-at-point 'symbol t))
""))
(default-directory
(or initial-directory (read-directory-name "Start from directory: "))))
(counsel-rg initial-input default-directory nil "rg: ")))
(defun user/counsel-search-project()
"Seraching project with rg."
(interactive)
(user/counsel-search-rg nil (projectile-project-root)))
(defun user/counsel-search-project-at-point ()
"Seraching project with rg."
(interactive)
(user/counsel-search-rg (current-word t nil) (projectile-project-root)))
(defun user/counsel-search-dir ()
"Searching directory with rg."
(interactive)
(user/counsel-search-rg nil default-directory))
(defun user/counsel-search-dir-at-point ()
"Searching directory with rg."
(interactive)
(user/counsel-search-rg (current-word t nil) default-directory))
(use-package swiper
:ensure t
:config
(evil-define-key* nil 'global
(kbd "<leader>ss") 'swiper
(kbd "<leader>sS") 'swiper-thing-at-point
(kbd "<leader>sb") 'swiper-all
(kbd "<leader>sB") 'swiper-all-thing-at-point)
(global-set-key "\C-s" 'swiper)))
(use-package ivy-avy
......
......@@ -18,40 +18,5 @@
(interactive)
(find-file user/userconfig-file))
(defun user/counsel-search-rg (&optional use-initial-input initial-directory)
"Searching with rg in Emacs.
If INITIAL-DIRECTORY is non nil start in that directory."
(interactive)
(require 'counsel)
(let* ((initial-input (if use-initial-input
(if (region-active-p)
(buffer-substring-no-properties
(region-beginning) (region-end))
(thing-at-point 'symbol t))
""))
(default-directory
(or initial-directory (read-directory-name "Start from directory: "))))
(counsel-rg initial-input default-directory nil "rg: ")))
(defun user/counsel-search-project()
"Seraching project with rg."
(interactive)
(user/counsel-search-rg nil (projectile-project-root)))
(defun user/counsel-search-project-at-point ()
"Seraching project with rg."
(interactive)
(user/counsel-search-rg t (projectile-project-root)))
(defun user/counsel-search-dir ()
"Searching directory with rg."
(interactive)
(user/counsel-search-rg nil default-directory))
(defun user/counsel-search-dir-at-point ()
"Searching directory with rg."
(interactive)
(user/counsel-search-rg t default-directory))
(provide 'core-libs)
;;; core-libs.el ends here
......@@ -117,9 +117,7 @@
recentf-max-saved-items 1000
recentf-auto-cleanup 'never)
(recentf-mode 1)
:config
(user/set-global-leader-key "fr" 'recentf-open-files))
(recentf-mode 1))
(use-package display-line-numbers
:hook
......@@ -159,9 +157,7 @@
:hook (after-init . global-auto-revert-mode))
(use-package imenu
:defer t
:config
(user/set-global-leader-key "si" 'imenu))
:defer t)
(when (>= emacs-major-version 27)
(use-package display-fill-column-indicator
......@@ -276,8 +272,15 @@
writeroom-set-menu-bar-lines
writeroom-set-tool-bar-lines
writeroom-set-vertical-scroll-bars
writeroom-set-bottom-divider-width))
(user/set-global-leader-key "wc" 'writeroom-mode))
writeroom-set-bottom-divider-width)))
;;; General - for keybindings
(use-package general
:ensure t
:init
(defalias 'define-key! #'general-def)
(defalias 'undefine-key! #'general-unbind))
(provide 'editor)
;;; editor.el ends here
......@@ -70,91 +70,7 @@
("haskell" ,user/org-src-block-face)))
(with-eval-after-load 'org-agenda
(add-to-list 'org-modules 'org-habit))
(evil-define-key 'normal org-mode-map (kbd "RET") 'org-open-at-point)
(user/set-leader-key* 'normal org-mode-map
;; basic
"oc" 'org-capture
"Cc" 'org-clock-cancel
"Cd" 'org-clock-display
"Ci" 'org-clock-in
"dd" 'org-deadline
"ds" 'org-schedule
"dt" 'org-time-stamp
"dT" 'org-time-stamp-inactive
"ee" 'org-export-dispatch
;; roam
"mia" 'org-id-get-create
;; Subtree
"msa" 'org-toggle-archive-tag
"msA" 'org-archive-subtree-default
"msd" 'org-cut-subtree
"msj" 'org-move-subtree-down
"msk" 'org-move-subtree-up
"msn" 'org-narrow-to-subtree
"msw" 'widen
"msr" 'org-refile
"mss" 'org-sparse-tree
;; Table
"mta" 'org-table-align
"mtb" 'org-table-blank-field
"mtc" 'org-table-convert
"mtdc" 'org-table-delete-column
"mtdr" 'org-table-kill-row
"mte" 'org-table-eval-formula
"mtE" 'org-table-export
"mtf" 'org-table-field-info
"mth" 'org-table-previous-field
"mtH" 'org-table-move-column-left
"mtic" 'org-table-insert-column
"mtih" 'org-table-insert-hline
"mtiH" 'org-table-hline-and-move
"mtir" 'org-table-insert-row
"mtI" 'org-table-import
"mtj" 'org-table-next-row
"mtJ" 'org-table-move-row-down
"mtK" 'org-table-move-row-up
"mtl" 'org-table-next-field
"mtL" 'org-table-move-column-right
"mtn" 'org-table-create
"mtN" 'org-table-create-with-table.el
"mtr" 'org-table-recalculate
"mtR" 'org-table-recalculate-buffer-tables
"mts" 'org-table-sort-lines
"mttf" 'org-table-toggle-formula-debugger
"mtto" 'org-table-toggle-coordinate-overlays
"tmw" 'org-table-wrap-region
;; Source blocks
"mbp" 'org-babel-previous-src-block
"mbn" 'org-babel-next-src-block
"mbe" 'org-babel-execute-maybe
"mbo" 'org-babel-open-src-block-result
"mbv" 'org-babel-expand-src-block
"mbu" 'org-babel-goto-src-block-head
"mbg" 'org-babel-goto-named-src-block
"mbr" 'org-babel-goto-named-result
"mbb" 'org-babel-execute-buffer
"mbs" 'org-babel-execute-subtree
"mbd" 'org-babel-demarcate-block
"mbt" 'org-babel-tangle
"mbf" 'org-babel-tangle-file
"mbc" 'org-babel-check-src-block
"mbj" 'org-babel-insert-header-arg
"mbl" 'org-babel-load-in-session
"mbi" 'org-babel-lob-ingest
"mbI" 'org-babel-view-src-block-info
"mbz" 'org-babel-switch-to-session
"mbZ" 'org-babel-switch-to-session-with-code
"mba" 'org-babel-sha1-hash
"mbx" 'org-babel-do-key-sequence-in-edit-buffer
))
(add-to-list 'org-modules 'org-habit)))
(use-package ob
:init
......@@ -190,16 +106,7 @@
org-roam-tag-delete)
:config
(add-to-list 'user/roam-templates roam/default-capture)
(setq org-roam-capture-templates user/roam-templates)
(user/set-leader-key* nil org-mode-map
"mrg" 'org-roam-graph
"mri" 'org-roam-node-insert
"mrf" 'org-roam-node-find
"mrta" 'org-roam-tag-add
"mrtd" 'org-roam-tag-remove)
(user/set-global-leader-key*
"nrf" 'org-roam-node-find))
(setq org-roam-capture-templates user/roam-templates))
(use-package org-journal
:if user/enable-org
......
......@@ -24,7 +24,8 @@
(evil-mode 1)
(evil-set-undo-system 'undo-tree)
(evil-set-leader '(normal motion visual) (kbd "SPC"))
(evil-set-leader '(insert replace emacs) (kbd "M-m")))
(evil-set-leader '(insert replace emacs) (kbd "M-m"))
(evil-set-initial-state 'ivy-occur-grep-mode 'normal))
(use-package evil-collection
:after evil
......@@ -57,13 +58,6 @@
op (pop key-ops))))
(put 'user/set-global-leader-key* 'lisp-indent-function 'defun)
;;; General - for keybindings
(use-package general
:ensure t
:init
(defalias 'define-key! #'general-def)
(defalias 'undefine-key! #'general-unbind))
;;; Define key
(user/set-global-leader-key*
;; windows jump
......@@ -71,6 +65,7 @@
"wl" 'evil-window-right
"wj" 'evil-window-down
"wk" 'evil-window-up
"wc" 'writeroom-mode
;; window split
"wv" 'evil-window-vsplit
"w-" 'evil-window-split
......@@ -83,11 +78,144 @@
"ff" 'find-file
"fs" 'save-buffer
"fS" 'evil-write-all
"fr" 'recentf-open-files
;; Buffers
"bb" 'ivy-switch-buffer
"bd" 'kill-this-buffer
"bn" 'next-buffer
"bp" 'previous-buffer
"bx" 'kill-buffer-and-window)
"bx" 'kill-buffer-and-window
;; Projects
"pk" 'projectile-kill-buffers
"pf" 'projectile-find-file
"pb" 'projectile-switch-to-buffer
"pp" 'projectile-switch-project
;; Searching
"si" 'imenu
"sp" 'user/counsel-search-project
"sP" 'user/counsel-search-project-at-point
"sd" 'user/counsel-search-dir
"sD" 'user/counsel-search-dir-at-point
"ss" 'swiper
"sS" 'swiper-thing-at-point
"sb" 'swiper-all
"sB" 'swiper-all-thing-at-point)
;; Flycheck
"en" 'flycheck-next-error
"ep" 'flycheck-previous-error
"eb" 'flycheck-buffer
"ec" 'flycheck-clear
"eh" 'flycheck-describe-checker
"es" 'flycheck-select-checker
"ex" 'flycheck-explain-error-at-point
;; Magit
"gs" 'magit-status
"gd" 'magit-diff-range
;; Aweshell
"'" 'aweshell-dedicated-toggle
"ts" 'aweshell-toggle
;; Notes
"nrf" 'org-roam-node-find)
(user/set-leader-key* nil lsp-mode-map
;; format
"=b" #'lsp-format-buffer
"=r" #'lsp-format-region
"=o" #'lsp-organize-imports
;; code
"cr" #'lsp-rename)
(when user/enable-org
(user/set-leader-key* 'normal org-mode-map
;; basic
"RET" 'org-open-at-point
"oc" 'org-capture
"Cc" 'org-clock-cancel
"Cd" 'org-clock-display
"Ci" 'org-clock-in
"dd" 'org-deadline
"ds" 'org-schedule
"dt" 'org-time-stamp
"dT" 'org-time-stamp-inactive
"ee" 'org-export-dispatch
;; roam
"mia" 'org-id-get-create
;; Subtree
"msa" 'org-toggle-archive-tag
"msA" 'org-archive-subtree-default
"msd" 'org-cut-subtree
"msj" 'org-move-subtree-down
"msk" 'org-move-subtree-up
"msn" 'org-narrow-to-subtree
"msw" 'widen
"msr" 'org-refile
"mss" 'org-sparse-tree
;; Table
"mta" 'org-table-align
"mtb" 'org-table-blank-field
"mtc" 'org-table-convert
"mtdc" 'org-table-delete-column
"mtdr" 'org-table-kill-row
"mte" 'org-table-eval-formula
"mtE" 'org-table-export
"mtf" 'org-table-field-info
"mth" 'org-table-previous-field
"mtH" 'org-table-move-column-left
"mtic" 'org-table-insert-column
"mtih" 'org-table-insert-hline
"mtiH" 'org-table-hline-and-move
"mtir" 'org-table-insert-row
"mtI" 'org-table-import
"mtj" 'org-table-next-row
"mtJ" 'org-table-move-row-down
"mtK" 'org-table-move-row-up
"mtl" 'org-table-next-field
"mtL" 'org-table-move-column-right
"mtn" 'org-table-create
"mtN" 'org-table-create-with-table.el
"mtr" 'org-table-recalculate
"mtR" 'org-table-recalculate-buffer-tables
"mts" 'org-table-sort-lines
"mttf" 'org-table-toggle-formula-debugger
"mtto" 'org-table-toggle-coordinate-overlays
"tmw" 'org-table-wrap-region
;; Source blocks
"mbp" 'org-babel-previous-src-block
"mbn" 'org-babel-next-src-block
"mbe" 'org-babel-execute-maybe
"mbo" 'org-babel-open-src-block-result
"mbv" 'org-babel-expand-src-block
"mbu" 'org-babel-goto-src-block-head
"mbg" 'org-babel-goto-named-src-block
"mbr" 'org-babel-goto-named-result
"mbb" 'org-babel-execute-buffer
"mbs" 'org-babel-execute-subtree
"mbd" 'org-babel-demarcate-block
"mbt" 'org-babel-tangle
"mbf" 'org-babel-tangle-file
"mbc" 'org-babel-check-src-block
"mbj" 'org-babel-insert-header-arg
"mbl" 'org-babel-load-in-session
"mbi" 'org-babel-lob-ingest
"mbI" 'org-babel-view-src-block-info
"mbz" 'org-babel-switch-to-session
"mbZ" 'org-babel-switch-to-session-with-code
"mba" 'org-babel-sha1-hash
"mbx" 'org-babel-do-key-sequence-in-edit-buffer
))
(when (and user/enable-org-roam user/enable-org)
(user/set-leader-key* nil org-mode-map
"mrg" 'org-roam-graph
"mri" 'org-roam-node-insert
"mrf" 'org-roam-node-find
"mrta" 'org-roam-tag-add
"mrtd" 'org-roam-tag-remove))
(provide 'keybindings)
;;; keybindings.el ends here
......@@ -44,13 +44,6 @@
:noselect t)
popwin:special-display-config)
(user/set-leader-key* nil lsp-mode-map
;; format
"=b" #'lsp-format-buffer
"=r" #'lsp-format-region
"=o" #'lsp-organize-imports
;; code
"cr" #'lsp-rename)
:commands (lsp-install-server))
(use-package lsp-ui
......@@ -149,15 +142,7 @@
:stick t
:noselect t)
popwin:special-display-config)
:config
(user/set-global-leader-key*
"en" 'flycheck-next-error
"ep" 'flycheck-previous-error
"eb" 'flycheck-buffer
"ec" 'flycheck-clear
"eh" 'flycheck-describe-checker
"es" 'flycheck-select-checker
"ex" 'flycheck-explain-error-at-point))
:config)
(provide 'prog-common)
;;; prog-common.el ends here
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment