mirror of
http://github.com/JaeUs3792/dotfiles
synced 2025-12-13 23:51:34 +09:00
Compare commits
27 Commits
054cea8511
...
84fce00146
| Author | SHA1 | Date | |
|---|---|---|---|
| 84fce00146 | |||
| d3fcca3431 | |||
| 30107eeb1e | |||
| 8e2da70b04 | |||
| 4388b5cad5 | |||
| fa34474524 | |||
| 16d23ca7da | |||
| a8e4e2a394 | |||
| 08caaa6042 | |||
| 45bdf5fa0d | |||
| 1d9e083f7b | |||
| e3541521dc | |||
| 3306707949 | |||
| 95d8784764 | |||
| 518bc79126 | |||
| a646bebbb5 | |||
| e3b0754b0c | |||
| b1c8ba0421 | |||
| fff61a9139 | |||
| d6e04936a9 | |||
| 33254b574b | |||
| f4d5ef8531 | |||
| 0cf7cd2b9e | |||
| fc0559a4fc | |||
| 6cf734fc13 | |||
| c590f95ce4 | |||
| 7a2834b617 |
5
.config/Code/User/extensions.txt
Normal file
5
.config/Code/User/extensions.txt
Normal file
@ -0,0 +1,5 @@
|
||||
github.copilot
|
||||
github.copilot-chat
|
||||
mshr-h.veriloghdl
|
||||
nonylene.dark-molokai-theme
|
||||
vscodevim.vim
|
||||
3
.config/Code/User/keybindings.json
Normal file
3
.config/Code/User/keybindings.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
|
||||
}
|
||||
3
.config/Code/User/settings.json
Normal file
3
.config/Code/User/settings.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"workbench.colorTheme": "Dark (Molokai)"
|
||||
}
|
||||
@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source ~/.profile
|
||||
|
||||
if [[ $JUPCID == "HOME-DESKTOP" ]]; then
|
||||
xrandr --output DP-4 --primary --mode 2560x1440 --rotate normal --output HDMI-0 --rotate right --right-of DP-4
|
||||
elif [[ $JUPCID == "HWDEV" ]]; then
|
||||
|
||||
1
.config/emacs/.gitignore
vendored
1
.config/emacs/.gitignore
vendored
@ -1,5 +1,6 @@
|
||||
*
|
||||
*/
|
||||
!readme.org
|
||||
!early-init.el
|
||||
!init.el
|
||||
!custom-default.el
|
||||
|
||||
@ -24,11 +24,11 @@
|
||||
(push '(ns-transparent-titlebar . t) default-frame-alist))
|
||||
(setq-default mode-line-format nil)
|
||||
|
||||
;;(setq inhibit-startup-message nil)
|
||||
;;(setq inhibit-startup-message nil) ; TODO check.
|
||||
|
||||
;; initial load with blue theme
|
||||
;(load-theme 'deeper-blue)
|
||||
|
||||
;;(customize-set-variable 'initial-major-mode 'fundamental-mode)
|
||||
(setq package-enable-at-startup nil)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; early-init.el ends here
|
||||
|
||||
@ -73,30 +73,26 @@ Otherwise the startup will be very slow. "
|
||||
(require 'init-highlight)
|
||||
(require 'init-ibuffer)
|
||||
(require 'init-persp)
|
||||
(require 'init-window)
|
||||
;; (require 'init-window) ;; will be removed
|
||||
(require 'init-treemacs)
|
||||
|
||||
;; shell
|
||||
(require 'init-eshell)
|
||||
|
||||
;; markdown
|
||||
;;;; markdown
|
||||
(require 'init-markdown)
|
||||
(require 'init-org)
|
||||
(require 'init-reader)
|
||||
|
||||
;;
|
||||
(require 'init-dict)
|
||||
|
||||
;; docker
|
||||
(when ON-LINUX
|
||||
(require 'init-docker))
|
||||
(require 'init-docker))
|
||||
;; utils
|
||||
(require 'init-utils)
|
||||
|
||||
;; Programming
|
||||
(require 'init-vcs)
|
||||
(require 'init-flycheck)
|
||||
(require 'init-eglot)
|
||||
(require 'init-ctags)
|
||||
(require 'init-prog)
|
||||
|
||||
@ -105,7 +101,6 @@ Otherwise the startup will be very slow. "
|
||||
(require 'init-rust)
|
||||
(require 'init-python)
|
||||
(require 'init-ruby)
|
||||
(require 'init-shell)
|
||||
|
||||
(require 'init-latex)
|
||||
(require 'init-verilog)
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
;; init-base.el -*- lexical-binding: t -*-
|
||||
|
||||
(require 'init-const)
|
||||
(require 'init-funcs)
|
||||
|
||||
@ -10,6 +9,8 @@
|
||||
|
||||
;;
|
||||
(use-package gcmh
|
||||
:straight t
|
||||
:ensure t
|
||||
:diminish
|
||||
:hook
|
||||
(emacs-startup . gcmh-mode)
|
||||
@ -28,15 +29,20 @@
|
||||
(set-selection-coding-system 'utf-8))
|
||||
(when ON-LINUX
|
||||
(use-package exec-path-from-shell
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:init (exec-path-from-shell-initialize)))
|
||||
|
||||
;; open file point at where last saved place.
|
||||
(use-package saveplace
|
||||
:ensure nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook (after-init . save-place-mode))
|
||||
|
||||
(use-package recentf
|
||||
:ensure nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:bind
|
||||
(("C-x C-r" . recentf-open-files))
|
||||
:hook
|
||||
@ -54,7 +60,8 @@
|
||||
(add-to-list 'recentf-filename-handlers #'abbreviate-file-name))
|
||||
|
||||
(use-package savehist
|
||||
:ensure nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook
|
||||
(after-init . savehist-mode)
|
||||
:init
|
||||
@ -68,7 +75,7 @@
|
||||
savehist-autosave-interval 300))
|
||||
|
||||
(use-package simple
|
||||
:ensure nil
|
||||
:ensure nil ; emacs base package
|
||||
:hook ((after-init . size-indication-mode)
|
||||
(text-mode . visual-line-mode)
|
||||
((prog-mode markdown-mode conf-mode) . enable-trailing-whitespace))
|
||||
@ -110,7 +117,7 @@
|
||||
(concat
|
||||
" "
|
||||
(nerd-icons-faicon "nf-fa-bolt" :face 'nerd-icons-lblue))
|
||||
;;(all-the-icons-faicon "nf-fa-bolt" :face 'all-the-icons-lblue))
|
||||
;;(all-the-icons-faicon "nf-fa-bolt" :face 'all-the-icons-lblue))
|
||||
" x"))
|
||||
(name (aref val 0))
|
||||
(pid (aref val 1))
|
||||
@ -150,11 +157,6 @@
|
||||
sentence-end-double-space nil
|
||||
word-wrap-by-category t)
|
||||
|
||||
;; use for org-roam?
|
||||
(when (fboundp 'sqlite-open)
|
||||
(use-package emacsql-sqlite-builtin))
|
||||
|
||||
|
||||
(provide 'init-base)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; init-base.el ends here
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
;;; init-bookmark.el -*- lexical-binding: t -*-
|
||||
;; Bookmark
|
||||
(use-package bookmark
|
||||
:ensure nil
|
||||
:ensure nil ; emacs built-in
|
||||
:config
|
||||
(with-no-warnings
|
||||
;; Display icons for bookmarks
|
||||
|
||||
@ -39,9 +39,9 @@
|
||||
("<f12>" . compile))
|
||||
:init (setq-default c-basic-offset 4))
|
||||
|
||||
(use-package c-ts-mode
|
||||
:ensure nil
|
||||
:init (setq c-ts-mode-indent-offset 4))
|
||||
;; (use-package c-ts-mode
|
||||
;; :ensure nil
|
||||
;; :init (setq c-ts-mode-indent-offset 4))
|
||||
|
||||
(provide 'init-c)
|
||||
|
||||
|
||||
@ -1,8 +1,14 @@
|
||||
;; init-chatgpt.el -*- lexical-binding: t -*-
|
||||
(use-package chatgpt-shell
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:config
|
||||
(setq chatgpt-shell-openai-key custom-chatgpt-my-key))
|
||||
(use-package dall-e-shell
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:config
|
||||
(setq dall-e-shell-openai-key custom-chatgpt-my-key))
|
||||
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
;; init-copilot.el -*- lexical-binding: t -*-
|
||||
(add-to-list 'load-path "~/.config/emacs/copilot.el")
|
||||
(require 'copilot)
|
||||
|
||||
(add-hook 'prog-mode-hook 'copilot-mode)
|
||||
(use-package copilot
|
||||
:straight (:host github :repo "copilot-emacs/copilot.el" :files ("*.el"))
|
||||
:ensure t)
|
||||
;; :hook (prog-mode . copilot-mode))
|
||||
|
||||
(provide 'init-copilot)
|
||||
;;; init-copilot.el ends here
|
||||
|
||||
@ -5,6 +5,9 @@
|
||||
;; Ctags IDE on the True Editor
|
||||
;; @see https://github.com/universal-ctags/citre#quick-start
|
||||
(use-package citre
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:commands citre-jump-back
|
||||
:functions xref-go-back
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
(require 'init-funcs)
|
||||
|
||||
(use-package dashboard
|
||||
:straight t
|
||||
:ensure t
|
||||
:diminish dashboard-mode
|
||||
:functions (nerd-icons-faicon
|
||||
nerd-icons-mdicon
|
||||
|
||||
@ -28,6 +28,9 @@
|
||||
;; (dap-auto-configure-mode +1)))
|
||||
|
||||
(use-package dap-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:config
|
||||
;; Enabling only some features
|
||||
(setq dap-auto-configure-features '(sessions locals controls tooltip))
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
;;; init-dict.el -*- lexical-binding: t -*-
|
||||
(require 'init-const)
|
||||
(use-package go-translate
|
||||
:init (setq gts-translate-list '(("en" "ko") ("ko" "en")))
|
||||
:config
|
||||
;; config the default translator, it will be used by command gts-do-translate
|
||||
(setq gts-default-translator
|
||||
(gts-translator
|
||||
:picker ; used to pick source text, from, to. choose one.
|
||||
|
||||
;;(gts-noprompt-picker)
|
||||
;;(gts-noprompt-picker :texter (gts-whole-buffer-texter))
|
||||
(gts-prompt-picker)
|
||||
;;(gts-prompt-picker :single t)
|
||||
;;(gts-prompt-picker :texter (gts-current-or-selection-texter) :single t)
|
||||
|
||||
:engines ; engines, one or more. Provide a parser to give different output.
|
||||
|
||||
(list
|
||||
(gts-bing-engine)
|
||||
(gts-google-engine)
|
||||
;;(gts-google-rpc-engine)
|
||||
;;(gts-deepl-engine :auth-key [YOUR_AUTH_KEY] :pro nil)
|
||||
;;(gts-google-engine :parser (gts-google-summary-parser))
|
||||
;;(gts-google-engine :parser (gts-google-parser))
|
||||
;;(gts-google-rpc-engine :parser (gts-google-rpc-summary-parser) :url "https://translate.google.com")
|
||||
;;(gts-google-rpc-engine :parser (gts-google-rpc-parser) :url "https://translate.google.com")
|
||||
)
|
||||
|
||||
:render ; render, only one, used to consumer the output result. Install posframe yourself when use gts-posframe-xxx
|
||||
|
||||
(gts-buffer-render)
|
||||
;;(gts-posframe-pop-render)
|
||||
;;(gts-posframe-pop-render :backcolor "#333333" :forecolor "#ffffff")
|
||||
;;(gts-posframe-pin-render)
|
||||
;;(gts-posframe-pin-render :position (cons 1200 20))
|
||||
;;(gts-posframe-pin-render :width 80 :height 25 :position (cons 1000 20) :forecolor "#ffffff" :backcolor "#111111")
|
||||
;;(gts-kill-ring-render)
|
||||
|
||||
:splitter ; optional, used to split text into several parts, and the translation result will be a list.
|
||||
|
||||
(gts-paragraph-splitter))))
|
||||
|
||||
(provide 'init-dict)
|
||||
;;; init-dict.el ends here
|
||||
@ -4,10 +4,13 @@
|
||||
|
||||
;; Directory operations
|
||||
(use-package dired
|
||||
:ensure nil
|
||||
:ensure nil ; built-in
|
||||
:hook (dired-mode . dired-omit-mode)
|
||||
:general
|
||||
(:keymaps 'dired-mode-map
|
||||
"C-c C-p" 'wdired-change-to-wdired-mode)
|
||||
"C-c C-p" 'wdired-change-to-wdired-mode
|
||||
"C-c C-r" 'dired-rsync)
|
||||
:custom (dired-omit-files (rx (seq bol ".")))
|
||||
:config
|
||||
;; Guess a default target directory
|
||||
(setq dired-dwim-target t)
|
||||
@ -18,54 +21,72 @@
|
||||
|
||||
;; Show directory first
|
||||
(setq dired-listing-switches "-alh --group-directories-first")
|
||||
|
||||
;; Quick sort dired buffers via hydra
|
||||
(use-package dired-quick-sort
|
||||
:hook (after-init . dired-quick-sort-setup)
|
||||
:init
|
||||
(setq dired-quick-sort-suppress-setup-warning t)
|
||||
:config
|
||||
(if (executable-find "fd")
|
||||
(evil-collection-define-key 'normal 'dired-mode-map
|
||||
"f" 'fd-dired)
|
||||
(evil-collection-define-key 'normal 'dired-mode-map
|
||||
"s" 'hydra-dired-quick-sort/body))
|
||||
|
||||
;; Show git info in dired
|
||||
(use-package dired-git-info)
|
||||
|
||||
;; Allow rsync from dired buffers
|
||||
(use-package dired-rsync
|
||||
:bind (:map dired-mode-map
|
||||
("C-c C-r" . dired-rsync)))
|
||||
|
||||
;; Colorful dired
|
||||
(use-package diredfl
|
||||
:hook (dired-mode . diredfl-mode))
|
||||
|
||||
;; Shows icons
|
||||
(use-package nerd-icons-dired
|
||||
:diminish
|
||||
:commands nerd-icons-dired-mode
|
||||
:custom-face
|
||||
(nerd-icons-dired-dir-face ((t (:inherit nerd-icons-dsilver :foreground unspecified))))
|
||||
:hook (dired-mode . nerd-icons-dired-mode))
|
||||
|
||||
;; Extra Dired functionality
|
||||
(use-package dired-aux :ensure nil)
|
||||
|
||||
(use-package dired-single
|
||||
:commands (dired dired-jump))
|
||||
(use-package dired-hide-dotfiles
|
||||
:hook (dired-mode) ;; hide default when dired-mode enabled.
|
||||
:config
|
||||
(evil-collection-define-key 'normal 'dired-mode-map
|
||||
"H" 'dired-hide-dotfiles-mode))
|
||||
"f" 'find-dired))
|
||||
(evil-collection-define-key 'normal 'dired-mode-map
|
||||
"." 'dired-omit-mode
|
||||
"h" 'dired-single-up-directory
|
||||
"l" 'dired-single-buffer
|
||||
")" 'dired-git-info-mode))
|
||||
")" 'dired-git-info-mode
|
||||
"s" 'hydra-dired-quick-sort/body))
|
||||
|
||||
;; Quick sort dired buffers via hydra
|
||||
(use-package dired-quick-sort
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (after-init . dired-quick-sort-setup)
|
||||
:init
|
||||
(setq dired-quick-sort-suppress-setup-warning t))
|
||||
|
||||
;; Show git info in dired
|
||||
(use-package dired-git-info
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
;; Allow rsync from dired buffers
|
||||
(use-package dired-rsync
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
;; Colorful dired
|
||||
(use-package diredfl
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook (dired-mode . diredfl-mode))
|
||||
|
||||
;; Shows icons
|
||||
(use-package nerd-icons-dired
|
||||
:straight t
|
||||
:ensure t
|
||||
:diminish
|
||||
:commands nerd-icons-dired-mode
|
||||
:custom-face
|
||||
(nerd-icons-dired-dir-face ((t (:inherit nerd-icons-dsilver :foreground unspecified))))
|
||||
:hook (dired-mode . nerd-icons-dired-mode))
|
||||
|
||||
;; Extra Dired functionality
|
||||
(use-package dired-aux ; built-in package
|
||||
:ensure nil)
|
||||
|
||||
(use-package dired-single
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:commands (dired dired-jump))
|
||||
|
||||
|
||||
;; `find-dired' alternative using `fd'
|
||||
(when (executable-find "fd")
|
||||
(use-package fd-dired))
|
||||
(use-package fd-dired
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t))
|
||||
|
||||
(provide 'init-dired)
|
||||
;;; init-dired.el ends here
|
||||
|
||||
@ -1,11 +1,17 @@
|
||||
;;; init-docker.el -*- lexical-binding: t -*-
|
||||
;; Docker
|
||||
(use-package docker
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:defines docker-image-run-arguments
|
||||
:init (setq docker-image-run-arguments '("-i" "-t" "--rm")
|
||||
docker-container-shell-file-name "/bin/bash"))
|
||||
;;(use-package docker-tramp)
|
||||
(use-package dockerfile-mode)
|
||||
|
||||
(use-package dockerfile-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(provide 'init-docker)
|
||||
;;; init-docker.el ends here
|
||||
|
||||
@ -3,10 +3,14 @@
|
||||
(require 'init-funcs)
|
||||
|
||||
(use-package autorevert
|
||||
:ensure nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:diminish
|
||||
:hook (after-init . global-auto-revert-mode))
|
||||
(use-package avy
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (after-init . avy-setup-default)
|
||||
:config
|
||||
(setq avy-style 'de-bruijn
|
||||
@ -15,6 +19,8 @@
|
||||
avy-background t))
|
||||
;; Show number of matches in mode-line while searching
|
||||
(use-package anzu
|
||||
:straight t
|
||||
:ensure t
|
||||
:diminish
|
||||
;;:bind (([remap query-replace] . anzu-query-replace)
|
||||
;; ([remap query-replace-regexp] . anzu-query-replace-regexp)
|
||||
@ -22,10 +28,10 @@
|
||||
;; ([remap isearch-query-replace] . anzu-isearch-query-replace)
|
||||
;; ([remap isearch-query-replace-regexp] . anzu-isearch-query-replace-regexp))
|
||||
:hook (after-init . global-anzu-mode))
|
||||
(use-package ialign)
|
||||
|
||||
|
||||
(use-package undo-tree
|
||||
:straight t
|
||||
:ensure t
|
||||
:diminish
|
||||
:hook (after-init . global-undo-tree-mode)
|
||||
:custom
|
||||
@ -42,11 +48,12 @@
|
||||
undo-outer-limit (* 128 1024 1024)))
|
||||
|
||||
(use-package hideshow
|
||||
:ensure nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:diminish hs-minor-mode
|
||||
:pretty-hydra
|
||||
((:title (pretty-hydra-title "HideShow" 'octicon "nf-oct-fold")
|
||||
:color amaranth :quit-key ("q" "C-g"))
|
||||
:color amaranth :quit-key ("q" "C-g"))
|
||||
("Fold"
|
||||
(("t" hs-toggle-all "toggle all")
|
||||
("a" hs-show-all "show all")
|
||||
@ -112,6 +119,8 @@
|
||||
|
||||
;; Hanlde minified code
|
||||
(use-package so-long
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook (after-init . global-so-long-mode))
|
||||
|
||||
(provide 'init-edit)
|
||||
|
||||
@ -1,13 +0,0 @@
|
||||
;;; init-eglot.el -*- lexical-binding: t -*-
|
||||
;;(use-package eglot
|
||||
;; :hook
|
||||
;; ((prog-mode . (lambda ()
|
||||
;; (unless (derived-mode-p
|
||||
;; 'emacs-lisp-mode
|
||||
;; 'lisp-mode
|
||||
;; 'makefile-mode
|
||||
;; 'snippet-mode)
|
||||
;; (eglot-ensure))))
|
||||
;; ((markdown-mode yaml-mode yaml-ts-mode) . eglot-ensure)))
|
||||
(provide 'init-eglot)
|
||||
;;; init-eglot.el ends here
|
||||
@ -18,9 +18,6 @@
|
||||
(when (boundp 'elisp-flymake-byte-compile-load-path)
|
||||
(add-to-list 'elisp-flymake-byte-compile-load-path load-path))
|
||||
|
||||
;; Syntax highlighting of known Elisp symbols
|
||||
(use-package highlight-defined
|
||||
:hook ((emacs-lisp-mode inferior-emacs-lisp-mode) . highlight-defined-mode))
|
||||
|
||||
(with-no-warnings
|
||||
;; Align indent keywords
|
||||
@ -183,6 +180,13 @@ Lisp function does not specify a special indentation."
|
||||
(revert-buffer nil t)))))))
|
||||
(bind-key "r" #'remove-hook-at-point help-mode-map)))
|
||||
|
||||
;; Syntax highlighting of known Elisp symbols
|
||||
(use-package highlight-defined
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook ((emacs-lisp-mode inferior-emacs-lisp-mode) . highlight-defined-mode))
|
||||
|
||||
;; Show function arglist or variable docstring
|
||||
;; `global-eldoc-mode' is enabled by default.
|
||||
(use-package eldoc
|
||||
@ -191,6 +195,9 @@ Lisp function does not specify a special indentation."
|
||||
|
||||
;; A better *Help* buffer
|
||||
(use-package helpful
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:bind (([remap describe-function] . helpful-callable)
|
||||
([remap describe-command] . helpful-command)
|
||||
([remap describe-variable] . helpful-variable)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
;;; init-eshell.el -*- lexical-binding: t -*-
|
||||
;; Emacs command shell
|
||||
(use-package eshell
|
||||
:ensure nil
|
||||
:ensure nil ; built-in
|
||||
:defines eshell-prompt-function
|
||||
:bind (:map eshell-mode-map
|
||||
([remap recenter-top-bottom] . eshell/clear))
|
||||
@ -71,44 +71,60 @@
|
||||
(forward-line line))
|
||||
(eshell-view-file (pop args)))))
|
||||
(defalias 'eshell/more #'eshell/less))
|
||||
(defun ju/get-prompt-path ()
|
||||
(let* ((current-path (eshell/pwd))
|
||||
(git-output (shell-command-to-string "git rev-parse --show-toplevel"))
|
||||
(has-path (not (string-match "^fatal" git-output))))
|
||||
(if (not has-path)
|
||||
(abbreviate-file-name current-path)
|
||||
(string-remove-prefix (file-name-directory git-output) current-path))))
|
||||
(defun ju/eshell-prompt ()
|
||||
(let ((current-branch (magit-get-current-branch)))
|
||||
(concat
|
||||
"\n"
|
||||
(propertize (system-name) 'face `(:foreground "#62aeed"))
|
||||
(propertize " ॐ " 'face `(:foreground "white"))
|
||||
(propertize (ju/get-prompt-path) 'face `(:foreground "#82cfd3"))
|
||||
|
||||
;;(defun ju/eshell-prompt ()
|
||||
;; (let ((current-branch (magit-get-current-branch)))
|
||||
;; (concat
|
||||
;; "\n"
|
||||
;; (propertize (system-name) 'face `(:foreground "#62aeed"))
|
||||
;; (propertize " ॐ " 'face `(:foreground "white"))
|
||||
;; (propertize (ju/get-prompt-path) 'face `(:foreground "#82cfd3"))
|
||||
;; (when current-branch
|
||||
;; (concat
|
||||
;; (propertize " • " 'face `(:foreground "white"))
|
||||
;; (propertize (concat " " current-branch) 'face `(:foreground "#c475f0"))))
|
||||
;; (propertize " • " 'face `(:foreground "white"))
|
||||
;; (propertize (format-time-string "%I:%M:%S %p") 'face `(:foreground "#5a5b7f"))
|
||||
;; (if (= (user-uid) 0)
|
||||
;; (propertize "\n#" 'face `(:foreground "red2"))
|
||||
;; (propertize "\nλ" 'face `(:foreground "#aece4a")))
|
||||
;; (propertize " " 'face `(:foreground "white")))))
|
||||
(when current-branch
|
||||
(concat
|
||||
(propertize " • " 'face `(:foreground "white"))
|
||||
(propertize (concat " " current-branch) 'face `(:foreground "#c475f0"))))
|
||||
(propertize " • " 'face `(:foreground "white"))
|
||||
(propertize (format-time-string "%I:%M:%S %p") 'face `(:foreground "#5a5b7f"))
|
||||
(if (= (user-uid) 0)
|
||||
(propertize "\n#" 'face `(:foreground "red2"))
|
||||
(propertize "\nλ" 'face `(:foreground "#aece4a")))
|
||||
(propertize " " 'face `(:foreground "white")))))
|
||||
|
||||
;;(setq eshell-prompt-function 'ju/eshell-prompt
|
||||
;; eshell-prompt-regexp "^λ ")
|
||||
(setq eshell-prompt-function 'ju/eshell-prompt
|
||||
eshell-prompt-regexp "^λ "))
|
||||
|
||||
|
||||
;; Display extra information for prompt
|
||||
(use-package eshell-prompt-extras
|
||||
:after esh-opt
|
||||
:defines eshell-highlight-prompt
|
||||
:autoload (epe-theme-lambda epe-theme-dakrone epe-theme-pipeline)
|
||||
:init (setq eshell-highlight-prompt t
|
||||
eshell-prompt-function #'epe-theme-lambda))
|
||||
;; Display extra information for prompt
|
||||
(use-package eshell-prompt-extras
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:after esh-opt
|
||||
:defines eshell-highlight-prompt
|
||||
:autoload (epe-theme-lambda epe-theme-dakrone epe-theme-pipeline)
|
||||
:init (setq eshell-highlight-prompt t
|
||||
eshell-prompt-function #'epe-theme-lambda))
|
||||
|
||||
;; `eldoc' support
|
||||
(use-package esh-help
|
||||
:init (setup-esh-help-eldoc))
|
||||
;; `eldoc' support
|
||||
(use-package esh-help
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:init (setup-esh-help-eldoc))
|
||||
|
||||
;; `cd' to frequent directory in `eshell'
|
||||
(use-package eshell-z
|
||||
:hook (eshell-mode . (lambda () (require 'eshell-z)))))
|
||||
;; `cd' to frequent directory in `eshell'
|
||||
(use-package eshell-z
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (eshell-mode . (lambda () (require 'eshell-z))))
|
||||
|
||||
|
||||
(provide 'init-eshell)
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
(require 'init-funcs)
|
||||
|
||||
(use-package evil
|
||||
:ensure nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:diminish
|
||||
:hook (after-init . evil-mode)
|
||||
:init
|
||||
@ -25,24 +26,28 @@
|
||||
;; eshell no evil
|
||||
(dolist (mode '(eshell-mode))
|
||||
(add-to-list 'evil-emacs-state-modes mode)))
|
||||
|
||||
(with-eval-after-load 'evil
|
||||
(defalias #'forward-evil-word #'forward-evil-symbol)
|
||||
;; make evil-search-word look for symbol rather than word boundaries
|
||||
(setq-default evil-symbol-word-search t))
|
||||
(defalias #'forward-evil-word #'forward-evil-symbol)
|
||||
;; make evil-search-word look for symbol rather than word boundaries
|
||||
(setq-default evil-symbol-word-search t))
|
||||
(use-package evil-collection
|
||||
:defer nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:config
|
||||
(evil-collection-init))
|
||||
|
||||
(use-package evil-nerd-commenter
|
||||
:defer nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:config
|
||||
;; evil nerd commenter
|
||||
(define-key evil-normal-state-map (kbd "g c") 'evilnc-comment-or-uncomment-lines)
|
||||
(define-key evil-visual-state-map (kbd "g c") 'evilnc-comment-or-uncomment-lines))
|
||||
|
||||
(use-package evil-numbers
|
||||
:defer nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:config
|
||||
;; evil numbers
|
||||
;; unfortunately C-x is emacs common key binding.
|
||||
|
||||
@ -1,6 +1,12 @@
|
||||
;; init-extra.el -*- lexical-binding: t -*-
|
||||
(use-package gnuplot)
|
||||
(use-package graphviz-dot-mode)
|
||||
(use-package gnuplot
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
(use-package graphviz-dot-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(provide 'init-extra)
|
||||
;;; init-extra.el ends here
|
||||
|
||||
@ -3,6 +3,9 @@
|
||||
(require 'init-funcs)
|
||||
|
||||
(use-package flycheck
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:autoload flycheck-redefine-standard-error-levels
|
||||
:hook (after-init . global-flycheck-mode)
|
||||
@ -20,51 +23,56 @@
|
||||
(when (fboundp 'define-fringe-bitmap)
|
||||
(define-fringe-bitmap 'flycheck-fringe-bitmap-arrow
|
||||
[16 48 112 240 112 48 16] nil nil 'center))
|
||||
(flycheck-redefine-standard-error-levels "⏴" 'flycheck-fringe-bitmap-arrow)
|
||||
|
||||
;; Display Flycheck errors
|
||||
(if (childframe-workable-p)
|
||||
(use-package flycheck-posframe
|
||||
:custom-face
|
||||
(flycheck-posframe-face ((t (:foreground ,(face-foreground 'success)))))
|
||||
(flycheck-posframe-info-face ((t (:foreground ,(face-foreground 'success)))))
|
||||
(flycheck-posframe-background-face ((t (:inherit tooltip))))
|
||||
(flycheck-posframe-border-face ((t (:inherit posframe-border))))
|
||||
:hook (flycheck-mode . flycheck-posframe-mode)
|
||||
:init
|
||||
(setq flycheck-posframe-border-width 1)
|
||||
(add-hook 'flycheck-posframe-inhibit-functions
|
||||
(lambda (&rest _) (bound-and-true-p company-backend)))
|
||||
:config
|
||||
(with-no-warnings
|
||||
;; FIXME: Prettify the child frame.
|
||||
;; @see https://github.com/alexmurray/flycheck-posframe/issues/28
|
||||
(defun my-flycheck-posframe-show-posframe (errors)
|
||||
"Display ERRORS, using posframe.el library."
|
||||
(posframe-hide flycheck-posframe-buffer)
|
||||
(when (and errors
|
||||
(not (run-hook-with-args-until-success 'flycheck-posframe-inhibit-functions)))
|
||||
(let ((poshandler (intern (format "posframe-poshandler-%s" flycheck-posframe-position))))
|
||||
(unless (functionp poshandler)
|
||||
(setq poshandler nil))
|
||||
(flycheck-posframe-check-position)
|
||||
(posframe-show
|
||||
flycheck-posframe-buffer
|
||||
:string (flycheck-posframe-format-errors errors)
|
||||
:background-color (face-background 'flycheck-posframe-background-face nil t)
|
||||
:position (point)
|
||||
:left-fringe 4
|
||||
:right-fringe 4
|
||||
:max-width (round (* (frame-width) 0.62))
|
||||
:max-height (round (* (frame-height) 0.62))
|
||||
:internal-border-width flycheck-posframe-border-width
|
||||
:internal-border-color (face-background 'flycheck-posframe-border-face nil t)
|
||||
:poshandler poshandler
|
||||
:hidehandler #'flycheck-posframe-hidehandler))))
|
||||
(advice-add #'flycheck-posframe-show-posframe :override #'my-flycheck-posframe-show-posframe)))
|
||||
(use-package flycheck-popup-tip
|
||||
:hook (flycheck-mode . flycheck-popup-tip-mode))))
|
||||
(flycheck-redefine-standard-error-levels "⏴" 'flycheck-fringe-bitmap-arrow))
|
||||
|
||||
;; Display Flycheck errors
|
||||
(if (childframe-workable-p)
|
||||
(use-package flycheck-posframe
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:custom-face
|
||||
(flycheck-posframe-face ((t (:foreground ,(face-foreground 'success)))))
|
||||
(flycheck-posframe-info-face ((t (:foreground ,(face-foreground 'success)))))
|
||||
(flycheck-posframe-background-face ((t (:inherit tooltip))))
|
||||
(flycheck-posframe-border-face ((t (:inherit posframe-border))))
|
||||
:hook (flycheck-mode . flycheck-posframe-mode)
|
||||
:init
|
||||
(setq flycheck-posframe-border-width 1)
|
||||
(add-hook 'flycheck-posframe-inhibit-functions
|
||||
(lambda (&rest _) (bound-and-true-p company-backend)))
|
||||
:config
|
||||
(with-no-warnings
|
||||
;; FIXME: Prettify the child frame.
|
||||
;; @see https://github.com/alexmurray/flycheck-posframe/issues/28
|
||||
(defun my-flycheck-posframe-show-posframe (errors)
|
||||
"Display ERRORS, using posframe.el library."
|
||||
(posframe-hide flycheck-posframe-buffer)
|
||||
(when (and errors
|
||||
(not (run-hook-with-args-until-success 'flycheck-posframe-inhibit-functions)))
|
||||
(let ((poshandler (intern (format "posframe-poshandler-%s" flycheck-posframe-position))))
|
||||
(unless (functionp poshandler)
|
||||
(setq poshandler nil))
|
||||
(flycheck-posframe-check-position)
|
||||
(posframe-show
|
||||
flycheck-posframe-buffer
|
||||
:string (flycheck-posframe-format-errors errors)
|
||||
:background-color (face-background 'flycheck-posframe-background-face nil t)
|
||||
:position (point)
|
||||
:left-fringe 4
|
||||
:right-fringe 4
|
||||
:max-width (round (* (frame-width) 0.62))
|
||||
:max-height (round (* (frame-height) 0.62))
|
||||
:internal-border-width flycheck-posframe-border-width
|
||||
:internal-border-color (face-background 'flycheck-posframe-border-face nil t)
|
||||
:poshandler poshandler
|
||||
:hidehandler #'flycheck-posframe-hidehandler))))
|
||||
(advice-add #'flycheck-posframe-show-posframe :override #'my-flycheck-posframe-show-posframe)))
|
||||
(use-package flycheck-popup-tip
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (flycheck-mode . flycheck-popup-tip-mode)))
|
||||
|
||||
(provide 'init-flycheck)
|
||||
;;; init-flycheck.el ends here
|
||||
|
||||
@ -11,10 +11,13 @@
|
||||
(global-set-key (kbd "C-=") 'text-scale-increase)
|
||||
(global-set-key (kbd "C--") 'text-scale-decrease)
|
||||
|
||||
; TODO move to hideshow
|
||||
(global-set-key (kbd "C-<tab>") 'hs-toggle-hiding)
|
||||
|
||||
;; When you begin a keybind, whichkey will show you all keybinds you can follow the first one with in order to form a full keywords.
|
||||
(use-package which-key
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:init (which-key-mode)
|
||||
:diminish which-key-mode
|
||||
@ -22,6 +25,9 @@
|
||||
(setq which-key-idle-delay 0.5))
|
||||
|
||||
(use-package general
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:init
|
||||
(general-auto-unbind-keys)
|
||||
:config
|
||||
@ -135,7 +141,9 @@
|
||||
;; Avy
|
||||
"v" '(:ignore t :which-key "Avy")
|
||||
"vc" '(avy-goto-char :which-key "Avy Goto Char")
|
||||
"vw" '(avy-goto-word-0 :which-key "Avy Goto Word")
|
||||
"ve" '(avy-goto-char-2 :which-key "Avy Goto Char - 2")
|
||||
"vq" '(avy-goto-word-0 :which-key "Avy Goto Word")
|
||||
"vw" '(avy-goto-word-1 :which-key "Avy Goto Word - 1")
|
||||
"vl" '(avy-goto-line :which-key "Avy Goto Line"))
|
||||
|
||||
(provide 'init-general)
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
(require 'init-funcs)
|
||||
|
||||
(use-package hl-line
|
||||
:ensure nil
|
||||
:ensure nil ;; built-in package
|
||||
:hook ((after-init . global-hl-line-mode)
|
||||
((dashboard-mode eshell-mode shell-mode term-mode vterm-mode) .
|
||||
(lambda () (setq-local global-hl-line-mode nil))))
|
||||
@ -11,6 +11,9 @@
|
||||
(set-face-background 'hl-line "gray8"))
|
||||
|
||||
(use-package symbol-overlay
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:custom-face
|
||||
;;(symbol-overlay-default-face ((t (:inherit region :background unspecified :foreground unspecified))))
|
||||
@ -43,10 +46,15 @@
|
||||
(interactive)
|
||||
(when (derived-mode-p 'prog-mode 'yaml-mode)
|
||||
(symbol-overlay-mode 1)))
|
||||
(advice-add #'deactivate-mark :after #'turn-on-symbol-overlay)))
|
||||
(advice-add #'deactivate-mark :after #'turn-on-symbol-overlay))
|
||||
(define-key symbol-overlay-map (kbd "h") nil)
|
||||
(define-key symbol-overlay-map (kbd "g") 'symbol-overlay-map-help))
|
||||
|
||||
;; Colorize color names in buffers
|
||||
(use-package rainbow-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:defines helpful-mode-map
|
||||
:bind (:map help-mode-map
|
||||
@ -74,10 +82,16 @@
|
||||
|
||||
;; Highlight brackets according to their depth
|
||||
(use-package rainbow-delimiters
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (prog-mode . rainbow-delimiters-mode))
|
||||
|
||||
;; keywords from doom-emacs
|
||||
(use-package hl-todo
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:custom-face
|
||||
(hl-todo ((t (:inherit default :height 0.9 :width condensed :weight bold :underline nil :inverse-video t))))
|
||||
:hook (after-init . global-hl-todo-mode)
|
||||
@ -110,6 +124,9 @@
|
||||
(add-to-list 'hl-todo-keyword-faces `(,keyword . "#8d9eaf"))))
|
||||
|
||||
(use-package diff-hl
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook ((after-init . global-diff-hl-mode)
|
||||
(magit-post-refresh . diff-hl-magit-post-refresh)
|
||||
(dired-mode . diff-hl-dired-mode-unless-remote))
|
||||
@ -143,7 +160,7 @@
|
||||
(add-hook 'magit-post-refresh-hook #'diff-hl-magit-post-refresh))))
|
||||
;; Pulse current line
|
||||
(use-package pulse
|
||||
:ensure nil
|
||||
:ensure nil ;; built-in
|
||||
:custom-face
|
||||
(pulse-highlight-start-face ((t (:inherit region :background unspecified))))
|
||||
(pulse-highlight-face ((t (:inherit region :background unspecified :extend t))))
|
||||
|
||||
@ -2,10 +2,15 @@
|
||||
(require 'init-const)
|
||||
(require 'init-funcs)
|
||||
(use-package hydra
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (emacs-lisp-mode . hydra-add-imenu))
|
||||
|
||||
;; TODO
|
||||
(use-package pretty-hydra
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:bind ("<f6>" . toggles-hydra/body)
|
||||
:hook (emacs-lisp-mode . (lambda ()
|
||||
(add-to-list
|
||||
@ -23,7 +28,7 @@
|
||||
(concat
|
||||
(when (and (icons-displayable-p) icon-type icon-name)
|
||||
(let ((f (intern (format "nerd-icons-%s" icon-type))))
|
||||
;;(let ((f (intern (format "all-the-icons-%s" icon-type))))
|
||||
;;(let ((f (intern (format "all-the-icons-%s" icon-type))))
|
||||
(when (fboundp f)
|
||||
(concat
|
||||
(apply f (list icon-name :face face :height height :v-adjust v-adjust))
|
||||
|
||||
@ -3,20 +3,30 @@
|
||||
(require 'init-funcs)
|
||||
|
||||
(use-package ibuffer
|
||||
:ensure nil
|
||||
:init (setq ibuffer-filter-group-name-face '(:inherit (font-lock-string-face bold)))
|
||||
:config
|
||||
;; Display icons for buffers
|
||||
(use-package nerd-icons-ibuffer
|
||||
:hook (ibuffer-mode . nerd-icons-ibuffer-mode)
|
||||
:init (setq nerd-icons-ibuffer-icon t)))
|
||||
:ensure nil ; built-in
|
||||
:init
|
||||
(setq ibuffer-filter-group-name-face
|
||||
'(:inherit (font-lock-string-face bold))))
|
||||
(use-package nerd-icons-ibuffer
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook
|
||||
(ibuffer-mode . nerd-icons-ibuffer-mode)
|
||||
:init
|
||||
(setq nerd-icons-ibuffer-icon t))
|
||||
;; Group ibuffer's list by project
|
||||
(use-package ibuffer-project
|
||||
:hook (ibuffer . (lambda ()
|
||||
(setq ibuffer-filter-groups (ibuffer-project-generate-filter-groups))
|
||||
(unless (eq ibuffer-sorting-mode 'project-file-relative)
|
||||
(ibuffer-do-sort-by-project-file-relative))))
|
||||
:init (setq ibuffer-project-use-cache t)
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook
|
||||
(ibuffer . (lambda ()
|
||||
(setq ibuffer-filter-groups (ibuffer-project-generate-filter-groups))
|
||||
(unless (eq ibuffer-sorting-mode 'project-file-relative)
|
||||
(ibuffer-do-sort-by-project-file-relative))))
|
||||
:init
|
||||
(setq ibuffer-project-use-cache t)
|
||||
:config
|
||||
(add-to-list 'ibuffer-project-root-functions '(file-remote-p . "Remote"))
|
||||
(add-to-list 'ibuffer-project-root-functions '("\\*.+\\*" . "Default")))
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
;;; init-latex.el -*- lexical-binding: t -*-
|
||||
(use-package auctex
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:custom
|
||||
(TeX-auto-save t)
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
;;; init-markdown.el -*- lexical-binding: t -*-
|
||||
;; using multimarkdown compiler, could be found at AUR
|
||||
(use-package markdown-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:mode ("README\\.md\\'" . gfm-mode)
|
||||
:init (setq markdown-command "multimarkdown")
|
||||
(setq markdown-enable-wiki-links t
|
||||
@ -9,6 +12,15 @@
|
||||
markdown-make-gfm-checkboxes-buttons t
|
||||
markdown-gfm-uppercase-checkbox t
|
||||
markdown-fontify-code-blocks-natively t))
|
||||
|
||||
(use-package grip-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
;; :config (setq grip-use-mdopen t) ;; to use `mdopen` instead of `grip`
|
||||
:bind (:map markdown-mode-command-map
|
||||
("g" . grip-mode)))
|
||||
|
||||
(provide 'init-markdown)
|
||||
|
||||
;;; init-markdown.el ends here
|
||||
|
||||
@ -4,12 +4,12 @@
|
||||
(require 'init-custom)
|
||||
|
||||
(use-package org
|
||||
:ensure nil
|
||||
:ensure nil ; built-in
|
||||
:custom-face (org-ellipsis ((t (:foreground unspecified))))
|
||||
:pretty-hydra
|
||||
;; See `org-structure-template-alist'
|
||||
((:title (pretty-hydra-title "Org Template" 'sucicon "nf-custom-orgmode" :face 'nerd-icons-green)
|
||||
:color blue :quit-key ("q" "C-g"))
|
||||
:color blue :quit-key ("q" "C-g"))
|
||||
("Basic"
|
||||
(("a" (hot-expand "<a") "ascii")
|
||||
("c" (hot-expand "<c") "center")
|
||||
@ -145,31 +145,9 @@ prepended to the element after the #+HEADER: tag."
|
||||
org-startup-indented t
|
||||
org-ellipsis (if (char-displayable-p ?⏷) "\t⤵" nil)
|
||||
org-pretty-entities nil
|
||||
org-hide-emphasis-markers t)
|
||||
org-hide-emphasis-markers t
|
||||
|
||||
|
||||
|
||||
(use-package org-journal
|
||||
:defer t
|
||||
:config
|
||||
(setq org-journal-dir (expand-file-name "journal/" org-directory))
|
||||
(setq org-journal-file-type 'weekly))
|
||||
|
||||
;; Add new template
|
||||
(add-to-list 'org-structure-template-alist '("n" . "note"))
|
||||
|
||||
(use-package org-modern
|
||||
:hook ((org-mode . org-modern-mode)
|
||||
(org-agenda-finalize . org-modern-agenda))
|
||||
:config
|
||||
(setq org-modern-table nil))
|
||||
|
||||
(use-package valign
|
||||
:hook (org-mode . valign-mode)
|
||||
:custom
|
||||
(valign-fancy-bar t))
|
||||
|
||||
(setq org-confirm-babel-evaluate nil
|
||||
org-confirm-babel-evaluate nil
|
||||
org-src-fontify-natively t
|
||||
org-src-tab-acts-natively t)
|
||||
|
||||
@ -177,8 +155,8 @@ prepended to the element after the #+HEADER: tag."
|
||||
'((emacs-lisp . t)
|
||||
(python . t)
|
||||
(ruby . t)
|
||||
(rust . t)
|
||||
(C . t))
|
||||
(C . t)
|
||||
(shell . t))
|
||||
"Alist of org ob languages.")
|
||||
;;(unless ON-WINDOWS
|
||||
;; (add-to-list 'load-language-alist '(latex-as-png . t)))
|
||||
@ -194,70 +172,13 @@ prepended to the element after the #+HEADER: tag."
|
||||
(add-to-list 'org-structure-template-alist '("oc" . "src octave"))
|
||||
(add-to-list 'org-structure-template-alist '("vl" . "src verilog"))
|
||||
(add-to-list 'org-structure-template-alist '("vh" . "src vhdl"))
|
||||
(add-to-list 'org-structure-template-alist '("n" . "note"))
|
||||
(org-babel-do-load-languages 'org-babel-load-languages
|
||||
load-language-alist)
|
||||
|
||||
;; ob-sh renamed to ob-shell since 26.1.
|
||||
(cl-pushnew '(shell . t) load-language-alist)
|
||||
|
||||
(use-package ob-go
|
||||
:init (cl-pushnew '(go . t) load-language-alist))
|
||||
|
||||
(use-package ob-rust
|
||||
:init (cl-pushnew '(rust . t) load-language-alist))
|
||||
(org-babel-do-load-languages 'org-babel-load-languages
|
||||
load-language-alist)
|
||||
;; Auto-toggle Org LaTeX fragments
|
||||
(use-package org-fragtog
|
||||
:diminish
|
||||
:hook (org-mode . org-fragtog-mode))
|
||||
;; Make invisible parts of Org elements appear visible.
|
||||
(use-package org-appear
|
||||
:hook (org-mode)
|
||||
:config
|
||||
(setq org-appear-autoemphasis t
|
||||
org-appear-autolinks t
|
||||
org-appear-autoentities t
|
||||
org-appear-autosubmarkers t))
|
||||
;; Presentation
|
||||
(use-package org-tree-slide
|
||||
:diminish
|
||||
:functions (org-display-inline-images
|
||||
org-remove-inline-images)
|
||||
:bind (:map org-mode-map
|
||||
("s-<f7>" . org-tree-slide-mode))
|
||||
:hook ((org-tree-slide-play . (lambda ()
|
||||
(text-scale-increase 4)
|
||||
(org-display-inline-images)
|
||||
(read-only-mode 1)))
|
||||
(org-tree-slide-stop . (lambda ()
|
||||
(text-scale-increase 0)
|
||||
(org-remove-inline-images)
|
||||
(read-only-mode -1))))
|
||||
:init (setq org-tree-slide-header nil
|
||||
org-tree-slide-slide-in-effect t
|
||||
org-tree-slide-heading-emphasis nil
|
||||
org-tree-slide-cursor-init t
|
||||
org-tree-slide-modeline-display 'outside
|
||||
org-tree-slide-skip-done nil
|
||||
org-tree-slide-skip-comments t
|
||||
org-tree-slide-skip-outline-level 3))
|
||||
;; support drawio
|
||||
(use-package org-drawio
|
||||
:commands (org-drawio-add
|
||||
org-drawio-open)
|
||||
:custom ((org-drawio-input-dir "./draws")
|
||||
(org-drawio-output-dir "./images")
|
||||
(org-drawio-output-page "0")
|
||||
;; set to t, if you want to crop the image.
|
||||
(org-drawio-crop t)))
|
||||
; attachment ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package org-contrib ;; to use org-screenshot-take
|
||||
:defer t)
|
||||
(use-package org-attach-screenshot
|
||||
:defer t)
|
||||
(use-package org-download
|
||||
:defer t)
|
||||
(use-package ob-latex-as-png
|
||||
:ensure t)
|
||||
; useful functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(defun my/org-remove-link-and-trash-linked-file ()
|
||||
"Remove `org-mode' link at point and trash linked file."
|
||||
(interactive)
|
||||
@ -303,40 +224,119 @@ prepended to the element after the #+HEADER: tag."
|
||||
(user-error
|
||||
"Error pasting the image, make sure you have an image in the clipboard!"))))
|
||||
(defun org-time-stamp-with-time()
|
||||
"Insert org mode timestamp at point with current date and time"
|
||||
(interactive)
|
||||
(org-insert-time-stamp (current-time) t))
|
||||
; org-roam ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package org-roam
|
||||
:demand t ;; ensure org-roam is loaded by default
|
||||
:custom
|
||||
(org-roam-directory custom-org-roam-directory)
|
||||
(org-roam-node-display-template (concat "${title:*} " (propertize "${tags:*}" 'face 'org-tag)))
|
||||
;;(org-roam-completion-everywhere t)
|
||||
:config
|
||||
(setq org-roam-capture-templates
|
||||
'(("d" "default" plain "%?"
|
||||
:target
|
||||
(file+head
|
||||
"%<%Y%m%d%H%M%S>-${slug}.org"
|
||||
"#+title: ${title}\n")
|
||||
:unnarrowed t)
|
||||
("p" "project" plain "* TODO %?"
|
||||
:target
|
||||
(file+head+olp
|
||||
"%<%Y%m%d%H%M%S>-${slug}.org"
|
||||
"#+title: ${title}\n#+category: ${title}\n#+filetags: Project"
|
||||
("Tasks"))
|
||||
:unnarrowed t)))
|
||||
(org-roam-db-autosync-mode))
|
||||
;; Org roam ui
|
||||
(use-package org-roam-ui
|
||||
:defer t
|
||||
:config
|
||||
(setq org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start nil))
|
||||
"Insert org mode timestamp at point with current date and time"
|
||||
(interactive)
|
||||
(org-insert-time-stamp (current-time) t)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Org mode improvement ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package org-journal
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:config
|
||||
(setq org-journal-dir (expand-file-name "journal/" org-directory))
|
||||
(setq org-journal-file-type 'weekly))
|
||||
|
||||
(use-package org-modern
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook ((org-mode . org-modern-mode)
|
||||
(org-agenda-finalize . org-modern-agenda))
|
||||
:config
|
||||
(setq org-modern-table nil))
|
||||
|
||||
(use-package valign
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (org-mode . valign-mode)
|
||||
:custom
|
||||
(valign-fancy-bar t))
|
||||
|
||||
|
||||
;; Auto-toggle Org LaTeX fragments
|
||||
(use-package org-fragtog
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:hook (org-mode . org-fragtog-mode))
|
||||
;; Make invisible parts of Org elements appear visible.
|
||||
(use-package org-appear
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (org-mode . org-appear-mode)
|
||||
:config
|
||||
(setq org-appear-autoemphasis t
|
||||
org-appear-autolinks t
|
||||
org-appear-autoentities t
|
||||
org-appear-autosubmarkers t))
|
||||
;; support drawio
|
||||
(use-package org-drawio
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:commands (org-drawio-add
|
||||
org-drawio-open)
|
||||
:custom ((org-drawio-input-dir "./draws")
|
||||
(org-drawio-output-dir "./images")
|
||||
(org-drawio-output-page "0")
|
||||
;; set to t, if you want to crop the image.
|
||||
(org-drawio-crop t)))
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Org mode attachment ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package org-contrib ;; to use org-screenshot-take
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:defer t)
|
||||
(use-package org-attach-screenshot
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:defer t)
|
||||
(use-package org-download
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:defer t)
|
||||
(use-package ob-latex-as-png
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:ensure t)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Org roam ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package org-roam
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:demand t ;; ensure org-roam is loaded by default
|
||||
:custom
|
||||
(org-roam-directory custom-org-roam-directory)
|
||||
(org-roam-node-display-template (concat "${title:*} " (propertize "${tags:*}" 'face 'org-tag)))
|
||||
;;(org-roam-completion-everywhere t)
|
||||
:config
|
||||
(setq org-roam-capture-templates
|
||||
'(("d" "default" plain "%?"
|
||||
:target
|
||||
(file+head
|
||||
"%<%Y%m%d%H%M%S>-${slug}.org"
|
||||
"#+title: ${title}\n")
|
||||
:unnarrowed t)
|
||||
("p" "project" plain "* TODO %?"
|
||||
:target
|
||||
(file+head+olp
|
||||
"%<%Y%m%d%H%M%S>-${slug}.org"
|
||||
"#+title: ${title}\n#+category: ${title}\n#+filetags: Project"
|
||||
("Tasks"))
|
||||
:unnarrowed t)))
|
||||
;; functions
|
||||
(defun my/org-roam-rg-search ()
|
||||
"Search org-roam directory using consult-ripgrep. With live-preview."
|
||||
@ -365,33 +365,45 @@ prepended to the element after the #+HEADER: tag."
|
||||
(unless org-note-abort
|
||||
(with-current-buffer (org-capture-get :buffer)
|
||||
(add-to-list 'org-agenda-files (buffer-file-name)))))
|
||||
; Tools ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package ob-async
|
||||
:config
|
||||
(setq ob-async-no-async-languages-alist '("ipython")))
|
||||
(unless ON-WINDOWS
|
||||
(use-package org-pdftools
|
||||
:hook (org-mode . org-pdftools-setup-link)))
|
||||
; Exporter ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package ox-hugo
|
||||
:defer t
|
||||
:after ox)
|
||||
(setq org-latex-minted-options '(("breaklines" "true")
|
||||
("tabsize" "4")
|
||||
("autogobble")
|
||||
("breakanywhere" "true")
|
||||
("bgcolor" "gray!40")
|
||||
("frame" "single")
|
||||
("numbers" "left")))
|
||||
(setq org-latex-listings 'minted
|
||||
org-latex-packages-alist '(("" "minted"))
|
||||
org-latex-pdf-process
|
||||
'("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
|
||||
"pdflatex -interaction nonstopmode -output-directory %o %f"))
|
||||
(with-eval-after-load 'ox-latex
|
||||
(add-to-list 'org-latex-classes
|
||||
'("article"
|
||||
"\\documentclass[11pt,a4paper]{article}
|
||||
|
||||
; database sync
|
||||
(org-roam-db-autosync-mode))
|
||||
;; Org roam ui
|
||||
(use-package org-roam-ui
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:config
|
||||
(setq org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start nil))
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Org mode exporter ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package ox-hugo
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:after ox)
|
||||
|
||||
(setq org-latex-minted-options
|
||||
'(("breaklines" "true")
|
||||
("tabsize" "4")
|
||||
("autogobble")
|
||||
("breakanywhere" "true")
|
||||
("bgcolor" "gray!40")
|
||||
("frame" "single")
|
||||
("numbers" "left")))
|
||||
(setq org-latex-listings 'minted
|
||||
org-latex-packages-alist '(("" "minted"))
|
||||
org-latex-pdf-process
|
||||
'("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
|
||||
"pdflatex -interaction nonstopmode -output-directory %o %f"))
|
||||
(with-eval-after-load 'ox-latex
|
||||
(add-to-list 'org-latex-classes
|
||||
'("article"
|
||||
"\\documentclass[11pt,a4paper]{article}
|
||||
\\usepackage[left=2.5cm,right=2.5cm,top=3cm,bottom=3cm,a4paper]{geometry}
|
||||
[DEFAULT-PACKAGES]
|
||||
\\usepackage{kotex}
|
||||
@ -399,13 +411,13 @@ prepended to the element after the #+HEADER: tag."
|
||||
[EXTRA]
|
||||
\\linespread{1.1}
|
||||
\\hypersetup{pdfborder=0 0 0}"
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")))
|
||||
(add-to-list 'org-latex-classes
|
||||
'("org-plain-latex"
|
||||
"\\documentclass[a4paper,11pt,titlepage]{memoir}
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")))
|
||||
(add-to-list 'org-latex-classes
|
||||
'("org-plain-latex"
|
||||
"\\documentclass[a4paper,11pt,titlepage]{memoir}
|
||||
\\usepackage[left=2.5cm,right=2.5cm,top=3cm,bottom=3cm,a4paper]{geometry}
|
||||
[DEFAULT-PACKAGES]
|
||||
\\usepackage{kotex}
|
||||
@ -413,16 +425,29 @@ prepended to the element after the #+HEADER: tag."
|
||||
[EXTRA]
|
||||
\\linespread{1.1}
|
||||
\\hypersetup{pdfborder=0 0 0}"
|
||||
("\\chapter{%s}" . "\\chapter*{%s}")
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))))
|
||||
("\\chapter{%s}" . "\\chapter*{%s}")
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))))
|
||||
|
||||
;; support calendar
|
||||
(use-package calfw)
|
||||
(use-package calfw-org
|
||||
:after calfw)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Org babel related ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package ob-async
|
||||
:straight t
|
||||
:ensure t
|
||||
:config
|
||||
(setq ob-async-no-async-languages-alist '("ipython")))
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Tools ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(unless ON-WINDOWS
|
||||
(use-package org-pdftools
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (org-mode . org-pdftools-setup-link)))
|
||||
(provide 'init-org)
|
||||
;;; init-org.el ends here
|
||||
|
||||
@ -8,74 +8,30 @@
|
||||
|
||||
(and (file-readable-p custom-file) (load custom-file))
|
||||
|
||||
;; HACK: DO NOT save package-selected-packages to `custom-file'.
|
||||
;; https://github.com/jwiegley/use-package/issues/383#issuecomment-247801751
|
||||
(defun my-package--save-selected-packages (&optional value)
|
||||
"Set `package-selected-packages' to VALUE but don't save to `custom-file'."
|
||||
(when value
|
||||
(setq package-selected-packages value))
|
||||
(unless after-init-time
|
||||
(add-hook 'after-init-hook #'my-package--save-selected-packages)))
|
||||
(advice-add 'package--save-selected-packages :override #'my-package--save-selected-packages)
|
||||
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
|
||||
|
||||
(unless (bound-and-true-p package--initialized)
|
||||
(setq package-enable-at-startup nil)
|
||||
(package-initialize))
|
||||
;; Setup `use-package'
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-refresh-contents)
|
||||
(package-install 'use-package))
|
||||
;; Should set before loading `use-package'
|
||||
(eval-and-compile
|
||||
(setq use-package-always-ensure t)
|
||||
(setq use-package-always-defer t)
|
||||
(setq use-package-expand-minimally t)
|
||||
(setq use-package-enable-imenu-support t))
|
||||
(eval-when-compile
|
||||
(require 'use-package))
|
||||
|
||||
(use-package diminish)
|
||||
(use-package bind-key)
|
||||
|
||||
(use-package paradox
|
||||
:custom-face
|
||||
(paradox-archive-face ((t (:inherit font-lock-doc-face))))
|
||||
(paradox-description-face ((t (:inherit completions-annotations))))
|
||||
:hook
|
||||
(emacs-startup . paradox-enable)
|
||||
:init
|
||||
(setq paradox-execute-asynchronously t
|
||||
paradox-github-token nil
|
||||
paradox-display-star-count nil
|
||||
paradox-status-face-alist ;
|
||||
'(("built-in" . font-lock-builtin-face)
|
||||
("available" . success)
|
||||
("new" . (success bold))
|
||||
("held" . font-lock-constant-face)
|
||||
("disabled" . font-lock-warning-face)
|
||||
("avail-obso" . font-lock-comment-face)
|
||||
("installed" . font-lock-comment-face)
|
||||
("dependency" . font-lock-comment-face)
|
||||
("incompat" . font-lock-comment-face)
|
||||
("deleted" . font-lock-comment-face)
|
||||
("unsigned" . font-lock-warning-face)))
|
||||
:config
|
||||
(add-hook 'paradox-after-execute-functions
|
||||
(lambda (_)
|
||||
"Display `page-break-lines' in \"*Paradox Report*\" buffer."
|
||||
(when (fboundp 'page-break-lines-mode)
|
||||
(let ((buf (get-buffer "*Paradox Report*"))
|
||||
(inhibit-read-only t))
|
||||
(when (buffer-live-p buf)
|
||||
(with-current-buffer buf
|
||||
(page-break-lines-mode 1))))))
|
||||
t))
|
||||
|
||||
(defvar bootstrap-version)
|
||||
(let ((bootstrap-file
|
||||
(expand-file-name
|
||||
"straight/repos/straight.el/bootstrap.el"
|
||||
(or (bound-and-true-p straight-base-dir)
|
||||
user-emacs-directory)))
|
||||
(bootstrap-version 7))
|
||||
(unless (file-exists-p bootstrap-file)
|
||||
(with-current-buffer
|
||||
(url-retrieve-synchronously
|
||||
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||
'silent 'inhibit-cookies)
|
||||
(goto-char (point-max))
|
||||
(eval-print-last-sexp)))
|
||||
(load bootstrap-file nil 'nomessage))
|
||||
|
||||
(straight-use-package 'use-package)
|
||||
(setq use-package-always-ensure t)
|
||||
|
||||
; hide info in modeline
|
||||
(use-package diminish
|
||||
:straight t
|
||||
:ensure t)
|
||||
|
||||
(provide 'init-package)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
@ -4,6 +4,9 @@
|
||||
|
||||
;; Windows/buffers sets shared among frames + save/load.
|
||||
(use-package persp-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:autoload (get-current-persp persp-contain-buffer-p)
|
||||
:hook (after-init . persp-mode)
|
||||
@ -13,7 +16,6 @@
|
||||
persp-kill-foreign-buffer-behaviour 'kill
|
||||
persp-auto-resume-time 0)
|
||||
:config
|
||||
|
||||
(with-no-warnings
|
||||
;; Don't save if the state is not loaded
|
||||
(defvar persp-state-loaded nil
|
||||
@ -65,44 +67,46 @@
|
||||
:mode-restore-function (lambda (_) (shell))
|
||||
:save-vars '(major-mode default-directory)))
|
||||
|
||||
;; Project integration
|
||||
;; Project.el integration
|
||||
(use-package persp-mode-project-bridge
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:autoload (persp-mode-project-bridge-find-perspectives-for-all-buffers
|
||||
persp-mode-project-bridge-kill-perspectives)
|
||||
:hook
|
||||
(persp-mode-project-bridge-mode . (lambda ()
|
||||
(if persp-mode-project-bridge-mode
|
||||
(persp-mode-project-bridge-find-perspectives-for-all-buffers)
|
||||
(persp-mode-project-bridge-kill-perspectives))))
|
||||
(persp-mode . persp-mode-project-bridge-mode)
|
||||
:init (when (icons-displayable-p)
|
||||
(setq persp-mode-project-bridge-persp-name-prefix ""))
|
||||
:config
|
||||
(with-no-warnings
|
||||
;; HACK: Allow saving to files
|
||||
(defun my-persp-mode-project-bridge-add-new-persp (name)
|
||||
(let ((persp (persp-get-by-name name *persp-hash* :nil)))
|
||||
(if (eq :nil persp)
|
||||
(prog1
|
||||
(setq persp (persp-add-new name))
|
||||
(when persp
|
||||
(set-persp-parameter 'persp-mode-project-bridge t persp)
|
||||
(persp-add-buffer (cl-remove-if-not #'get-file-buffer (project-files (project-current)))
|
||||
persp nil nil)))
|
||||
persp)))
|
||||
(advice-add #'persp-mode-project-bridge-add-new-persp
|
||||
:override #'my-persp-mode-project-bridge-add-new-persp)
|
||||
|
||||
(use-package persp-mode-project-bridge
|
||||
:autoload (persp-mode-project-bridge-find-perspectives-for-all-buffers
|
||||
persp-mode-project-bridge-kill-perspectives)
|
||||
:hook
|
||||
(persp-mode-project-bridge-mode . (lambda ()
|
||||
(if persp-mode-project-bridge-mode
|
||||
(persp-mode-project-bridge-find-perspectives-for-all-buffers)
|
||||
(persp-mode-project-bridge-kill-perspectives))))
|
||||
(persp-mode . persp-mode-project-bridge-mode)
|
||||
:init (when (icons-displayable-p)
|
||||
(setq persp-mode-project-bridge-persp-name-prefix ""))
|
||||
:config
|
||||
(with-no-warnings
|
||||
;; HACK: Allow saving to files
|
||||
(defun my-persp-mode-project-bridge-add-new-persp (name)
|
||||
(let ((persp (persp-get-by-name name *persp-hash* :nil)))
|
||||
(if (eq :nil persp)
|
||||
(prog1
|
||||
(setq persp (persp-add-new name))
|
||||
(when persp
|
||||
(set-persp-parameter 'persp-mode-project-bridge t persp)
|
||||
(persp-add-buffer (cl-remove-if-not #'get-file-buffer (project-files (project-current)))
|
||||
persp nil nil)))
|
||||
persp)))
|
||||
(advice-add #'persp-mode-project-bridge-add-new-persp
|
||||
:override #'my-persp-mode-project-bridge-add-new-persp)
|
||||
|
||||
;; HACK: Switch to buffer after switching perspective
|
||||
(defun my-persp-mode-project-bridge-hook-switch (fn &rest _args)
|
||||
"Switch to a perspective when hook is activated."
|
||||
(let ((buf (current-buffer)))
|
||||
(funcall fn)
|
||||
(when (buffer-live-p buf)
|
||||
(switch-to-buffer buf))))
|
||||
(advice-add #'persp-mode-project-bridge-hook-switch
|
||||
:around #'my-persp-mode-project-bridge-hook-switch)))
|
||||
;; HACK: Switch to buffer after switching perspective
|
||||
(defun my-persp-mode-project-bridge-hook-switch (fn &rest _args)
|
||||
"Switch to a perspective when hook is activated."
|
||||
(let ((buf (current-buffer)))
|
||||
(funcall fn)
|
||||
(when (buffer-live-p buf)
|
||||
(switch-to-buffer buf))))
|
||||
(advice-add #'persp-mode-project-bridge-hook-switch
|
||||
:around #'my-persp-mode-project-bridge-hook-switch)))
|
||||
|
||||
(provide 'init-persp)
|
||||
;;; init-persp.el ends here
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
(require 'init-funcs)
|
||||
|
||||
;; Tree-sitter support
|
||||
(use-package treesit-auto
|
||||
:hook (after-init . global-treesit-auto-mode)
|
||||
:init (setq treesit-auto-install 'prompt))
|
||||
;; (use-package treesit-auto
|
||||
;; :hook (after-init . global-treesit-auto-mode)
|
||||
;; :init (setq treesit-auto-install 'prompt))
|
||||
|
||||
;; Search tool
|
||||
(use-package grep
|
||||
:ensure nil
|
||||
:ensure nil ; built-in
|
||||
:autoload grep-apply-setting
|
||||
:config
|
||||
(cond
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
;;;; Cross-referencing commands
|
||||
(use-package xref
|
||||
:ensure nil
|
||||
:ensure nil ; built-in
|
||||
:config
|
||||
(with-no-warnings
|
||||
;; Use faster search tool
|
||||
@ -53,6 +53,9 @@
|
||||
|
||||
;;;; Jump to definition
|
||||
(use-package dumb-jump
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:pretty-hydra
|
||||
((:title (pretty-hydra-title "Dump Jump" 'faicon "nf-fa-anchor")
|
||||
:color blue :quit-key ("q" "C-g"))
|
||||
@ -77,17 +80,26 @@
|
||||
dumb-jump-selector 'ivy))
|
||||
|
||||
;; Code styles
|
||||
(use-package editorconfig
|
||||
:diminish
|
||||
:hook (after-init . editorconfig-mode))
|
||||
;; (use-package editorconfig
|
||||
;; :straight t
|
||||
;; :ensure t
|
||||
;; :defer t
|
||||
;; :diminish
|
||||
;; :hook (after-init . editorconfig-mode))
|
||||
|
||||
;; Run commands quickly
|
||||
(use-package quickrun
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:bind (("C-<f5>" . quickrun)
|
||||
("C-c X" . quickrun)))
|
||||
|
||||
;; Browse devdocs.io documents using EWW
|
||||
(use-package devdocs
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:autoload (devdocs--installed-docs devdocs--available-docs)
|
||||
:bind (:map prog-mode-map
|
||||
("M-<f1>" . devdocs-dwim)
|
||||
@ -140,45 +152,41 @@ Install the doc if it's not installed."
|
||||
(devdocs-lookup nil (thing-at-point 'symbol t))))
|
||||
|
||||
;;;; Misc. programming modes
|
||||
(use-package csv-mode)
|
||||
(use-package csharp-mode)
|
||||
;;(use-package cask-mode)
|
||||
(use-package cmake-mode)
|
||||
;;(use-package dart-mode)
|
||||
;;(use-package groovy-mode)
|
||||
;;(use-package julia-mode)
|
||||
;;(use-package lua-mode)
|
||||
;;(use-package mermaid-mode)
|
||||
;;(use-package plantuml-mode)
|
||||
(use-package rmsbolt) ; A compiler output viewer
|
||||
;;(use-package scala-mode)
|
||||
;;(use-package swift-mode)
|
||||
;;(use-package v-mode)
|
||||
;;(use-package vimrc-mode)
|
||||
(use-package csv-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
(use-package csharp-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
(use-package cmake-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
(use-package lua-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
;;(use-package protobuf-mode
|
||||
;; :hook (protobuf-mode . (lambda ()
|
||||
;; (setq imenu-generic-expression
|
||||
;; '((nil "^[[:space:]]*\\(message\\|service\\|enum\\)[[:space:]]+\\([[:alnum:]]+\\)" 2))))))
|
||||
|
||||
;;(use-package nxml-mode
|
||||
;; :ensure nil
|
||||
;; :mode (("\\.xaml$" . xml-mode)))
|
||||
|
||||
;; Batch Mode eXtras
|
||||
;; Windows Batch Mode eXtras
|
||||
(use-package bmx-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:after company
|
||||
:diminish
|
||||
:hook (after-init . bmx-mode-setup-defaults))
|
||||
|
||||
;; Fish shell
|
||||
(use-package fish-mode
|
||||
:hook (fish-mode . (lambda ()
|
||||
(add-hook 'before-save-hook
|
||||
#'fish_indent-before-save))))
|
||||
|
||||
(use-package pkgbuild-mode)
|
||||
(use-package systemd)
|
||||
; arch PKGBUILD
|
||||
(use-package pkgbuild-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
(use-package systemd
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
|
||||
(provide 'init-prog)
|
||||
|
||||
@ -49,13 +49,19 @@
|
||||
|
||||
;; Env vars
|
||||
(with-eval-after-load 'exec-path-from-shell
|
||||
(exec-path-from-shell-copy-env "PYTHONPATH"))
|
||||
(exec-path-from-shell-copy-env "PYTHONPATH")))
|
||||
|
||||
;; Live Coding in Python
|
||||
(use-package live-py-mode))
|
||||
;; Live Coding in Python
|
||||
(use-package live-py-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
(when ON-LINUX
|
||||
(use-package jupyter))
|
||||
(use-package jupyter
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t))
|
||||
|
||||
(provide 'init-python)
|
||||
|
||||
|
||||
@ -1,9 +1,20 @@
|
||||
;;; init-reader.el -*- lexical-binding: t -*-
|
||||
(use-package pdf-view
|
||||
:ensure pdf-tools
|
||||
:diminish (pdf-view-themed-minor-mode
|
||||
pdf-view-midnight-minor-mode
|
||||
pdf-view-printer-minor-mode)
|
||||
|
||||
;; Nice reading / writing
|
||||
(use-package olivetti
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:bind ("<f7>" . olivetti-mode)
|
||||
:hook ((markdown-mode . olivetti-mode)
|
||||
(org-mode . olivetti-mode))
|
||||
:init (setq olivetti-body-width 0.62))
|
||||
|
||||
(use-package pdf-tools
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:defines pdf-annot-activate-created-annotations
|
||||
:hook ((pdf-tools-enabled . pdf-view-auto-slice-minor-mode)
|
||||
(pdf-tools-enabled . pdf-isearch-minor-mode)
|
||||
@ -11,15 +22,12 @@
|
||||
:mode ("\\.[pP][dD][fF]\\'" . pdf-view-mode)
|
||||
:magic ("%PDF" . pdf-view-mode)
|
||||
:bind (:map pdf-view-mode-map
|
||||
("C-s" . isearch-forward))
|
||||
:init (setq pdf-view-use-scaling t
|
||||
pdf-view-use-imagemagick nil
|
||||
pdf-annot-activate-created-annotations t
|
||||
pdf-view-display-size 'fit-page)
|
||||
("C-s" . isearch-forward))
|
||||
:init
|
||||
(pdf-tools-install)
|
||||
:config
|
||||
;; install manually
|
||||
;;(pdf-tools-install t nil t nil)
|
||||
;; my funtion
|
||||
(setq-default pdf-view-display-size 'fit-page)
|
||||
(setq-default pdf-view-resize-factor 1.1) ;; zoom in/out setting
|
||||
(defun my/pdf-view-open-in-zathura ()
|
||||
(interactive)
|
||||
(save-window-excursion
|
||||
@ -27,18 +35,23 @@
|
||||
(current-page (number-to-string (pdf-view-current-page))))
|
||||
(async-shell-command
|
||||
(format "zathura -P %s \"%s\"" current-page current-file))))
|
||||
(message "Sent to zathura"))
|
||||
;; Recover last viewed position
|
||||
(use-package pdf-view-restore
|
||||
:defer t
|
||||
:hook (pdf-view-mode . pdf-view-restore-mode)
|
||||
:config
|
||||
(setq pdf-view-restore-filename
|
||||
(expand-file-name "pdf-view-restore" user-emacs-directory))))
|
||||
(message "Sent to zathura")))
|
||||
|
||||
;; Recover last viewed position
|
||||
(use-package pdf-view-restore
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (pdf-view-mode . pdf-view-restore-mode)
|
||||
:config
|
||||
(setq pdf-view-restore-filename
|
||||
(expand-file-name "pdf-view-restore" user-emacs-directory)))
|
||||
|
||||
;; Epub reader
|
||||
(use-package nov
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:mode ("\\.epub\\'" . nov-mode)
|
||||
:hook (nov-mode . my-nov-setup)
|
||||
:init
|
||||
@ -66,9 +79,12 @@
|
||||
process-coding-system-alist))))
|
||||
;; Atom/RSS reader
|
||||
(use-package elfeed
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:pretty-hydra
|
||||
((:title (pretty-hydra-title "Elfeed" 'faicon "nf-fa-rss_square" :face 'nerd-icons-orange)
|
||||
:color amaranth :quit-key ("q" "C-g"))
|
||||
:color amaranth :quit-key ("q" "C-g"))
|
||||
("Search"
|
||||
(("c" elfeed-db-compact "compact db")
|
||||
("g" elfeed-search-update--force "refresh")
|
||||
@ -99,11 +115,17 @@
|
||||
(push elfeed-db-directory recentf-exclude))
|
||||
|
||||
(use-package elfeed-goodies
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (after-init . elfeed-goodies/setup))
|
||||
(use-package elfeed-org
|
||||
:hook (after-init . elfeed-org)
|
||||
:straight t
|
||||
:ensure t
|
||||
:after elfeed
|
||||
:config
|
||||
(setq rmh-elfeed-org-files (list (expand-file-name "elfeed.org" org-directory))))
|
||||
(setq rmh-elfeed-org-files (list (expand-file-name "elfeed.org" org-directory)))
|
||||
(elfeed-org))
|
||||
|
||||
(provide 'init-reader)
|
||||
;;; init-reader.el ends here
|
||||
|
||||
@ -32,33 +32,54 @@
|
||||
|
||||
;; Integrate rbenv
|
||||
(use-package rbenv
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (after-init . global-rbenv-mode)
|
||||
:init (setq rbenv-show-active-ruby-in-modeline nil))
|
||||
|
||||
;; YAML mode
|
||||
(use-package yaml-mode)
|
||||
(use-package yaml-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
;; Run a Ruby process in a buffer
|
||||
(use-package inf-ruby
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook ((ruby-mode . inf-ruby-minor-mode)
|
||||
(compilation-filter . inf-ruby-auto-enter)))
|
||||
|
||||
;; Ruby YARD comments
|
||||
(use-package yard-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:hook (ruby-mode . yard-mode))
|
||||
|
||||
;; Ruby refactoring helpers
|
||||
(use-package ruby-refactor
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:hook (ruby-mode . ruby-refactor-mode-launch))
|
||||
|
||||
;; Yet Another RI interface for Emacs
|
||||
(use-package yari
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:bind (:map ruby-mode-map ([f1] . yari)))
|
||||
|
||||
;; RSpec
|
||||
(use-package rspec-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:autoload rspec-install-snippets
|
||||
:hook (dired-mode . rspec-dired-mode)
|
||||
|
||||
@ -1,49 +1,36 @@
|
||||
;; init-rust.el --- Initialize Rust configurations. -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2019-2022 Vincent Zhang
|
||||
|
||||
;; Author: Vincent Zhang <seagle0128@gmail.com>
|
||||
;; URL: https://github.com/seagle0128/.emacs.d
|
||||
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;; This program is free software; you can redistribute it and/or
|
||||
;; modify it under the terms of the GNU General Public License as
|
||||
;; published by the Free Software Foundation; either version 3, or
|
||||
;; (at your option) any later version.
|
||||
;;
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
;; General Public License for more details.
|
||||
;;
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
;; Floor, Boston, MA 02110-1301, USA.
|
||||
;;
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Rust configurations.
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; Rust
|
||||
(use-package rustic
|
||||
:init
|
||||
(if ON-LINUX
|
||||
(setq rustic-analyzer-command '("~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rust-analyzer"))
|
||||
(setq rustic-analyzer-command '("~/.rustup/toolchains/stable-x86_64-pc-windows-msvc/bin/rust-analyzer.exe")))
|
||||
(setq rustic-lsp-client 'eglot))
|
||||
(use-package rust-playground)
|
||||
|
||||
(use-package rust-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:config
|
||||
(flycheck-rust-setup))
|
||||
(use-package cargo
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:after rust-mode)
|
||||
(use-package flycheck-rust
|
||||
:straight t
|
||||
:ensure t
|
||||
:after (flycheck rust-mode)
|
||||
:config
|
||||
(add-hook 'flycheck-mode-hook #'flycheck-rust-setup))
|
||||
(use-package toml-mode
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:config
|
||||
(add-to-list 'auto-mode-alist '("/\\(Cargo.lock\\|\\.cargo/config\\)\\'" . toml-mode)))
|
||||
|
||||
(provide 'init-rust)
|
||||
; org-babel integration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(use-package ob-rust
|
||||
:straight t
|
||||
:ensure t)
|
||||
|
||||
(provide 'init-rust)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; init-rust.el ends here
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
;;; init-eshell.el -*- lexical-binding: t -*-
|
||||
;; Emacs command shell
|
||||
|
||||
(use-package nushell-mode)
|
||||
|
||||
(provide 'init-shell)
|
||||
;;; init-eshell.el ends here
|
||||
@ -3,6 +3,9 @@
|
||||
(require 'init-funcs)
|
||||
;; A tree layout file explorer
|
||||
(use-package treemacs
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:commands (treemacs-follow-mode
|
||||
treemacs-filewatch-mode
|
||||
treemacs-git-mode)
|
||||
@ -26,28 +29,36 @@
|
||||
(`(t . t)
|
||||
(treemacs-git-mode 'deferred))
|
||||
(`(t . _)
|
||||
(treemacs-git-mode 'simple)))
|
||||
(treemacs-git-mode 'simple))))
|
||||
|
||||
(use-package treemacs-nerd-icons
|
||||
:demand
|
||||
:custom-face
|
||||
(treemacs-nerd-icons-root-face ((t (:inherit nerd-icons-green :height 1.3))))
|
||||
(treemacs-nerd-icons-file-face ((t (:inherit nerd-icons-dsilver))))
|
||||
:config (treemacs-load-theme "nerd-icons"))
|
||||
(use-package treemacs-nerd-icons
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:custom-face
|
||||
(treemacs-nerd-icons-root-face ((t (:inherit nerd-icons-green :height 1.3))))
|
||||
(treemacs-nerd-icons-file-face ((t (:inherit nerd-icons-dsilver))))
|
||||
:config (treemacs-load-theme "nerd-icons"))
|
||||
|
||||
(use-package treemacs-magit
|
||||
:after magit
|
||||
:autoload treemacs-magit--schedule-update
|
||||
:hook ((magit-post-commit
|
||||
git-commit-post-finish
|
||||
magit-post-stage
|
||||
magit-post-unstage)
|
||||
. treemacs-magit--schedule-update))
|
||||
(use-package treemacs-magit
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:after magit
|
||||
:autoload treemacs-magit--schedule-update
|
||||
:hook ((magit-post-commit
|
||||
git-commit-post-finish
|
||||
magit-post-stage
|
||||
magit-post-unstage)
|
||||
. treemacs-magit--schedule-update))
|
||||
|
||||
(use-package treemacs-persp
|
||||
:after persp-mode
|
||||
:demand t
|
||||
:functions treemacs-set-scope-type
|
||||
:config (treemacs-set-scope-type 'Perspectives)))
|
||||
(use-package treemacs-persp
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:after persp-mode
|
||||
:demand t
|
||||
:functions treemacs-set-scope-type
|
||||
:config (treemacs-set-scope-type 'Perspectives))
|
||||
(provide 'init-treemacs)
|
||||
;;; init-treemacs.el ends here
|
||||
|
||||
@ -17,8 +17,15 @@
|
||||
|
||||
;; Make certain buffers grossly incandescent
|
||||
(use-package solaire-mode
|
||||
:hook (after-load-theme . solaire-global-mode))
|
||||
:straight t
|
||||
:ensure t
|
||||
:demand t
|
||||
:config
|
||||
(solaire-global-mode +1))
|
||||
|
||||
(use-package doom-themes
|
||||
:straight t
|
||||
:ensure t
|
||||
:init
|
||||
(if (display-graphic-p)
|
||||
(load-theme custom-theme-sel t)
|
||||
@ -26,6 +33,8 @@
|
||||
:config
|
||||
(doom-themes-visual-bell-config))
|
||||
(use-package doom-modeline
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook (after-init . doom-modeline-mode)
|
||||
:init
|
||||
(setq doom-modeline-window-width-limit 110
|
||||
@ -37,25 +46,31 @@
|
||||
doom-modeline-persp-icon t
|
||||
doom-modeline-display-default-persp-name t
|
||||
doom-modeline-indent-info t))
|
||||
;;(use-package hide-mode-line
|
||||
;; :hook (((completion-list-mode
|
||||
;; completion-in-region-mode
|
||||
;; eshell-mode shell-mode
|
||||
;; term-mode vterm-mode
|
||||
;; treemacs-mode
|
||||
;; lsp-ui-imenu-mode
|
||||
;; pdf-annot-list-mode) . hide-mode-line-mode)))
|
||||
(use-package hide-mode-line
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook (((completion-list-mode
|
||||
eshell-mode shell-mode
|
||||
term-mode vterm-mode
|
||||
treemacs-mode
|
||||
lsp-ui-imenu-mode
|
||||
pdf-annot-list-mode) . hide-mode-line-mode)))
|
||||
|
||||
;; A minor-mode menu for mode-line
|
||||
(use-package minions
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook (doom-modeline-mode . minions-mode))
|
||||
|
||||
;; Icons
|
||||
(use-package nerd-icons)
|
||||
(use-package nerd-icons
|
||||
:straight t
|
||||
:ensure t)
|
||||
;;(use-package all-the-icons)
|
||||
|
||||
(use-package display-line-numbers
|
||||
:ensure nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook ((prog-mode yaml-mode conf-mode) . display-line-numbers-mode)
|
||||
:init (setq display-line-numbers-width-start t))
|
||||
|
||||
@ -76,7 +91,8 @@
|
||||
(add-hook 'window-setup-hook #'window-divider-mode)
|
||||
|
||||
(use-package time
|
||||
:ensure nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:init (setq display-time-24hr-format t
|
||||
display-time-day-and-date t))
|
||||
|
||||
@ -95,40 +111,44 @@
|
||||
;; Good pixel line scrolling
|
||||
(if (fboundp 'pixel-scroll-precision-mode)
|
||||
(pixel-scroll-precision-mode t)
|
||||
(use-package good-scroll
|
||||
:diminish
|
||||
:hook (after-init . good-scroll-mode)
|
||||
:bind (([remap next] . good-scroll-up-full-screen)
|
||||
([remap prior] . good-scroll-down-full-screen))))
|
||||
(use-package good-scroll
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook (after-init . good-scroll-mode)
|
||||
:bind (([remap next] . good-scroll-up-full-screen)
|
||||
([remap prior] . good-scroll-down-full-screen))))
|
||||
|
||||
;; Smooth scrolling over images
|
||||
(use-package iscroll
|
||||
:diminish
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (image-mode . iscroll-mode))
|
||||
|
||||
;; Use fixed pitch where it's sensible
|
||||
(use-package mixed-pitch
|
||||
:diminish)
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
;; Display ugly ^L page breaks as tidy horizontal lines
|
||||
(use-package page-break-lines
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:hook (after-init . global-page-break-lines-mode)
|
||||
:config ;; display only half fix.
|
||||
(set-fontset-font "fontset-default"
|
||||
(cons page-break-lines-char page-break-lines-char)
|
||||
(face-attribute 'default :family)))
|
||||
(use-package form-feed
|
||||
:disabled
|
||||
:diminish
|
||||
:hook (after-init . global-form-feed-mode))
|
||||
|
||||
;; emoji
|
||||
(use-package emojify
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:init (global-emojify-mode 1))
|
||||
|
||||
|
||||
|
||||
(provide 'init-ui)
|
||||
;;; init-ui.el ends here.
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
;;; init-utils.el -*- lexical-binding: t -*-
|
||||
(use-package rg)
|
||||
;; Nice writing
|
||||
(use-package olivetti
|
||||
:diminish
|
||||
:bind ("<f7>" . olivetti-mode)
|
||||
:hook (org-mode markdown-mode)
|
||||
:init (setq olivetti-body-width 0.62))
|
||||
(use-package rg
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
;; text mode directory tree
|
||||
(use-package ztree
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:custom-face
|
||||
(ztreep-header-face ((t (:inherit diff-header))))
|
||||
(ztreep-arrow-face ((t (:inherit font-lock-comment-face))))
|
||||
@ -46,6 +46,9 @@
|
||||
ztree-show-number-of-children t))
|
||||
|
||||
(use-package list-environment
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook (list-environment-mode . (lambda ()
|
||||
(setq tabulated-list-format
|
||||
(vconcat `(("" ,(if (icons-displayable-p) 2 0)))
|
||||
@ -69,9 +72,9 @@
|
||||
process-environment))
|
||||
(advice-add #'list-environment-entries :override #'my-list-environment-entries)))
|
||||
|
||||
(unless ON-WINDOWS
|
||||
(use-package daemons) ; system services/daemons
|
||||
(use-package tldr))
|
||||
;; (unless ON-WINDOWS
|
||||
;; (use-package daemons) ; system services/daemons
|
||||
;; (use-package tldr))
|
||||
|
||||
|
||||
(provide 'init-utils)
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
;; Git
|
||||
;; See `magit-maybe-define-global-key-bindings'
|
||||
(use-package magit
|
||||
:ensure nil
|
||||
:commands (magit-status magit-get-current-branch)
|
||||
:init (setq magit-diff-refine-hunk t)
|
||||
:config
|
||||
@ -27,50 +28,58 @@
|
||||
(bury-buffer buf)
|
||||
(kill-buffer buf))))
|
||||
buffers))))
|
||||
(setq magit-bury-buffer-function #'my-magit-kill-buffers))
|
||||
(setq magit-bury-buffer-function #'my-magit-kill-buffers)))
|
||||
|
||||
;; Show TODOs in magit
|
||||
(use-package magit-todos
|
||||
:defines magit-todos-nice
|
||||
:commands magit-todos--scan-with-git-grep
|
||||
:init
|
||||
(setq magit-todos-nice (if (executable-find "nice") t nil))
|
||||
(setq magit-todos-scanner #'magit-todos--scan-with-git-grep)
|
||||
(setq magit-todos-exclude-globs '(".git/" "*.json" "*.js"))
|
||||
(let ((inhibit-message t))
|
||||
(magit-todos-mode 1))))
|
||||
;; Show TODOs in magit
|
||||
(use-package magit-todos
|
||||
:straight t
|
||||
:ensure t
|
||||
:defines magit-todos-nice
|
||||
:commands magit-todos--scan-with-git-grep
|
||||
:init
|
||||
(setq magit-todos-nice (if (executable-find "nice") t nil))
|
||||
(setq magit-todos-scanner #'magit-todos--scan-with-git-grep)
|
||||
(setq magit-todos-exclude-globs '(".git/" "*.json" "*.js"))
|
||||
(let ((inhibit-message t))
|
||||
(magit-todos-mode 1)))
|
||||
|
||||
;; Walk through git revisions of a file
|
||||
(use-package git-timemachine
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:custom-face
|
||||
(git-timemachine-minibuffer-author-face ((t (:inherit success :foreground unspecified))))
|
||||
(git-timemachine-minibuffer-detail-face ((t (:inherit warning :foreground unspecified))))
|
||||
:hook ((git-timemachine-mode . (lambda ()
|
||||
"Improve `git-timemachine' buffers."
|
||||
;; Display different colors in mode-line
|
||||
(if (facep 'mode-line-active)
|
||||
(face-remap-add-relative 'mode-line-active 'custom-state)
|
||||
(face-remap-add-relative 'mode-line 'custom-state))
|
||||
:hook ((git-timemachine-mode
|
||||
. (lambda ()
|
||||
"Improve `git-timemachine' buffers."
|
||||
;; Display different colors in mode-line
|
||||
(if (facep 'mode-line-active)
|
||||
(face-remap-add-relative 'mode-line-active 'custom-state)
|
||||
(face-remap-add-relative 'mode-line 'custom-state))
|
||||
|
||||
;; Highlight symbols in elisp
|
||||
(and (derived-mode-p 'emacs-lisp-mode)
|
||||
(fboundp 'highlight-defined-mode)
|
||||
(highlight-defined-mode t))
|
||||
;; Highlight symbols in elisp
|
||||
(and (derived-mode-p 'emacs-lisp-mode)
|
||||
(fboundp 'highlight-defined-mode)
|
||||
(highlight-defined-mode t))
|
||||
|
||||
;; Display line numbers
|
||||
(and (derived-mode-p 'prog-mode 'yaml-mode)
|
||||
(fboundp 'display-line-numbers-mode)
|
||||
(display-line-numbers-mode t))))
|
||||
;; Display line numbers
|
||||
(and (derived-mode-p 'prog-mode 'yaml-mode)
|
||||
(fboundp 'display-line-numbers-mode)
|
||||
(display-line-numbers-mode t))))
|
||||
(before-revert . (lambda ()
|
||||
(when (bound-and-true-p git-timemachine-mode)
|
||||
(user-error "Cannot revert the timemachine buffer"))))))
|
||||
;; Resolve diff3 conflicts
|
||||
(use-package smerge-mode
|
||||
:ensure nil
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish
|
||||
:pretty-hydra
|
||||
((:title (pretty-hydra-title "Smerge" 'octicon "nf-oct-diff")
|
||||
:color pink :quit-key ("q" "C-g"))
|
||||
:color pink :quit-key ("q" "C-g"))
|
||||
("Move"
|
||||
(("n" smerge-next "next")
|
||||
("p" smerge-prev "previous"))
|
||||
@ -97,7 +106,7 @@
|
||||
(bury-buffer))
|
||||
"Save and bury buffer" :exit t))))
|
||||
:bind (:map smerge-mode-map
|
||||
("C-c m" . smerge-mode-hydra/body))
|
||||
("C-c m" . smerge-mode-hydra/body))
|
||||
:hook ((find-file . (lambda ()
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
@ -108,11 +117,17 @@
|
||||
(smerge-mode-hydra/body))))))
|
||||
;; Open github/gitlab/bitbucket page
|
||||
(use-package browse-at-remote
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:bind (:map vc-prefix-map
|
||||
("B" . browse-at-remote)))
|
||||
("B" . browse-at-remote)))
|
||||
|
||||
;; Git configuration modes
|
||||
(use-package git-modes)
|
||||
;; Git configuration modes (ex: gitignore gitattributes gitconfig)
|
||||
(use-package git-modes
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
|
||||
(provide 'init-vcs)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
;; init-verilog.el -*- lexical-binding: t -*-
|
||||
|
||||
(use-package verilog-mode
|
||||
:ensure nil
|
||||
:ensure nil ; built-in
|
||||
:init
|
||||
(setq verilog-indent-level 4)
|
||||
(setq verilog-indent-level-module 0)
|
||||
@ -13,6 +13,9 @@
|
||||
(setq verilog-case-indent 4)
|
||||
(setq verilog-auto-newline nil))
|
||||
(use-package verilog-ext
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:hook ((verilog-mode . verilog-ext-mode))
|
||||
:init
|
||||
;; Can also be set through `M-x RET customize-group RET verilog-ext':
|
||||
@ -24,7 +27,7 @@
|
||||
(setq verilog-ext-feature-list
|
||||
'(font-lock
|
||||
xref
|
||||
;; capf
|
||||
capf
|
||||
hierarchy
|
||||
eglot
|
||||
;; lsp
|
||||
@ -32,14 +35,14 @@
|
||||
beautify
|
||||
navigation
|
||||
template
|
||||
formatter
|
||||
;; formatter
|
||||
compilation
|
||||
imenu
|
||||
which-func
|
||||
hideshow
|
||||
typedefs
|
||||
time-stamp
|
||||
block-end-comments
|
||||
;; block-end-comments
|
||||
ports))
|
||||
:config
|
||||
(verilog-ext-mode-setup))
|
||||
|
||||
@ -3,6 +3,8 @@
|
||||
(require 'init-funcs)
|
||||
|
||||
(use-package vertico
|
||||
:straight t
|
||||
:ensure t
|
||||
:bind (:map vertico-map
|
||||
("C-j" . vertico-next)
|
||||
("C-k" . vertico-previous))
|
||||
@ -10,27 +12,34 @@
|
||||
:custom
|
||||
(vertico-cycle t))
|
||||
(use-package nerd-icons-completion
|
||||
:straight t
|
||||
:ensure t
|
||||
:hook (vertico-mode . nerd-icons-completion-mode))
|
||||
|
||||
(when (display-graphic-p)
|
||||
(use-package vertico-posframe
|
||||
:when custom-vertico-posframe
|
||||
:after vertico
|
||||
:hook (vertico-mode . vertico-posframe-mode)
|
||||
:config
|
||||
(setq vertico-posframe-border-width 5)))
|
||||
(use-package vertico-posframe
|
||||
:straight t
|
||||
:ensure t
|
||||
:when (and custom-vertico-posframe 'display-graphic-p)
|
||||
:after vertico
|
||||
:hook (vertico-mode . vertico-posframe-mode)
|
||||
:config
|
||||
(setq vertico-posframe-border-width 5))
|
||||
;; (setq vertico-posframe-parameters
|
||||
;; '((left-fringe . 20)
|
||||
;; (right-fringe . 20)))))
|
||||
|
||||
;; simple, but effective sorting and filtering for emacs.
|
||||
(use-package vertico-prescient
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:config
|
||||
(vertico-prescient-mode))
|
||||
|
||||
;; annotations placed at the margin of the minibuffer
|
||||
(use-package marginalia
|
||||
:straight t
|
||||
:ensure t
|
||||
:after vertico
|
||||
:defer t
|
||||
:custom
|
||||
@ -39,6 +48,8 @@
|
||||
|
||||
|
||||
(use-package consult
|
||||
:straight t
|
||||
:ensure t
|
||||
:demand t
|
||||
:bind (:map minibuffer-local-map
|
||||
("C-r" . consult-history))
|
||||
@ -46,15 +57,20 @@
|
||||
(completion-in-region-function #'consult-completion-in-region)
|
||||
:config
|
||||
(global-set-key (kbd "C-s") 'consult-line)
|
||||
;; HACK: https://github.com/Bad-ptr/persp-mode.el/issues/125
|
||||
(with-eval-after-load "persp-mode-autoloads"
|
||||
(defun my/consult-switch-to-buffer ()
|
||||
"`consult-buffer' with buffers provided by persp."
|
||||
(interactive)
|
||||
(with-persp-buffer-list () (consult-buffer)))
|
||||
(global-set-key (kbd "C-M-j") #'my/consult-switch-to-buffer)))
|
||||
(defun my/consult-switch-to-buffer ()
|
||||
"`consult-buffer' with buffers provided by persp."
|
||||
(interactive)
|
||||
(with-persp-buffer-list () (consult-buffer)))
|
||||
(defun my/consult-project-switch-to-buffer ()
|
||||
"`consult-project-buffer' with buffers provided by persp."
|
||||
(interactive)
|
||||
(with-persp-buffer-list () (consult-project-buffer)))
|
||||
(global-set-key (kbd "C-M-j") #'my/consult-switch-to-buffer)
|
||||
(global-set-key (kbd "C-M-h") #'my/consult-project-switch-to-buffer))
|
||||
|
||||
(use-package orderless
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:custom
|
||||
(completion-styles '(orderless basic))
|
||||
@ -62,6 +78,8 @@
|
||||
|
||||
;; Quick action in minibuffer
|
||||
(use-package embark
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:bind (("C-." . embark-act))
|
||||
:config
|
||||
@ -72,11 +90,15 @@
|
||||
(setq prefix-help-command #'embark-prefix-help-command))
|
||||
|
||||
(use-package embark-consult
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:after embark)
|
||||
|
||||
;;; Corfu
|
||||
(use-package corfu
|
||||
:straight t
|
||||
:ensure t
|
||||
:custom
|
||||
(corfu-cycle t) ;; Enable cycling for `corfu-next/previous'
|
||||
(corfu-auto t) ;; Enable auto completion
|
||||
@ -97,64 +119,62 @@
|
||||
(eldoc-add-command #'corfu-insert)
|
||||
(define-key corfu-map (kbd "M-p") #'corfu-popupinfo-scroll-down)
|
||||
(define-key corfu-map (kbd "M-n") #'corfu-popupinfo-scroll-up)
|
||||
(define-key corfu-map (kbd "M-d") #'corfu-popupinfo-toggle)
|
||||
(define-key corfu-map (kbd "M-d") #'corfu-popupinfo-toggle))
|
||||
|
||||
(use-package kind-icon
|
||||
:defer nil
|
||||
:custom
|
||||
(kind-icon-default-face 'corfu-default) ; to compute blended backgrounds correctly
|
||||
:config
|
||||
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter)
|
||||
(when (icons-displayable-p)
|
||||
(setq kind-icon-use-icons nil)
|
||||
(setq kind-icon-mapping
|
||||
`(
|
||||
(array ,(nerd-icons-codicon "nf-cod-symbol_array") :face font-lock-type-face)
|
||||
(boolean ,(nerd-icons-codicon "nf-cod-symbol_boolean") :face font-lock-builtin-face)
|
||||
(class ,(nerd-icons-codicon "nf-cod-symbol_class") :face font-lock-type-face)
|
||||
(color ,(nerd-icons-codicon "nf-cod-symbol_color") :face success)
|
||||
(command ,(nerd-icons-codicon "nf-cod-terminal") :face default)
|
||||
(constant ,(nerd-icons-codicon "nf-cod-symbol_constant") :face font-lock-constant-face)
|
||||
(constructor ,(nerd-icons-codicon "nf-cod-triangle_right") :face font-lock-function-name-face)
|
||||
(enummember ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face)
|
||||
(enum-member ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face)
|
||||
(enum ,(nerd-icons-codicon "nf-cod-symbol_enum") :face font-lock-builtin-face)
|
||||
(event ,(nerd-icons-codicon "nf-cod-symbol_event") :face font-lock-warning-face)
|
||||
(field ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-variable-name-face)
|
||||
(file ,(nerd-icons-codicon "nf-cod-symbol_file") :face font-lock-string-face)
|
||||
(folder ,(nerd-icons-codicon "nf-cod-folder") :face font-lock-doc-face)
|
||||
(interface ,(nerd-icons-codicon "nf-cod-symbol_interface") :face font-lock-type-face)
|
||||
(keyword ,(nerd-icons-codicon "nf-cod-symbol_keyword") :face font-lock-keyword-face)
|
||||
(macro ,(nerd-icons-codicon "nf-cod-symbol_misc") :face font-lock-keyword-face)
|
||||
(magic ,(nerd-icons-codicon "nf-cod-wand") :face font-lock-builtin-face)
|
||||
(method ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face)
|
||||
(function ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face)
|
||||
(module ,(nerd-icons-codicon "nf-cod-file_submodule") :face font-lock-preprocessor-face)
|
||||
(numeric ,(nerd-icons-codicon "nf-cod-symbol_numeric") :face font-lock-builtin-face)
|
||||
(operator ,(nerd-icons-codicon "nf-cod-symbol_operator") :face font-lock-comment-delimiter-face)
|
||||
(param ,(nerd-icons-codicon "nf-cod-symbol_parameter") :face default)
|
||||
(property ,(nerd-icons-codicon "nf-cod-symbol_property") :face font-lock-variable-name-face)
|
||||
(reference ,(nerd-icons-codicon "nf-cod-references") :face font-lock-variable-name-face)
|
||||
(snippet ,(nerd-icons-codicon "nf-cod-symbol_snippet") :face font-lock-string-face)
|
||||
(string ,(nerd-icons-codicon "nf-cod-symbol_string") :face font-lock-string-face)
|
||||
(struct ,(nerd-icons-codicon "nf-cod-symbol_structure") :face font-lock-variable-name-face)
|
||||
(text ,(nerd-icons-codicon "nf-cod-text_size") :face font-lock-doc-face)
|
||||
(typeparameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face)
|
||||
(type-parameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face)
|
||||
(unit ,(nerd-icons-codicon "nf-cod-symbol_ruler") :face font-lock-constant-face)
|
||||
(value ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-builtin-face)
|
||||
(variable ,(nerd-icons-codicon "nf-cod-symbol_variable") :face font-lock-variable-name-face)
|
||||
(t ,(nerd-icons-codicon "nf-cod-code") :face font-lock-warning-face))))))
|
||||
|
||||
|
||||
(use-package corfu-terminal
|
||||
(use-package kind-icon
|
||||
:straight t
|
||||
:ensure t
|
||||
:custom
|
||||
(kind-icon-default-face 'corfu-default) ; to compute blended backgrounds correctly
|
||||
:config
|
||||
(unless (display-graphic-p)
|
||||
(corfu-terminal-mode)))
|
||||
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter)
|
||||
(when (icons-displayable-p)
|
||||
(setq kind-icon-use-icons nil)
|
||||
(setq kind-icon-mapping
|
||||
`(
|
||||
(array ,(nerd-icons-codicon "nf-cod-symbol_array") :face font-lock-type-face)
|
||||
(boolean ,(nerd-icons-codicon "nf-cod-symbol_boolean") :face font-lock-builtin-face)
|
||||
(class ,(nerd-icons-codicon "nf-cod-symbol_class") :face font-lock-type-face)
|
||||
(color ,(nerd-icons-codicon "nf-cod-symbol_color") :face success)
|
||||
(command ,(nerd-icons-codicon "nf-cod-terminal") :face default)
|
||||
(constant ,(nerd-icons-codicon "nf-cod-symbol_constant") :face font-lock-constant-face)
|
||||
(constructor ,(nerd-icons-codicon "nf-cod-triangle_right") :face font-lock-function-name-face)
|
||||
(enummember ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face)
|
||||
(enum-member ,(nerd-icons-codicon "nf-cod-symbol_enum_member") :face font-lock-builtin-face)
|
||||
(enum ,(nerd-icons-codicon "nf-cod-symbol_enum") :face font-lock-builtin-face)
|
||||
(event ,(nerd-icons-codicon "nf-cod-symbol_event") :face font-lock-warning-face)
|
||||
(field ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-variable-name-face)
|
||||
(file ,(nerd-icons-codicon "nf-cod-symbol_file") :face font-lock-string-face)
|
||||
(folder ,(nerd-icons-codicon "nf-cod-folder") :face font-lock-doc-face)
|
||||
(interface ,(nerd-icons-codicon "nf-cod-symbol_interface") :face font-lock-type-face)
|
||||
(keyword ,(nerd-icons-codicon "nf-cod-symbol_keyword") :face font-lock-keyword-face)
|
||||
(macro ,(nerd-icons-codicon "nf-cod-symbol_misc") :face font-lock-keyword-face)
|
||||
(magic ,(nerd-icons-codicon "nf-cod-wand") :face font-lock-builtin-face)
|
||||
(method ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face)
|
||||
(function ,(nerd-icons-codicon "nf-cod-symbol_method") :face font-lock-function-name-face)
|
||||
(module ,(nerd-icons-codicon "nf-cod-file_submodule") :face font-lock-preprocessor-face)
|
||||
(numeric ,(nerd-icons-codicon "nf-cod-symbol_numeric") :face font-lock-builtin-face)
|
||||
(operator ,(nerd-icons-codicon "nf-cod-symbol_operator") :face font-lock-comment-delimiter-face)
|
||||
(param ,(nerd-icons-codicon "nf-cod-symbol_parameter") :face default)
|
||||
(property ,(nerd-icons-codicon "nf-cod-symbol_property") :face font-lock-variable-name-face)
|
||||
(reference ,(nerd-icons-codicon "nf-cod-references") :face font-lock-variable-name-face)
|
||||
(snippet ,(nerd-icons-codicon "nf-cod-symbol_snippet") :face font-lock-string-face)
|
||||
(string ,(nerd-icons-codicon "nf-cod-symbol_string") :face font-lock-string-face)
|
||||
(struct ,(nerd-icons-codicon "nf-cod-symbol_structure") :face font-lock-variable-name-face)
|
||||
(text ,(nerd-icons-codicon "nf-cod-text_size") :face font-lock-doc-face)
|
||||
(typeparameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face)
|
||||
(type-parameter ,(nerd-icons-codicon "nf-cod-list_unordered") :face font-lock-type-face)
|
||||
(unit ,(nerd-icons-codicon "nf-cod-symbol_ruler") :face font-lock-constant-face)
|
||||
(value ,(nerd-icons-codicon "nf-cod-symbol_field") :face font-lock-builtin-face)
|
||||
(variable ,(nerd-icons-codicon "nf-cod-symbol_variable") :face font-lock-variable-name-face)
|
||||
(t ,(nerd-icons-codicon "nf-cod-code") :face font-lock-warning-face)))))
|
||||
|
||||
|
||||
;;; Cape
|
||||
;; Setup Cape for better completion-at-point support and more
|
||||
(use-package cape
|
||||
:straight t
|
||||
:ensure t
|
||||
:config
|
||||
;; Add useful defaults completion sources from cape
|
||||
(add-to-list 'completion-at-point-functions #'cape-file)
|
||||
@ -171,6 +191,5 @@
|
||||
corfu-quit-no-match t
|
||||
corfu-auto nil)
|
||||
(corfu-mode))))
|
||||
|
||||
(provide 'init-vertico)
|
||||
;;; init-vertico.el ends here
|
||||
|
||||
@ -1,13 +1,18 @@
|
||||
;;; init-yasnippet.el -*- lexical-binding: t -*-
|
||||
;; Yet another snippet extension
|
||||
(use-package yasnippet
|
||||
:straight t
|
||||
:ensure t
|
||||
:defer t
|
||||
:diminish yas-minor-mode
|
||||
:hook (after-init . yas-global-mode)
|
||||
:config
|
||||
(setq yas-indent-line nil)) ;; indent does not work properly.
|
||||
|
||||
;; Collection of yasnippet snippets
|
||||
(use-package yasnippet-snippets)
|
||||
(use-package yasnippet-snippets
|
||||
:straight t
|
||||
:ensure t)
|
||||
|
||||
(provide 'init-yasnippet)
|
||||
;;; init-yasnippet.el ends here
|
||||
|
||||
12
.config/emacs/readme.org
Normal file
12
.config/emacs/readme.org
Normal file
@ -0,0 +1,12 @@
|
||||
* Need program list
|
||||
** DIRED
|
||||
*** DIRED-RSYNC
|
||||
RSYNC
|
||||
*** DIRED-FD
|
||||
FD
|
||||
+ Ubuntu : fd-find
|
||||
** Org
|
||||
*** OB-RUST
|
||||
rust script
|
||||
+ Cargo install rust-script
|
||||
|
||||
@ -9,7 +9,7 @@ return {
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
config = function()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {"lua_ls", "clangd", "cmake", "cssls", "html"}
|
||||
ensure_installed = {"lua_ls", "clangd"}
|
||||
})
|
||||
end
|
||||
},
|
||||
|
||||
@ -42,7 +42,13 @@ return {
|
||||
{
|
||||
"catppuccin/nvim",
|
||||
config = function()
|
||||
vim.cmd.colorscheme "catppuccin"
|
||||
-- vim.cmd.colorscheme "catppuccin"
|
||||
end
|
||||
},
|
||||
{
|
||||
"tomasr/molokai",
|
||||
config = function()
|
||||
vim.cmd.colorscheme "molokai"
|
||||
end
|
||||
},
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ vim.cmd("set ai") -- auto indent
|
||||
vim.cmd("set si") -- smart indent
|
||||
vim.cmd("set cindent") -- c style indent
|
||||
|
||||
vim.cmd("set expandtab") -- tab to space
|
||||
vim.cmd("set shiftwidth=4") -- shift order 4step
|
||||
vim.cmd("set tabstop=4") -- tab order 4step
|
||||
vim.cmd("set hlsearch") -- highlight empathize the word.
|
||||
@ -49,5 +50,3 @@ vim.keymap.set('n', '<C-k>', '<C-w>k', {})
|
||||
--
|
||||
vim.keymap.set('n', '<F12>', ':cd %:p:h<cr>:term zsh<cr>', {})
|
||||
vim.keymap.set('n', '<F7>', '@a', {})
|
||||
|
||||
|
||||
|
||||
@ -29,9 +29,9 @@ super+s
|
||||
super+shift+s
|
||||
scrot -s -e 'xclip -selection clipboard -t image/png -i $f'
|
||||
super+shift+e
|
||||
rofi -mode drun -theme solarized -font "hack 20" -show combi
|
||||
rofi drun,run,filebrowser -show
|
||||
alt+Tab
|
||||
rofi -mode window -theme solarized -font "hack 20" -show
|
||||
rofi -show window
|
||||
|
||||
##rofi things
|
||||
##Launch apps
|
||||
|
||||
11
scripts/vscode-settings-export.sh
Executable file
11
scripts/vscode-settings-export.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
# export settings
|
||||
# cp ~/.config/Code/User/settings.json ~/.dotfiles/scripts/vscode/
|
||||
# export keybindings
|
||||
# cp ~/.config/Code/User/keybindings.json ~/.dotfiles/scripts/vscode/
|
||||
|
||||
|
||||
# export extensions
|
||||
code --list-extensions > ~/.dotfiles/.config/Code/User/extensions.txt
|
||||
|
||||
7
scripts/vscode-settings-import.sh
Executable file
7
scripts/vscode-settings-import.sh
Executable file
@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# import extensions
|
||||
while read extension; do
|
||||
#code --install-extension "$extension"
|
||||
echo $extension
|
||||
done < ~/.dotfiles/scripts/vscode/extensions.txt
|
||||
Reference in New Issue
Block a user