add git markers
This commit is contained in:
+217
-137
@@ -5,14 +5,14 @@
|
|||||||
* Init
|
* Init
|
||||||
** Package management
|
** Package management
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; This is only needed once, near the top of the file
|
;; This is only needed once, near the top of the file
|
||||||
|
|
||||||
(require 'package)
|
(require 'package)
|
||||||
(add-to-list 'package-archives
|
(add-to-list 'package-archives
|
||||||
'("melpa" . "https://melpa.org/packages/") t)
|
'("melpa" . "https://melpa.org/packages/") t)
|
||||||
(package-initialize)
|
(package-initialize)
|
||||||
|
|
||||||
(setq package-archives
|
(setq package-archives
|
||||||
'(("GNU ELPA" . "https://elpa.gnu.org/packages/")
|
'(("GNU ELPA" . "https://elpa.gnu.org/packages/")
|
||||||
("MELPA Stable" . "https://stable.melpa.org/packages/")
|
("MELPA Stable" . "https://stable.melpa.org/packages/")
|
||||||
("MELPA" . "https://melpa.org/packages/"))
|
("MELPA" . "https://melpa.org/packages/"))
|
||||||
@@ -21,17 +21,27 @@
|
|||||||
("MELPA" . 5)
|
("MELPA" . 5)
|
||||||
("MELPA Stable" . 0)))
|
("MELPA Stable" . 0)))
|
||||||
|
|
||||||
(unless (package-install 'use-package)
|
(unless (package-install 'use-package)
|
||||||
(package-refresh-contents)
|
(package-refresh-contents)
|
||||||
(package-install 'use-package))
|
(package-install 'use-package))
|
||||||
|
|
||||||
(eval-when-compile (require 'use-package))
|
(eval-when-compile (require 'use-package))
|
||||||
(setq use-package-always-ensure t)
|
(setq use-package-always-ensure t)
|
||||||
(pdf-tools-install)
|
(pdf-tools-install)
|
||||||
|
(use-package exec-path-from-shell)
|
||||||
|
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
** Git
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package git-gutter)
|
||||||
|
|
||||||
|
(use-package git-gutter-fringe)
|
||||||
|
|
||||||
|
(define-fringe-bitmap 'git-gutter-fr:added [224] nil nil '(center repeated))
|
||||||
|
(define-fringe-bitmap 'git-gutter-fr:modified [224] nil nil '(center repeated))
|
||||||
|
(define-fringe-bitmap 'git-gutter-fr:deleted [128 192 224 240] nil nil 'bottom)
|
||||||
|
#+end_src
|
||||||
** Prolog
|
** Prolog
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(autoload 'run-prolog "prolog" "Start a Prolog sub-process." t)
|
(autoload 'run-prolog "prolog" "Start a Prolog sub-process." t)
|
||||||
@@ -44,71 +54,73 @@
|
|||||||
#+end_src
|
#+end_src
|
||||||
** Dired
|
** Dired
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package dired-preview)
|
(use-package dired-preview)
|
||||||
(use-package dired-git
|
(use-package dired-git
|
||||||
:hook
|
:hook
|
||||||
(dired-mode . dired-git-mode))
|
(dired-mode . dired-git-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Theme
|
** Theme
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package zenburn-theme)
|
(use-package zenburn-theme)
|
||||||
(use-package doom-themes)
|
(use-package doom-themes)
|
||||||
|
(use-package spacemacs-theme)
|
||||||
|
|
||||||
(load-theme 'doom-one t)
|
(load-theme 'spacemacs-dark t)
|
||||||
|
|
||||||
(use-package vertico
|
|
||||||
:custom
|
|
||||||
(vertico-cycle t) ;; Enable cycling for `vertico-next/previous'
|
|
||||||
:init
|
|
||||||
(vertico-mode))
|
|
||||||
|
|
||||||
(use-package savehist
|
(use-package vertico
|
||||||
:init
|
:custom
|
||||||
(savehist-mode))
|
(vertico-cycle t) ;; Enable cycling for `vertico-next/previous'
|
||||||
|
:init
|
||||||
|
(vertico-mode))
|
||||||
|
|
||||||
(use-package emacs
|
(use-package savehist
|
||||||
:custom
|
:init
|
||||||
;; Support opening new minibuffers from inside existing minibuffers.
|
(savehist-mode))
|
||||||
(enable-recursive-minibuffers t)
|
|
||||||
;; Hide commands in M-x which do not work in the current mode. Vertico
|
|
||||||
;; commands are hidden in normal buffers. This setting is useful beyond
|
|
||||||
;; Vertico.
|
|
||||||
(read-extended-command-predicate #'command-completion-default-include-p)
|
|
||||||
:init
|
|
||||||
;; Add prompt indicator to `completing-read-multiple'.
|
|
||||||
;; We display [CRM<separator>], e.g., [CRM,] if the separator is a comma.
|
|
||||||
(defun crm-indicator (args)
|
|
||||||
(cons (format "[CRM%s] %s"
|
|
||||||
(replace-regexp-in-string "\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" "" crm-separator)
|
|
||||||
(car args))
|
|
||||||
(cdr args)))
|
|
||||||
(advice-add #'completing-read-multiple :filter-args #'crm-indicator)
|
|
||||||
|
|
||||||
(setq minibuffer-prompt-properties '(read-only t cursor-intangible t face minibuffer-prompt))
|
(use-package emacs
|
||||||
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode))
|
:custom
|
||||||
|
;; Support opening new minibuffers from inside existing minibuffers.
|
||||||
|
(enable-recursive-minibuffers t)
|
||||||
|
;; Hide commands in M-x which do not work in the current mode. Vertico
|
||||||
|
;; commands are hidden in normal buffers. This setting is useful beyond
|
||||||
|
;; Vertico.
|
||||||
|
(read-extended-command-predicate #'command-completion-default-include-p)
|
||||||
|
:init
|
||||||
|
;; Add prompt indicator to `completing-read-multiple'.
|
||||||
|
;; We display [CRM<separator>], e.g., [CRM,] if the separator is a comma.
|
||||||
|
(defun crm-indicator (args)
|
||||||
|
(cons (format "[CRM%s] %s"
|
||||||
|
(replace-regexp-in-string "\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" "" crm-separator)
|
||||||
|
(car args))
|
||||||
|
(cdr args)))
|
||||||
|
(advice-add #'completing-read-multiple :filter-args #'crm-indicator)
|
||||||
|
|
||||||
(use-package vertico-directory
|
(setq minibuffer-prompt-properties '(read-only t cursor-intangible t face minibuffer-prompt))
|
||||||
:after vertico
|
(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode))
|
||||||
:ensure nil
|
|
||||||
;; More convenient directory navigation commands
|
|
||||||
:bind (:map vertico-map
|
|
||||||
("RET" . vertico-directory-enter)
|
|
||||||
("DEL" . vertico-directory-delete-char)
|
|
||||||
("M-DEL" . vertico-directory-delete-word))
|
|
||||||
;; Tidy shadowed file names
|
|
||||||
:hook (rfn-eshadow-update-overlay . vertico-directory-tidy))
|
|
||||||
|
|
||||||
(use-package vertico-multiform
|
(use-package vertico-directory
|
||||||
:after vertico
|
:after vertico
|
||||||
:load-path "~/.emacs.d/elpa/vertico-1.9/")
|
:ensure nil
|
||||||
|
;; More convenient directory navigation commands
|
||||||
|
:bind (:map vertico-map
|
||||||
|
("RET" . vertico-directory-enter)
|
||||||
|
("DEL" . vertico-directory-delete-char)
|
||||||
|
("M-DEL" . vertico-directory-delete-word))
|
||||||
|
;; Tidy shadowed file names
|
||||||
|
:hook (rfn-eshadow-update-overlay . vertico-directory-tidy))
|
||||||
|
|
||||||
(vertico-multiform-mode 1)
|
(use-package vertico-multiform
|
||||||
|
:after vertico
|
||||||
|
:load-path "~/.emacs.d/elpa/vertico-1.9/")
|
||||||
|
|
||||||
(use-package vertico-posframe
|
(vertico-multiform-mode 1)
|
||||||
:ensure t)
|
|
||||||
(setq vertico-posframe-parameters
|
(use-package vertico-posframe
|
||||||
'((left-fringe . 8)
|
:ensure t)
|
||||||
|
(setq vertico-posframe-parameters
|
||||||
|
'((left-fringe . 8)
|
||||||
(right-fringe . 8)))
|
(right-fringe . 8)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -133,39 +145,39 @@
|
|||||||
|
|
||||||
** Helm
|
** Helm
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package helm
|
(use-package helm
|
||||||
:config (require 'helm-autoloads)
|
:config (require 'helm-autoloads)
|
||||||
:bind
|
:bind
|
||||||
|
|
||||||
(("M-x". 'helm-M-x)
|
(("M-x". 'helm-M-x)
|
||||||
("C-x C-f" . 'helm-find-files)))
|
("C-x C-f" . 'helm-find-files)))
|
||||||
(helm-mode 1)
|
(helm-mode 1)
|
||||||
(use-package helm-make
|
(use-package helm-make
|
||||||
:bind ("C-x m" . 'helm-make))
|
:bind ("C-x m" . 'helm-make))
|
||||||
(use-package helm-posframe)
|
(use-package helm-posframe)
|
||||||
(helm-posframe-enable)
|
(helm-posframe-enable)
|
||||||
(setq helm-recentf-fuzzy-match t
|
(setq helm-recentf-fuzzy-match t
|
||||||
helm-locate-fuzzy-match nil ;; locate fuzzy is worthless
|
helm-locate-fuzzy-match nil ;; locate fuzzy is worthless
|
||||||
helm-M-x-fuzzy-match t
|
helm-M-x-fuzzy-match t
|
||||||
helm-buffers-fuzzy-matching t
|
helm-buffers-fuzzy-matching t
|
||||||
helm-semantic-fuzzy-match t
|
helm-semantic-fuzzy-match t
|
||||||
helm-apropos-fuzzy-match t
|
helm-apropos-fuzzy-match t
|
||||||
helm-imenu-fuzzy-match t
|
helm-imenu-fuzzy-match t
|
||||||
helm-lisp-fuzzy-completion t
|
helm-lisp-fuzzy-completion t
|
||||||
helm-completion-in-region-fuzzy-match t)
|
helm-completion-in-region-fuzzy-match t)
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Company
|
** Company
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package company
|
(use-package company
|
||||||
:hook
|
:hook
|
||||||
(after-init . global-company-mode)
|
(after-init . global-company-mode)
|
||||||
:custom
|
:custom
|
||||||
(company-backends '(company-capf)))
|
(company-backends '(company-capf)))
|
||||||
(use-package company-box
|
(use-package company-box
|
||||||
:hook
|
:hook
|
||||||
(company-mode . company-box-mode))
|
(company-mode . company-box-mode))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Smart parenthesis
|
** Smart parenthesis
|
||||||
@@ -178,48 +190,89 @@
|
|||||||
(require 'smartparens-config))
|
(require 'smartparens-config))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Flycheck
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package flycheck
|
||||||
|
:init
|
||||||
|
(progn
|
||||||
|
(define-fringe-bitmap 'my-flycheck-fringe-indicator
|
||||||
|
(vector #b00000000
|
||||||
|
#b00000000
|
||||||
|
#b00000000
|
||||||
|
#b00000000
|
||||||
|
#b00000000
|
||||||
|
#b00000000
|
||||||
|
#b00000000
|
||||||
|
#b00011100
|
||||||
|
#b00111110
|
||||||
|
#b00111110
|
||||||
|
#b00111110
|
||||||
|
#b00011100
|
||||||
|
#b00000000
|
||||||
|
#b00000000
|
||||||
|
#b00000000
|
||||||
|
#b00000000
|
||||||
|
#b00000000))
|
||||||
|
|
||||||
|
(flycheck-define-error-level 'error
|
||||||
|
:severity 2
|
||||||
|
:overlay-category 'flycheck-error-overlay
|
||||||
|
:fringe-bitmap 'my-flycheck-fringe-indicator
|
||||||
|
:fringe-face 'flycheck-fringe-error)
|
||||||
|
|
||||||
|
(flycheck-define-error-level 'warning
|
||||||
|
:severity 1
|
||||||
|
:overlay-category 'flycheck-warning-overlay
|
||||||
|
:fringe-bitmap 'my-flycheck-fringe-indicator
|
||||||
|
:fringe-face 'flycheck-fringe-warning)
|
||||||
|
|
||||||
|
(flycheck-define-error-level 'info
|
||||||
|
:severity 0
|
||||||
|
:overlay-category 'flycheck-info-overlay
|
||||||
|
:fringe-bitmap 'my-flycheck-fringe-indicator
|
||||||
|
:fringe-face 'flycheck-fringe-info)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** LSP
|
** LSP
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; Java
|
;; Java
|
||||||
(use-package exec-path-from-shell)
|
(use-package exec-path-from-shell)
|
||||||
(use-package lsp-java)
|
(use-package lsp-java)
|
||||||
(require 'lsp-java)
|
(require 'lsp-java)
|
||||||
(add-hook 'java-mode-hook #'lsp)
|
|
||||||
(use-package hydra)
|
(use-package hydra)
|
||||||
(setq lsp-java-jdt-download-url "https://download.eclipse.org/jdtls/milestones/0.57.0/jdt-language-server-0.57.0-202006172108.tar.gz")
|
(setq lsp-java-jdt-download-url "https://download.eclipse.org/jdtls/milestones/0.57.0/jdt-language-server-0.57.0-202006172108.tar.gz")
|
||||||
|
|
||||||
(use-package lsp-mode
|
(use-package lsp-mode
|
||||||
:init
|
:init
|
||||||
;;set prefix
|
;;set prefix
|
||||||
(setq lsp-keymap-prefix "C-c l")
|
(setq lsp-keymap-prefix "C-c l")
|
||||||
(setq lsp-diagnostics-provider :flycheck) ; Use flycheck for diagnostics
|
(setq lsp-diagnostics-provider :flycheck) ; Use flycheck for diagnostics
|
||||||
(setq lsp-enable-snippet t) ; Enable snippet support
|
(setq lsp-enable-snippet t) ; Enable snippet support
|
||||||
(setq company-idle-delay 0.2) ; Set delay for completion pop-up
|
(setq company-idle-delay 0.2) ; Set delay for completion pop-up
|
||||||
(setq company-minimum-prefix-length 1)
|
(setq company-minimum-prefix-length 1)
|
||||||
(setq lsp-clients-clangd-executable "clangd")
|
(setq lsp-clients-clangd-executable "clangd")
|
||||||
|
|
||||||
:hook
|
:hook
|
||||||
((prog-mode . lsp)
|
((prog-mode . lsp)
|
||||||
(c-mode . lsp)
|
(c-mode . lsp)
|
||||||
(emacs-lisp-mode . lsp)
|
(java-mode . lsp)
|
||||||
(java-mode . lsp)
|
(latex-mode . lsp)
|
||||||
(latex-mode . lsp)
|
(python-mode . lsp)
|
||||||
(python-mode . lsp)
|
(lsp-mode . lsp-enable-which-key-integration)
|
||||||
(lsp-mode . lsp-enable-which-key-integration)
|
(before-save . lsp-format-buffer)
|
||||||
(before-save . lsp-format-buffer)
|
)
|
||||||
)
|
:commands lsp
|
||||||
:commands lsp
|
:bind
|
||||||
:bind
|
("C-<return>" . ff-find-other-file)
|
||||||
("C-<return>" . ff-find-other-file)
|
:custom
|
||||||
:custom
|
(lsp-prefer-capf t))
|
||||||
(lsp-prefer-capf t))
|
|
||||||
|
|
||||||
(use-package helm-lsp
|
(use-package helm-lsp
|
||||||
:commands helm-lsp-workspace-symbol)
|
:commands helm-lsp-workspace-symbol)
|
||||||
|
|
||||||
(use-package which-key
|
(use-package which-key
|
||||||
:config
|
:config
|
||||||
(which-key-mode))
|
(which-key-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Key-binds
|
* Key-binds
|
||||||
@@ -228,12 +281,6 @@
|
|||||||
(keymap-global-set "M-a" 'switch-to-buffer)
|
(keymap-global-set "M-a" 'switch-to-buffer)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Dired
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(add-hook 'dired-mode-hook (lambda () (local-key-binding "-" 'dired-jump)))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
|
|
||||||
** C
|
** C
|
||||||
*** Dereference arrow
|
*** Dereference arrow
|
||||||
|
|
||||||
@@ -256,7 +303,7 @@
|
|||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun reload-conf ()
|
(defun reload-conf ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(load-file "~/.emacs.d/init.el"))
|
(load-file "~/.emacs.default/init.el"))
|
||||||
(keymap-global-set "C-c r" 'reload-conf)
|
(keymap-global-set "C-c r" 'reload-conf)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -264,7 +311,7 @@
|
|||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(defun open-config ()
|
(defun open-config ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(find-file "~/.emacs.d/config.org"))
|
(find-file "~/.emacs.default/config.org"))
|
||||||
(keymap-global-set "C-c c" 'open-config)
|
(keymap-global-set "C-c c" 'open-config)
|
||||||
#+end_src
|
#+end_src
|
||||||
** Window command
|
** Window command
|
||||||
@@ -292,11 +339,12 @@
|
|||||||
|
|
||||||
* Org
|
* Org
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
(use-package org-superstar)
|
||||||
(defun my/buffer-face-mode-variable ()
|
(defun my/buffer-face-mode-variable ()
|
||||||
"Set font to a variable width (proportional) fonts in current buffer"
|
"Set font to a variable width (proportional) fonts in current buffer"
|
||||||
(interactive)
|
(interactive)
|
||||||
(setq buffer-face-mode-face '(:family "Roboto Slab"
|
(setq buffer-face-mode-face '(:family "Roboto Slab"
|
||||||
:height 150
|
:height 120
|
||||||
:width normal))
|
:width normal))
|
||||||
(buffer-face-mode))
|
(buffer-face-mode))
|
||||||
(use-package org-bullets
|
(use-package org-bullets
|
||||||
@@ -419,6 +467,11 @@
|
|||||||
(add-hook 'before-make-frame-hook (lambda () (scroll-bar-mode -1)))
|
(add-hook 'before-make-frame-hook (lambda () (scroll-bar-mode -1)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
** Prog
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(add-hook 'prog-mode-hook 'git-gutter-mode)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Terminal
|
* Terminal
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package vterm
|
(use-package vterm
|
||||||
@@ -438,15 +491,8 @@
|
|||||||
#+end_src
|
#+end_src
|
||||||
* Misceleaneous
|
* Misceleaneous
|
||||||
|
|
||||||
** Music
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package emms)
|
|
||||||
(emms-all)
|
|
||||||
(setq emms-player-list '(emms-player-vlc)
|
|
||||||
emms-info-functions '(emms-info-native))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** Indentation
|
** Indentation
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package rainbow-delimiters)
|
(use-package rainbow-delimiters)
|
||||||
(use-package highlight-indent-guides)
|
(use-package highlight-indent-guides)
|
||||||
@@ -477,3 +523,37 @@
|
|||||||
(setq-default indent-tabs-mode nil)
|
(setq-default indent-tabs-mode nil)
|
||||||
(setq-default tab-width 4)
|
(setq-default tab-width 4)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Smooth scroll
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1) ((control) . nil)))
|
||||||
|
(setq mouse-wheel-follow-mouse 't) ; scroll window under mouse
|
||||||
|
(require 'mwheel)
|
||||||
|
(setq mouse-wheel-scroll-amount '(3 ((shift) . 1) ((control) . 5)))
|
||||||
|
(setq mouse-wheel-inhibit-click-time 0.1)
|
||||||
|
(setq scroll-step 1
|
||||||
|
scroll-conservatively 10000
|
||||||
|
scroll-preserve-screen-position 1)
|
||||||
|
(pixel-scroll-mode 1) ; Enable pixel-level scrolling
|
||||||
|
(setq pixel-scroll-precision-large-scroll-height 40.0)
|
||||||
|
(use-package smooth-scrolling
|
||||||
|
:init
|
||||||
|
(smooth-scrolling-mode t))
|
||||||
|
(use-package good-scroll
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(good-scroll-mode 1))
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Startup screen
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package dashboard
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(dashboard-setup-startup-hook)
|
||||||
|
(setq initial-buffer-choice (lambda () (get-buffer "*dashboard*")))
|
||||||
|
(setq server-window (lambda () (switch-to-buffer "*dashboard*"))))
|
||||||
|
(setq server-window (lambda () (switch-to-buffer "*dashboard*")))
|
||||||
|
(kill-buffer "*scratch*")
|
||||||
|
#+end_src
|
||||||
|
|||||||
Reference in New Issue
Block a user