summaryrefslogtreecommitdiffstats
path: root/.config/emacs/org/config.org
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/org/config.org')
-rw-r--r--.config/emacs/org/config.org920
1 files changed, 0 insertions, 920 deletions
diff --git a/.config/emacs/org/config.org b/.config/emacs/org/config.org
deleted file mode 100644
index f041eb9..0000000
--- a/.config/emacs/org/config.org
+++ /dev/null
@@ -1,920 +0,0 @@
-* My emacs config
-** Basic configs
- #+BEGIN_SRC emacs-lisp
- (server-start)
- (setq x-alt-keysym 'meta)
- (set-keyboard-coding-system 'utf-8)
-
- (menu-bar-mode -1)
- (tool-bar-mode -1)
- (scroll-bar-mode -1)
- (blink-cursor-mode -1)
- (setq visible-cursor nil)
- (global-hl-line-mode 1)
- (global-auto-revert-mode t)
- (defun my/disable-scroll-bars (frame)
- (modify-frame-parameters frame
- '((vertical-scroll-bars . nil)
- (horizontal-scroll-bars . nil))))
- (add-hook 'after-make-frame-functions 'my/disable-scroll-bars)
-
- (setq default-frame-alist '((font . "mononoki Nerd Font:pixelsize=17")))
- ;; (set-frame-font "mononoki Nerd Font:pixelsize=15" nil t)
- (add-hook 'prog-mode-hook 'display-line-numbers-mode)
- (add-hook 'text-mode-hook 'display-line-numbers-mode)
-
- (setq scroll-step 1)
- ;; (setq scroll-margin 1)
- (setq echo-keystrokes 0.1)
- (setq initial-scratch-message nil)
- (defalias 'yes-or-no-p 'y-or-n-p)
-
- (setq backup-directory-alist '(("." . "/tmp/emacs-backup"))
- backup-by-copying t
- version-control t
- delete-old-versions t
- kept-new-versions 20
- kept-old-versions 5)
- #+END_SRC
-
-** Desktop-save
- #+BEGIN_SRC emacs-lisp
- (setq desktop-dirname (expand-file-name "desktop" user-emacs-directory)
- desktop-base-file-name "emacs.desktop"
- desktop-base-lock-name "lock"
- desktop-path (list desktop-dirname)
- desktop-save t
- desktop-files-not-to-save "^$"
- desktop-auto-save-timeout 60)
- (desktop-save-mode 1)
- #+END_SRC
-
-** GC
- #+BEGIN_SRC emacs-lisp
- (add-hook 'focus-out-hook 'garbage-collect)
- (add-hook 'minibuffer-setup-hook 'my/set-max-gc-cons-threshold) ;; defined in early-init.el
- (add-hook 'minibuffer-exit-hook 'my/set-default-gc-cons-threshold)
- #+END_SRC
-
-** MELPA and non-MELPA
-#+BEGIN_SRC emacs-lisp
- (require 'package)
- (push (expand-file-name "elpa" user-emacs-directory) package-directory-list)
- (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
- (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
- (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
- (package-initialize)
-
- (add-to-list 'load-path (expand-file-name "font-lock+" user-emacs-directory))
- (add-to-list 'load-path (expand-file-name "header2/" user-emacs-directory))
- (add-to-list 'load-path (expand-file-name "all-the-icons/" user-emacs-directory))
- (add-to-list 'load-path (expand-file-name "all-the-icons-dired/" user-emacs-directory))
-
- (setq package-selected-packages '(
- evil evil-collection evil-leader
- evil-search-highlight-persist evil-mc evil-surround
- evil-visual-mark-mode evil-nerd-commenter evil-vimish-fold
- evil-numbers evil-quickscope
- lsp-mode lsp-ui
- windresize
- yasnippet yasnippet-classic-snippets yasnippet-snippets auto-yasnippet el-autoyas
- helm helm-xref helm-lsp helm-etags-plus helm-fuzzy helm-themes helm-make helm-projectile
- projectile
- org-evil
- company company-box company-go company-fuzzy company-nginx
- which-key
- magit
- undo-tree
- shell-pop
- smartparens
- rainbow-delimiters
- color-identifiers-mode
- ibuffer-vc ibuffer-projectile
- eyebrowse
- diff-hl
- fzf
- font-utils
- restart-emacs
- string-utils
- dired-icon
- kaolin-themes gruvbox-theme doom-themes spacemacs-theme
- doom-modeline
- dashboard
- org-superstar toc-org
- pdf-tools
- dockerfile-mode
- go-mode
- web-mode
- ssh sudo-ext
- vimish-fold
- bind-key
- all-the-icons all-the-icons-dired all-the-icons-ibuffer
- mutt-mode vimrc-mode nginx-mode gemini-mode yaml-mode crontab-mode
- neotree
- ))
-
- (when (cl-find-if-not #'package-installed-p package-selected-packages)
- (package-refresh-contents)
- (mapc #'package-install package-selected-packages))
-#+END_SRC
-
-** Some org
-#+BEGIN_SRC emacs-lisp
- ;; set key for agenda
- ;; (require 'org)
- ;; (global-set-(kbd "C-c a") 'org-agenda)
-
- ;;file to save todo items
- ;; (setq org-agenda-files (quote ("~/.config/emacs/org/todo.org")))
- (setq org-log-done 'time)
-
- ;;set priority range from A to C with default A
- (setq org-highest-priority ?A)
- (setq org-lowest-priority ?C)
- (setq org-default-priority ?A)
-
- ;;set colours for priorities
- (setq org-priority-faces '((?A . (:foreground "#F0DFAF" :weight bold))
- (?B . (:foreground "LightSteelBlue"))
- (?C . (:foreground "OliveDrab"))))
-
- (setq org-todo-keywords
- '((sequence "TODO"
- "DOING"
- "|"
- "DONE"
- "DELAYED"
- "CANCELED")))
-
- (setq org-log-done 'time)
-
- ;;open agenda in current window
- ;; (setq org-agenda-window-setup (quote current-window))
-
- ;;capture todo items using C-c C-t t
- ;; (define-key global-map (kbd "C-c C-t") 'org-capture)
- ;; (setq org-capture-templates
- ;; '(("t" "todo" entry (file+headline "~/.config/emacs/org/todo.org" "Tasks")
- ;; "* TODO [#A] %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n")))
-
- ;;open agenda in current window
- ;; (setq org-agenda-window-setup (quote current-window))
- ;;warn me of any deadlines in next 7 days
- ;; (setq org-deadline-warning-days 7)
- ;;show me tasks scheduled or due in next fortnight
- ;; (setq org-agenda-span (quote fortnight))
- ;;don't show tasks as scheduled if they are already shown as a deadline
- ;; (setq org-agenda-skip-scheduled-if-deadline-is-shown t)
- ;;don't give awarning colour to tasks with impending deadlines
- ;;if they are scheduled to be done
- ;; (setq org-agenda-skip-deadline-prewarning-if-scheduled (quote pre-scheduled))
- ;;don't show tasks that are scheduled or have deadlines in the
- ;;normal todo list
- ;; (setq org-agenda-todo-ignore-deadlines (quote all))
- ;; (setq org-agenda-todo-ignore-scheduled (quote all))
- ;;sort tasks in order of when they are due and then by priority
- ;; (setq org-agenda-sorting-strategy
- ;; (quote
- ;; ((agenda deadline-up priority-down)
- ;; (todo priority-down category-keep)
- ;; (tags priority-down category-keep)
- ;; (search category-keep))))
-
- (org-babel-do-load-languages
- 'org-babel-load-languages '((C . t )))
- (org-babel-do-load-languages
- 'org-babel-load-languages '((lisp . t)))
- (eval-after-load "org"
- '(require 'ox-md nil t))
-#+END_SRC
-
-** header2
-#+BEGIN_SRC emacs-lisp
-#+END_SRC
-
-** Other configs
-#+BEGIN_SRC emacs-lisp
- (setq evil-want-integration t) ;; This is optional since it's already set to t by default.
- (setq evil-want-keybinding nil)
- (setq evil-want-C-u-scroll t)
-
- (add-hook 'html-mode-hook
- (lambda()
- (setq sgml-basic-offset 4)
- (setq indent-tabs-mode t)))
-#+END_SRC
-
-** Files types attribution
- #+BEGIN_SRC emacs-lisp
- (add-to-list 'auto-mode-alist '("xinitrc$" . shell-script-mode))
- (add-to-list 'auto-mode-alist '("env$" . shell-script-mode))
- (add-to-list 'auto-mode-alist '("lfrc$" . vimrc-mode))
- (add-to-list 'auto-mode-alist '("muttrc$" . mutt-mode))
- (add-to-list 'auto-mode-alist '("dunstrc$" . conf-mode))
- (add-to-list 'auto-mode-alist '("loader.conf$" . conf-mode))
- (add-to-list 'auto-mode-alist '("mailcap$" . conf-mode))
- (add-to-list 'auto-mode-alist '("/tmp/neomutt-*" . mail-mode))
- #+END_SRC
-
-** Core packages
-*** Smartparens
-#+BEGIN_SRC emacs-lisp
- (require 'smartparens-config)
-(smartparens-global-mode)
-#+END_SRC
-
-*** Evil mode
-#+BEGIN_SRC emacs-lisp
- (require 'evil)
- (require 'evil-collection)
- (require 'evil-leader)
- (require 'evil-search-highlight-persist)
- (require 'org-evil)
- (evil-mode t)
- (evil-collection-init 'ibuffer)
- (evil-collection-init 'magit)
- (evil-collection-init 'flymake)
- (evil-collection-init 'neotree)
- ;; (evil-collection-init 'mu4e)
-
-
- (setq evil-emacs-state-cursor '("#b16286" box))
- (setq evil-normal-state-cursor '("#d79921" box))
- (setq evil-visual-state-cursor '("#b06597" box))
- (setq evil-insert-state-cursor '("#d79921" bar))
- (setq evil-replace-state-cursor '("#cc241d" hbar))
- (setq evil-operator-state-cursor '("#d79921" hbar))
-
-
- (evil-define-key 'insert global-map (kbd "C-o") 'delete-other-windows)
- (evil-define-key 'insert global-map (kbd "C-u") 'evil-delete-backward-word)
- (evil-define-key 'insert global-map (kbd "C-h") 'evil-delete-backward-char)
- (evil-define-key 'normal global-map (kbd "C-o") 'delete-other-windows)
- (evil-define-key 'normal global-map (kbd "C-k") 'windmove-up)
- (evil-define-key 'normal global-map (kbd "C-j") 'windmove-down)
- (evil-define-key 'normal global-map (kbd "C-h") 'windmove-left)
- (evil-define-key 'normal global-map (kbd "C-l") 'windmove-right)
-
- (global-evil-leader-mode)
- (evil-leader/set-leader "\\")
- (setq evil-leader/in-all-states 1)
-
- (require 'evil-search-highlight-persist)
- (global-evil-search-highlight-persist 1)
-
- (evil-leader/set-key "SPC" 'evil-search-highlight-persist-remove-all)
-
- (global-undo-tree-mode)
- (evil-set-undo-system 'undo-tree)
-#+END_SRC
-
-*** Evil nerd commenter
-#+BEGIN_SRC emacs-lisp
-(require 'evil-nerd-commenter)
-(evilnc-default-hotkeys)
-#+END_SRC
-
-*** Evil surround
-#+BEGIN_SRC emacs-lisp
- (require 'evil-surround)
- (global-evil-surround-mode 1)
-#+END_SRC
-
-*** Evil multiple-cursor
-#+BEGIN_SRC emacs-lisp
- (require 'evil-mc)
- (global-evil-mc-mode 1)
-#+END_SRC
-
-*** Evil vimish Fold
- #+BEGIN_SRC emacs-lisp
- (require 'vimish-fold)
- (require 'evil-vimish-fold)
- (add-hook 'prog-mode-hook 'evil-vimish-fold-mode)
- (add-hook 'text-mode-hook 'evil-vimish-fold-mode)
- #+END_SRC
-
-*** Evil numbers
-#+BEGIN_SRC emacs-lisp
- (require 'evil-numbers)
- (define-key evil-normal-state-map (kbd "C-c C-a") 'evil-numbers/inc-at-pt)
- (define-key evil-normal-state-map (kbd "C-c C-x") 'evil-numbers/dec-at-pt)
-#+END_SRC
-
-*** Evil quickscope
- #+BEGIN_SRC emacs-lisp
- (require 'evil-quickscope)
- (global-evil-quickscope-mode 1)
- #+END_SRC
-
-*** Dashboard
-#+BEGIN_SRC emacs-lisp
- (require 'dashboard)
- (dashboard-setup-startup-hook)
-
- (setq dashboard-banner-logo-title (concat "Welcome back to Emacs " emacs-version ", partner!")
-
- dashboard-startup-banner (expand-file-name "caco.png" user-emacs-directory)
- ;; dashboard-startup-banner 'official
- dashboard-set-init-info nil
- dashboard-set-footer nil
- dashboard-center-content t
- dashboard-show-shortcuts nil
- dashboard-set-heading-icons t
- dashboard-set-file-icons nil
- dashboard-set-navigator t
- show-week-agenda-p t)
-
- (setq dashboard-items '((projects . 10)
- (recents . 10)
- (bookmarks . 10)
- (agenda . 5)))
-
- (add-to-list 'evil-emacs-state-modes 'dashboard-mode)
-#+END_SRC
-
-*** w3m
-#+BEGIN_SRC emacs-lisp
-;; (require 'w3m-load)
-;; (setq w3m-home-page "https://start.duckduckgo.com/")
-;; (setq w3m-default-display-inline-images t)
-;; (define-key w3m-mode-map "w" 'right-word)
-;; (define-key w3m-mode-map "b" 'left-word)
-;; (define-key w3m-mode-map "<" 'scroll-left)
-;; (define-key w3m-mode-map ">" 'scroll-right)
-;; (define-key w3m-mode-map (kbd "C-d") 'evil-scroll-page-down)
-;; (define-key w3m-mode-map (kbd "C-u") 'evil-scroll-page-up)
-;; (define-key w3m-mode-map "H" 'w3m-view-previous-page)
-;; (define-key w3m-mode-map "L" 'w3m-view-next-page)
-;; (define-key w3m-mode-map "o" 'w3m-goto-url)
-;; (define-key w3m-mode-map "O" 'w3m-goto-url-new-session)
-;; (define-key w3m-mode-map "v" 'w3m-view-image)
-;; (define-key w3m-mode-map "$" 'w3m-end-of-line)
-;; (define-key w3m-mode-map "^" 'w3m-beginning-of-line)
-;; (define-key w3m-mode-map (kbd "M-j") 'w3m-next-buffer)
-;; (define-key w3m-mode-map (kbd "M-k") 'w3m-previous-buffer)
-;; (define-key w3m-mode-map "t" 'w3m-copy-buffer)
-#+END_SRC
-
-*** Helm, projectile
- #+BEGIN_SRC emacs-lisp
- (require 'helm-misc)
- (require 'helm-projectile)
- (require 'helm-locate)
- (require 'helm-lsp)
-
- (global-set-key (kbd "M-x") 'helm-M-x)
- (global-set-key (kbd "C-x C-f") #'helm-find-files)
- (global-set-key (kbd "M-p") #'helm-projectile-switch-project)
- (global-set-key (kbd "C-x C-b") #'helm-mini)
- (global-set-key (kbd "C-x p") #'helm-projectile)
- (define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action)
- (define-key helm-map (kbd "C-i") 'helm-execute-persistent-action)
- (define-key helm-map (kbd "C-z") 'helm-select-action)
- (define-key helm-map (kbd "C-j") 'helm-next-line)
- (define-key helm-map (kbd "C-k") 'helm-previous-line)
- (define-key helm-find-files-map (kbd "C-h") 'helm-find-files-up-one-level)
- (define-key helm-find-files-map (kbd "C-l") 'helm-execute-persistent-action)
-
- (setq helm-quick-update t
- helm-bookmark-show-location t
- helm-buffers-fuzzy-matching t
- helm-make-executable "/usr/bin/make"
- helm-make-nproc 12
- helm-split-window-in-side-p t)
-
- (defun helm-my-buffers ()
- (interactive)
- (let ((helm-ff-transformer-show-only-basename nil))
- (helm-other-buffer '(helm-c-source-buffers-list
- helm-c-source-elscreen
- helm-c-source-projectile-files-list
- helm-c-source-ctags
- helm-c-source-recentf
- helm-c-source-locate)
- "*helm-my-buffers*")))
-
- (helm-mode 1)
- (projectile-mode +1)
- #+END_SRC
-
-*** DOOM Modeline
-#+BEGIN_SRC emacs-lisp
-(setq display-time-string-forms
- '((propertize (concat " " 24-hours ":" minutes " "))))
-
-(require 'doom-modeline)
-(doom-modeline-mode 1)
-(setq doom-modeline-height 30)
-(setq doom-modeline-project-detection 'projectile)
-(setq doom-modeline-buffer-file-name-style 'truncate-upto-project)
-(setq doom-modeline-icon (display-graphic-p))
-(setq doom-modeline-major-mode-icon t)
-(setq doom-modeline-major-mode-color-icon t)
-(setq doom-modeline-buffer-state-icon t)
-(setq doom-modeline-buffer-modification-icon t)
-(setq doom-modeline-unicode-fallback t)
-(setq doom-modeline-enable-word-count nil)
-(setq doom-modeline-buffer-encoding nil)
-(setq doom-modeline-indent-info nil)
-(setq doom-modeline-checker-simple-format t)
-(setq doom-modeline-number-limit 99)
-(setq doom-modeline-vcs-max-length 12)
-(setq doom-modeline-persp-name t)
-(setq doom-modeline-lsp t)
-(setq doom-modeline-github nil)
-(setq doom-modeline-github-interval (* 30 60))
-(setq doom-modeline-modal-icon t)
-(setq doom-modeline-gnus nil)
-(setq doom-modeline-irc t)
-(setq doom-modeline-irc-stylize 'identity)
-(setq doom-modeline-env-version t)
-(setq doom-modeline-env-python-executable "python-shell-interpreter")
-(setq doom-modeline-env-ruby-executable "ruby")
-(setq doom-modeline-env-perl-executable "perl")
-(setq doom-modeline-env-go-executable "go")
-(setq doom-modeline-env-elixir-executable "iex")
-(setq doom-modeline-env-rust-executable "rustc")
-(setq doom-modeline-env-load-string "...")
-(setq doom-modeline-before-update-env-hook nil)
-(setq doom-modeline-after-update-env-hook nil)
-(display-battery-mode)
-(column-number-mode)
-(display-time)
-(doom-themes-neotree-config)
-#+END_SRC
-
-*** Colors and rainbows
-#+BEGIN_SRC emacs-lisp
-;; (require 'color-identifiers-mode)
-;; (global-color-identifiers-mode)
-
-(require 'rainbow-delimiters)
-(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
-#+END_SRC
-
-*** C default style
-#+BEGIN_SRC emacs-lisp
- (c-add-style "openbsd"
- '("bsd"
- (c-backspace-function . delete-backward-char)
- (c-syntactic-indentation-in-macros . nil)
- (c-tab-always-indent . nil)
- (c-hanging-braces-alist
- (block-close . c-snug-do-while))
- (c-offsets-alist
- (arglist-cont-nonempty . *)
- (statement-cont . *))
- (indent-tabs-mode . t)))
- (setq c-default-style "openbsd")
-#+END_SRC
-
-*** Magit
-#+BEGIN_SRC emacs-lisp
-(require 'magit)
-
-(defun my/magit-kill-buffers ()
- "Restore window configuration and kill all Magit buffers.
-Attribution: URL `https://manuel-uberti.github.io/emacs/2018/02/17/magit-bury-buffer/'"
- (interactive)
- (let ((buffers (magit-mode-get-buffers)))
- (magit-restore-window-configuration)
- (mapc #'kill-buffer buffers)))
-
-(bind-key "q" #'my/magit-kill-buffers magit-status-mode-map)
-(evil-define-key 'insert magit-status-mode-map (kbd "q") #'my/magit-kill-buffers)
-(evil-define-key 'normal magit-status-mode-map (kbd "q") #'my/magit-kill-buffers)
-#+END_SRC
-
-*** Lock windows
-#+BEGIN_SRC emacs-lisp
-(defun my/toggle-window-dedicated ()
- "Control whether or not Emacs is allowed to display another
-buffer in current window."
- (interactive)
- (message
- (if (let (window (get-buffer-window (current-buffer)))
- (set-window-dedicated-p window (not (window-dedicated-p window))))
- "%s: locked"
- "%s is up for grabs")
- (current-buffer)))
-
-(global-set-key (kbd "C-c t") 'my/toggle-window-dedicated)
-#+END_SRC
-
-*** Tabs and stuff
-#+BEGIN_SRC emacs-lisp
-(defun minibuffer-keyboard-quit ()
- "Abort recursive edit.
-In Delete Selection mode, if the mark is active, just deactivate it;
-then it takes a second \\[keyboard-quit] to abort the minibuffer."
- (interactive)
- (if (and delete-selection-mode transient-mark-mode mark-active)
- (setq deactivate-mark t)
- (when (get-buffer "*Completions*") (delete-windows-on "*Completions*"))
- (abort-recursive-edit)))
-(define-key evil-normal-state-map [escape] 'keyboard-quit)
-(define-key evil-visual-state-map [escape] 'keyboard-quit)
-(define-key minibuffer-local-map [escape] 'minibuffer-keyboard-quit)
-(define-key minibuffer-local-ns-map [escape] 'minibuffer-keyboard-quit)
-(define-key minibuffer-local-completion-map [escape] 'minibuffer-keyboard-quit)
-(define-key minibuffer-local-must-match-map [escape] 'minibuffer-keyboard-quit)
-(define-key minibuffer-local-isearch-map [escape] 'minibuffer-keyboard-quit)
-
-(defun my/insert-tab-char ()
- (interactive)
- (insert "\t"))
-
-(define-key evil-insert-state-map [tab] 'my/insert-tab-char)
-(setq my/tab-stop 4)
-(setq-default indent-tabs-mode t)
-(setq tab-always-indent 'complete)
-(setq-default tab-width my/tab-stop)
-(setq tab-width my/tab-stop)
-(setq-default c-basic-offset my/tab-stop)
-(setq-default cperl-indent-level my/tab-stop)
-#+END_SRC
-
-*** ibuffer
- #+BEGIN_SRC emacs-lisp
- (require 'ibuffer)
- (require 'ibuffer-vc)
- (require 'ibuffer-projectile)
- (add-hook 'ibuffer-hook
- (lambda ()
- (ibuffer-projectile-set-filter-groups)
- (unless (eq ibuffer-sorting-mode 'alphabetic)
- (ibuffer-do-sort-by-alphabetic))))
- #+END_SRC
-
-*** all the icons
-#+BEGIN_SRC emacs-lisp
-(require 'font-lock+)
-(require 'all-the-icons)
-(require 'all-the-icons-dired)
-(require 'all-the-icons-ibuffer)
-(load "all-the-icons-dired.el")
-(add-hook 'dired-mode-hook 'all-the-icons-dired-mode)
-(all-the-icons-ibuffer-mode 1)
-#+END_SRC
-
-*** which-key
-#+BEGIN_SRC emacs-lisp
-(require 'which-key)
-(which-key-mode)
-#+END_SRC
-
-*** shell-pop
-#+BEGIN_SRC emacs-lisp
-(require 'shell-pop)
-(setq my/shell-pop-shell-type
- (quote
- ("ansi-term" "*ansi-term*"
- (lambda nil
- (ansi-term shell-pop-term-shell)))))
-
-(setq shell-pop-term-shell "/usr/bin/zsh")
-(add-to-list 'evil-emacs-state-modes 'term-mode)
-#+END_SRC
-
-*** org-superstar
-#+BEGIN_SRC emacs-lisp
-(require 'org-superstar)
-(add-hook 'org-mode-hook (lambda () (org-superstar-mode 1)))
-#+END_SRC
-
-*** toc-org
-#+BEGIN_SRC emacs-lisp
-(require 'toc-org)
-(add-hook 'org-mode-hook 'toc-org-mode)
-;; enable in markdown, too
-(add-hook 'markdown-mode-hook 'toc-org-mode)
-(define-key markdown-mode-map (kbd "\C-c\C-o") 'toc-org-markdown-follow-thing-at-point)
-#+END_SRC
-
-*** lsp, ccls, clangd, company, yasnippet
-#+BEGIN_SRC emacs-lisp
- (require 'lsp-mode)
- (require 'lsp-ui)
- ;; (require 'ccls)
- (require 'company)
- (require 'company-box)
- (require 'yasnippet)
- (require 'yasnippet-snippets)
- (require 'yasnippet-classic-snippets)
- (yas-reload-all)
- (yas-global-mode)
- (add-hook 'c-mode-hook 'lsp)
- (add-hook 'c++-mode-hook 'lsp)
- (add-hook 'perl-mode-hook 'lsp)
- (add-hook 'go-mode-hook 'lsp)
- (add-hook 'lsp-mode-hook 'lsp-enable-which-key-integration)
-
- (setq lsp-ui-doc-header t
- lsp-ui-doc-position 'top
- lsp-ui-doc-delay 2
- lsp-ui-doc-show-with-cursor t
- lsp-ui-doc-show-with-mouse t)
-
-
- (setq lsp-ui-sideline-enable nil
- lsp-ui-sideline-show-diagnostics t
- lsp-ui-sideline-show-hover nil
- lsp-ui-sideline-show-code-actions nil
- lsp-ui-sideline-update-mode 'line
- lsp-ui-sideline-delay 0)
-
- (setq lsp-enable-indentation nil
- lsp-completion-enable t
- lsp-headerline-breadcrumb-enable nil)
-
- (setq gc-cons-threshold (* 100 1024 1024)
- read-process-output-max (* 1024 1024)
- company-idle-delay 0.0
- company-minimum-prefix-length 1
- lsp-idle-delay 0.1)
-
- (with-eval-after-load 'lsp-mode
- (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration)
- (yas-global-mode))
-
- (add-hook 'after-init-hook 'global-company-mode)
- (global-company-mode)
-
- (define-key company-active-map (kbd "C-j") 'company-select-next)
- (define-key company-active-map (kbd "C-k") 'company-select-previous)
- (define-key company-search-map (kbd "C-j") 'company-select-next)
- (define-key company-search-map (kbd "C-k") 'company-select-previous)
- (define-key company-search-map (kbd "C-t") 'company-search-toggle-filtering)
- (define-key company-search-map (kbd "C-i") 'company-complete-common)
- ;; (push 'company-lsp company-backends)
- ;; (setq company-transformers nil company-lsp-async t company-lsp-cache-candidates nil)
- (add-hook 'company-mode-hook 'company-box-mode)
-
- (require 'lsp-clangd)
- (setq lsp-clangd-executable "/usr/bin/clangd")
-
- ;; (setq ccls-executable "ccls")
-
- ;; (defun ccls/callee () (interactive) (lsp-ui-peek-find-custom "$ccls/call" '(:callee t)))
- ;; (defun ccls/caller () (interactive) (lsp-ui-peek-find-custom "$ccls/call"))
- ;; (defun ccls/vars (kind) (lsp-ui-peek-find-custom "$ccls/vars" `(:kind ,kind)))
- ;; (defun ccls/base (levels) (lsp-ui-peek-find-custom "$ccls/inheritance" `(:levels ,levels)))
- ;; (defun ccls/derived (levels) (lsp-ui-peek-find-custom "$ccls/inheritance" `(:levels ,levels :derived t)))
- ;; (defun ccls/member (kind) (interactive) (lsp-ui-peek-find-custom "$ccls/member" `(:kind ,kind)))
-
- ;; ;; References w/ Role::Role
- ;; (defun ccls/references-read () (interactive)
- ;; (lsp-ui-peek-find-custom "textDocument/references"
- ;; (plist-put (lsp--text-document-position-params) :role 8)))
-
- ;; ;; References w/ Role::Write
- ;; (defun ccls/references-write ()
- ;; (interactive)
- ;; (lsp-ui-peek-find-custom "textDocument/references"
- ;; (plist-put (lsp--text-document-position-params) :role 16)))
-
- ;; ;; References w/ Role::Dynamic bit (macro expansions)
- ;; (defun ccls/references-macro () (interactive)
- ;; (lsp-ui-peek-find-custom "textDocument/references"
- ;; (plist-put (lsp--text-document-position-params) :role 64)))
-
- ;; ;; References w/o Role::Call bit (e.g. where functions are taken addresses)
- ;; (defun ccls/references-not-call () (interactive)
- ;; (lsp-ui-peek-find-custom "textDocument/references"
- ;; (plist-put (lsp--text-document-position-params) :excludeRole 32)))
-
- ;; ;; ccls/vars ccls/base ccls/derived ccls/members have a parameter while others are interactive.
- ;; ;; (ccls/base 1) direct bases
- ;; ;; (ccls/derived 1) direct derived
- ;; ;; (ccls/member 2) => 2 (Type) => nested classes / types in a namespace
- ;; ;; (ccls/member 3) => 3 (Func) => member functions / functions in a namespace
- ;; ;; (ccls/member 0) => member variables / variables in a namespace
- ;; ;; (ccls/vars 1) => field
- ;; ;; (ccls/vars 2) => local variable
- ;; ;; (ccls/vars 3) => field or local variable. 3 = 1 | 2
- ;; ;; (ccls/vars 4) => parameter
-
- ;; ;; References whose filenames are under this project
- ;; (setq ccls-sem-highlight-method 'overlay)
- ;; (ccls-use-default-rainbow-sem-highlight)
-#+END_SRC
-
-*** diff-hl
-#+BEGIN_SRC emacs-lisp
- (require 'diff-hl)
- (global-diff-hl-mode)
- (add-hook 'magit-pre-refresh-hook 'diff-hl-magit-pre-refresh)
- (add-hook 'magit-post-refresh-hook 'diff-hl-magit-post-refresh)
-#+END_SRC
-
-*** Saveplace, savehist
- #+BEGIN_SRC emacs-lisp
- (require 'saveplace)
- (add-hook 'after-init-hook 'save-place-mode)
- (require 'savehist)
- (setq history-length 1000
- savehist-additional-variables '(search-ring
- regexp-search-ring
- extended-command-history)
- savehist-autosave-interval 60)
- (add-hook 'after-init-hook 'savehist-mode)
- #+END_SRC
-
-*** Eyebrowse
- #+BEGIN_SRC emacs-lisp
- (require 'eyebrowse)
- (define-key eyebrowse-mode-map (kbd "M-1") 'eyebrowse-switch-to-window-config-1)
- (define-key eyebrowse-mode-map (kbd "M-2") 'eyebrowse-switch-to-window-config-2)
- (define-key eyebrowse-mode-map (kbd "M-3") 'eyebrowse-switch-to-window-config-3)
- (define-key eyebrowse-mode-map (kbd "M-4") 'eyebrowse-switch-to-window-config-4)
- (define-key eyebrowse-mode-map (kbd "M-5") 'eyebrowse-switch-to-window-config-5)
- (define-key eyebrowse-mode-map (kbd "M-6") 'eyebrowse-switch-to-window-config-6)
- (define-key eyebrowse-mode-map (kbd "M-7") 'eyebrowse-switch-to-window-config-7)
- (define-key eyebrowse-mode-map (kbd "M-8") 'eyebrowse-switch-to-window-config-8)
- (eyebrowse-mode t)
- (setq eyebrowse-new-workspace t)
- #+END_SRC
-
-*** web-mode
- #+BEGIN_SRC emacs-lisp
- (defun my-setup-php ()
- ;; enable web mode
- (web-mode)
-
- ;; make these variables local
- (make-local-variable 'web-mode-code-indent-offset)
- (make-local-variable 'web-mode-markup-indent-offset)
- (make-local-variable 'web-mode-css-indent-offset)
-
- ;; set indentation, can set different indentation level for different code type
- (setq web-mode-code-indent-offset 4)
- (setq web-mode-css-indent-offset 4)
- (setq web-mode-markup-indent-offset 4))
- (add-to-list 'auto-mode-alist '("\\.php$" . my-setup-php))
- #+END_SRC
-
-*** undo-tree
- #+BEGIN_SRC emacs-lisp
- (require 'undo-tree)
- (setq undo-tree-auto-save-history nil)
- #+END_SRC
-
-*** neotree
-#+BEGIN_SRC emacs-lisp
- (require 'neotree)
- (setq neo-theme (if (display-graphic-p) 'icons 'arrow))
- (setq neo-window-width 35)
-#+END_SRC
-
-*** mu4e
-#+BEGIN_SRC emacs-lisp
-;; (require 'mu4e)
-;; (require 'org-mu4e)
-;; (require 'mu4e-contrib)
-;; (require 'smtpmail)
-;;
-;; (auth-source-pass-enable)
-;; (setq auth-source-debug t)
-;; (setq auth-source-do-cache nil)
-;; (setq auth-sources '(password-store))
-;; (setq message-kill-buffer-on-exit t)
-;; (setq message-send-mail-function 'smtpmail-send-it)
-;; (setq mu4e-attachment-dir "~/dl")
-;; (setq mu4e-change-filenames-when-moving t)
-;; (setq mu4e-completing-read-function 'completing-read)
-;; (setq mu4e-compose-complete-addresses t)
-;; (setq mu4e-compose-context-policy nil)
-;; (setq mu4e-compose-dont-reply-to-self t)
-;; (setq mu4e-compose-keep-self-cc nil)
-;; (setq mu4e-context-policy 'pick-first)
-;; (setq mu4e-get-mail-command "mbsync -a -c ~/.config/mbsync/mbsyncrc")
-;; (setq mu4e-headers-date-format "%d-%m-%Y %H:%M")
-;; (setq mu4e-headers-fields '((:human-date . 20)
-;; (:flags . 6)
-;; (:mailing-list . 10)
-;; (:from . 22)
-;; (:subject)))
-;; (setq mu4e-headers-include-related t)
-;; (setq mu4e-sent-messages-behavior 'delete)
-;; (setq mu4e-view-show-addresses t)
-;; (setq mu4e-view-show-images t)
-;; (setq smtpmail-debug-info t)
-;; (setq smtpmail-stream-type 'starttls)
-;; (setq mm-sign-option 'guided)
-;;
-;; (when (fboundp 'imagemagick-register-types)
-;; (imagemagick-register-types))
-;;
-;; (defun sign-or-encrypt-message ()
-;; (let ((answer (read-from-minibuffer "Sign or encrypt?\nEmpty to do nothing.\n[s/e]: ")))
-;; (cond
-;; ((string-equal answer "s") (progn
-;; (message "Signing message.")
-;; (mml-secure-message-sign-pgpmime)))
-;; ((string-equal answer "e") (progn
-;; (message "Encrypt and signing message.")
-;; (mml-secure-message-encrypt-pgpmime)))
-;; (t (progn
-;; (message "Dont signing or encrypting message.")
-;; nil)))))
-;;
-;; (add-hook 'message-send-hook 'sign-or-encrypt-message)
-;;
-;; (setq mu4e-contexts
-;; `( ,(make-mu4e-context
-;; :name "gmail"
-;; :enter-func (lambda ()
-;; (mu4e-message "Entering gmail context")
-;; (when (string-match-p (buffer-name (current-buffer)) "mu4e-main")
-;; (revert-buffer)))
-;; :leave-func (lambda ()
-;; (mu4e-message "Leaving gmail context")
-;; (when (string-match-p (buffer-name (current-buffer)) "mu4e-main")
-;; (revert-buffer)))
-;; :match-func (lambda (msg)
-;; (when msg
-;; (or (mu4e-message-contact-field-matches msg :to "Rudy Bousset <bousset.rudy@gmail.com>")
-;; (mu4e-message-contact-field-matches msg :from "Rudy Bousset <bousset.rudy@gmail.com>")
-;; (mu4e-message-contact-field-matches msg :cc "Rudy Bousset <bousset.rudy@gmail.com>")
-;; (mu4e-message-contact-field-matches msg :bcc "Rudy Bousset <bousset.rudy@gmail.com>")
-;; (string-match-p "^/bousset.rudy@gmail.com/INBOX" (mu4e-message-field msg :maildir)))))
-;; :vars '( ( user-mail-address . "bousset.rudy@gmail.com" )
-;; ( smtpmail-smtp-user . "bousset.rudy@gmail.com" )
-;; ( mu4e-compose-signature . "Rudy Bousset" )
-;; ( smtpmail-smtp-server . "smtp.gmail.com" )
-;; ( smtpmail-smtp-service . 587 )
-;; ( mu4e-maildir-shortcuts . ((:maildir "/bousset.rudy@gmail.com/INBOX" :key ?i)))
-;; ( mu4e-bookmarks
-;; .
-;; (( :name "Unread messages"
-;; :query "maildir:/bousset.rudy@gmail.com/INBOX AND flag:unread AND NOT flag:trashed AND NOT outdoorexperten"
-;; :key ?u)
-;; ( :name "Today's messages"
-;; :query "maildir:/bousset.rudy@gmail.com/INBOX AND date:today..now"
-;; :key ?t)
-;; ( :name "Last 7 days"
-;; :query "maildir:/bousset.rudy@gmail.com/INBOX AND date:7d..now"
-;; :hide-unread t
-;; :key ?w)
-;; ( :name "Deleted"
-;; :query "flag:trashed"
-;; :key ?d)
-;; ( :name "Possibly garbage"
-;; :query "bokio OR outdoorexperten"
-;; :key ?g)))))
-;; ))
-#+END_SRC
-
-** Custom funcs
-#+BEGIN_SRC emacs-lisp
- (defadvice text-scale-increase (around all-buffers (arg) activate)
- (dolist (buffer (buffer-list))
- (with-current-buffer buffer
- ad-do-it)))
-
- (defun my/insert-current-date () (interactive)
- (insert (shell-command-to-string "echo ' *' $(date -R)")))
-#+END_SRC
-
-** Compilation
-*** Close window after errorless compilation
-#+BEGIN_SRC emacs-lisp
- (defun bury-compile-buffer-if-successful (buffer string)
- "Bury a compilation buffer if succeeded without warnings "
- (when (and
- (buffer-live-p buffer)
- (string-match "compilation" (buffer-name buffer))
- (string-match "finished" string)
- (not
- (with-current-buffer buffer
- (goto-char (point-min))
- (search-forward "warning" nil t))))
- (run-with-timer 0.5 nil
- (lambda (buf)
- (bury-buffer buf)
- (switch-to-prev-buffer (get-buffer-window buf) 'kill)
- (delete-window))
- buffer)))
- (add-hook 'compilation-finish-functions 'bury-compile-buffer-if-successful)
-#+END_SRC
-
-** Other key bindings
- #+BEGIN_SRC emacs-lisp
- (defun my/nothing ())
- (global-set-key [f1] 'shell-pop)
- (global-set-key [f2] 'neotree-toggle)
- (global-set-key [f3] 'flymake-show-diagnostics-buffer)
- (global-set-key [f4] 'helm-make-projectile)
- (global-set-key [f5] 'undo-tree-visualize)
- (global-set-key (kbd "C-x d") 'dired)
- (global-set-key (kbd "C-x d") 'dired)
- (global-set-key (kbd "C-x b") 'ibuffer)
- (global-set-key (kbd "C-c d") 'my/insert-current-date)
- (global-set-key (kbd "M-9") 'shell-command)
- (global-set-key (kbd "M-0") 'async-shell-command)
- (global-set-key (kbd "M-j") 'next-buffer)
- (global-set-key (kbd "M-k") 'previous-buffer)
-
- (shell-pop--set-shell-type 'my/shell-pop-shell-type my/shell-pop-shell-type)
- #+END_SRC