<commit_before>;; (mapc 'my/install-package
;;   '(evil
;;     evil-leader
;;     evil-nerd-commenter     ; auto commenting made easy
;;     evil-matchit            ; jumping between block delimiters
;;     evil-surround           ; surround-with delimiters
;;     evil-numbers            ; increment/decrement numbers
;;     evil-exchange           ; exchanging two text objects (gx/gX)
;;     evil-space              ; mimics ; and , for f, F, t, T w/ space
;;     evil-visualstar         ; visual-based * and #
;;     autopair                ; delimiter auto-closing
;;     rainbow-delimiters      ; colored matching parenthesis
;;     saveplace               ; restore cursor position on buffer load
;;     anzu                    ; display current + total matches searching
;;     smex                    ; less M-x cruft
;;     recentf                 ; access to list of recent files
;;     key-chord               ; for mapping key chords in insert mode
;;     multiple-cursors	    ; cursors, of the numerous variety
;;     ediff
;;     deferred
;;     ))

;;;; Editor behavior ;;;;;;;;;;;;;;;;

(setq initial-scratch-buffer nil)   ; empty scratch buffer
(electric-indent-mode +1) 			; auto-indent on RET
(global-hl-line-mode +1)            ; highlight the line
(setq-default
  tab-width             4           ; set tab width to 4 for all buffers
  indent-tabs-mode      nil         ; use tabs, not spaces
  tab-always-indent     nil)
;; do not soft-wrap lines
(setq-default truncate-lines t)
(setq truncate-partial-width-windows nil)
;; Remove trailing whitespace
(add-hook 'before-save-hook 'delete-trailing-whitespace)
(setq ediff-window-setup-function 'ediff-setup-windows-plain)


;;;; Plugins ;;;;;;;;;;;;;;;;;;;;;;;;

(use-package deferred :ensure t :defer t)
(use-package ediff :ensure t :defer t)

(use-package evil :ensure t
    :diminish undo-tree-mode
    :config
    (progn
      ;; (setq evil-want-C-i-jump t)
      ;; (setq evil-want-C-u-scroll t)

      (evil-mode 1)

      (use-package evil-leader :ensure t)
      (use-package evil-nerd-commenter :ensure t)
      (use-package evil-matchit :ensure t)
      (use-package evil-surround :ensure t)
      (use-package evil-numbers :ensure t)
      (use-package evil-exchange :ensure t)
      (use-package evil-space :ensure t)
      (use-package evil-visualstar :ensure t)
      (use-package evil-ex-registers)

      ;; To get evil-leader mappings to work in the messages buffer...
      (kill-buffer "*Messages*")

      (setq evil-leader/in-all-states t)

      (global-evil-leader-mode 1)
      (global-evil-matchit-mode  1)
      (global-evil-surround-mode 1)

      (evil-exchange-install)

      (evil-space-setup "t" ";" ",")    ; Repeat t with space
      (evil-space-setup "f" ";" ",")    ; Repeat f with space
      (evil-space-setup "T" "," ";")    ; Repeat T with space
      (evil-space-setup "F" "," ";")    ; Repeat F with space
      (evil-define-operator evil-destroy (beg end type register yank-handler)
        (evil-delete beg end type ?_ yank-handler))

      (evil-set-initial-state 'comint-mode 'insert)

      ;; Enable registers in ex-mode
      (define-key evil-ex-completion-map (kbd "C-r") #'evil-ex-paste-from-register)))

(use-package rainbow-mode :ensure t :defer t)
(use-package rainbow-delimiters :ensure t
  :commands rainbow-delimiters-mode
  :init
  (add-hook 'prog-mode-hook 'rainbow-delimiters-mode))

(use-package rotate-text :commands (rotate-word-at-point rotate-region))


;;;; Init plugins ;;;;;;;;;;;;;;;;;;;

(use-package autopair :ensure t
  :diminish autopair-mode
  :init
  (progn (autopair-global-mode)
         (setq autopair-blink nil)
         ;; disable blink-matching-paren
         (setq blink-matching-paren nil)))

(use-package anzu :ensure t
  :diminish anzu-mode
  :init (global-anzu-mode))

(use-package key-chord :ensure t
  :init
  (progn (key-chord-mode 1)
         (setq key-chord-two-keys-delay 0.5)))<commit_msg>Clean up core-editor.el<commit_after>;;;; Editor behavior ;;;;;;;;;;;;;;;;
(setq initial-scratch-buffer nil)   ; empty scratch buffer
(electric-indent-mode +1) 			; auto-indent on RET
(global-hl-line-mode +1)            ; highlight the line
(setq-default
  tab-width             4           ; set tab width to 4 for all buffers
  indent-tabs-mode      nil         ; use tabs, not spaces
  tab-always-indent     nil)
;; do not soft-wrap lines
(setq-default truncate-lines t)
(setq truncate-partial-width-windows nil)
;; Remove trailing whitespace
(add-hook 'before-save-hook 'delete-trailing-whitespace)
(setq ediff-window-setup-function 'ediff-setup-windows-plain)

;;;; Plugins ;;;;;;;;;;;;;;;;;;;;;;;;
(use-package deferred :ensure t :defer t)
(use-package ediff :ensure t :defer t)

(use-package evil :ensure t
    :diminish undo-tree-mode
    :config
    (progn
      ;; (setq evil-want-C-i-jump t)
      ;; (setq evil-want-C-u-scroll t)

      (evil-mode 1)

      (use-package evil-leader :ensure t)
      (use-package evil-nerd-commenter :ensure t)
      (use-package evil-matchit :ensure t)
      (use-package evil-surround :ensure t)
      (use-package evil-numbers :ensure t)
      (use-package evil-exchange :ensure t)
      (use-package evil-space :ensure t)
      (use-package evil-visualstar :ensure t)
      (use-package evil-ex-registers)

      ;; To get evil-leader mappings to work in the messages buffer...
      (kill-buffer "*Messages*")

      (setq evil-leader/in-all-states t)

      (global-evil-leader-mode 1)
      (global-evil-matchit-mode  1)
      (global-evil-surround-mode 1)

      (evil-exchange-install)

      (evil-space-setup "t" ";" ",")    ; Repeat t with space
      (evil-space-setup "f" ";" ",")    ; Repeat f with space
      (evil-space-setup "T" "," ";")    ; Repeat T with space
      (evil-space-setup "F" "," ";")    ; Repeat F with space
      (evil-define-operator evil-destroy (beg end type register yank-handler)
        (evil-delete beg end type ?_ yank-handler))

      (evil-set-initial-state 'comint-mode 'insert)

      ;; Enable registers in ex-mode
      (define-key evil-ex-completion-map (kbd "C-r") #'evil-ex-paste-from-register)))

(use-package rainbow-mode :ensure t :defer t)
(use-package rainbow-delimiters :ensure t
  :commands rainbow-delimiters-mode
  :init (add-hook 'prog-mode-hook 'rainbow-delimiters-mode))

(use-package rotate-text :commands (rotate-word-at-point rotate-region))

;;;; Init plugins ;;;;;;;;;;;;;;;;;;;
(use-package autopair :ensure t
  :diminish autopair-mode
  :init
  (progn (autopair-global-mode)
         (setq autopair-blink nil)
         ;; disable blink-matching-paren
         (setq blink-matching-paren nil)))

(use-package anzu :ensure t
  :diminish anzu-mode
  :init (global-anzu-mode))

(use-package key-chord :ensure t
  :init
  (progn (key-chord-mode 1)
         (setq key-chord-two-keys-delay 0.5)))
{'fraction_non_alphanumeric': 0.14269056988777146, 'fraction_numerical': 0.0032065296603993585, 'mean_word_length': 2.5646753246753247, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2314522', 'n_tokens_mistral': 2377, 'n_tokens_neox': 2205, 'n_words': 585}