From c66fe03d316546aa44af10f6c3bb94be1d91d0c3 Mon Sep 17 00:00:00 2001 From: Taryel Hlontsi Date: Mon, 22 Jul 2024 22:51:06 +0200 Subject: [PATCH] Make startup a bit faster --- .gitignore | 1 + init.el | 95 ++++++++++++++++----- profile-dotemacs.el | 200 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 277 insertions(+), 19 deletions(-) create mode 100644 profile-dotemacs.el diff --git a/.gitignore b/.gitignore index e830dd0..a89dd44 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ !/init.el !/snippets !/tree-sitter +!/profile-dotemacs.el \ No newline at end of file diff --git a/init.el b/init.el index 8c007a1..5bd71f4 100644 --- a/init.el +++ b/init.el @@ -1,3 +1,36 @@ +(setq gc-cons-threshold (* 100 1000 1000)) + +(defun my/dired-open-current-file-directory () + "Open the current file's directory in Dired, if possible." + (interactive) + (if (buffer-file-name) + (dired-jump) + (call-interactively 'dired))) + +(defun my/duplicate-line-or-region (arg) + (interactive "p") + (let (beg end (origin (point))) + (if (and mark-active (> (point) (mark))) + (exchange-point-and-mark)) + (setq beg (line-beginning-position)) + (if mark-active + (exchange-point-and-mark)) + (setq end (line-end-position)) + (let ((region (buffer-substring-no-properties beg end))) + (dotimes (i arg) + (goto-char end) + (newline) + (insert region) + (setq end (point))) + (goto-char (+ origin (* (length region) arg) arg))))) + +(defun my/mhtml-forward (arg) + (interactive "P") + (pcase (get-text-property (point) 'mhtml-submode) + ('nil (sgml-skip-tag-forward 1)) + (submode (forward-sexp)))) + + (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. @@ -38,7 +71,10 @@ :ensure t) (use-package dockerfile-mode - :ensure t) + :ensure t + :defer t + :mode ("Dockerfile\\'" "\\.dockerfile\\'") + :commands dockerfile-mode) (use-package flycheck :ensure t) @@ -61,7 +97,11 @@ (scroll-bar-mode -1) -;;(set-face-attribute 'default nil :font "Hack Nerd Font Mono" :height 110) +;;"M+1Code Nerd Font" +;;"Lekton Nerd Font" +(set-face-attribute 'default nil :font "Lekton" :height 120) + +;;(set-fontset-font t nil (font-spec :size 20 :name "VictorMono Nerd Font Mono")) ;;(set-face-attribute 'default nil :font "VictorMono Nerd Font Mono" :height 110) ;;(setq x-antialiasing-factor nil) @@ -100,15 +140,16 @@ (use-package elpy :ensure t + :defer t + :commands (elpy-enable) + :init + (add-hook 'python-mode-hook 'elpy-enable) :config - (remove-hook 'elpy-modules 'elpy-module-flymake)) + (setq elpy-modules (delq 'elpy-module-flymake elpy-modules))) -(use-package exec-path-from-shell - :ensure t) - -(elpy-enable) - -(exec-path-from-shell-copy-env "PATH") +;; (use-package exec-path-from-shell +;; :ensure t) +;; (exec-path-from-shell-copy-env "PATH") ;; black or standard (flake8 ?) code formatter: ;; (add-hook 'elpy-mode-hook (lambda () @@ -151,6 +192,7 @@ (mark-whole-buffer) (json-pretty-print (region-beginning) (region-end)))) +(global-unset-key (kbd "C-d")) (global-unset-key (kbd "C-z")) (global-unset-key (kbd "C-v")) (global-unset-key (kbd "C-f")) @@ -165,6 +207,8 @@ (global-set-key (kbd "") 'kill-buffer-no-confirm) (global-set-key (kbd "C-b") 'list-buffers-please) (global-set-key (kbd "C-n") 'dired-create-empty-file) +(global-set-key (kbd "C-d") 'my/duplicate-line-or-region) +(global-set-key (kbd "C-x d") 'my/dired-open-current-file-directory) (add-hook 'elpy-mode-hook (lambda () (local-set-key [f2] 'elpy-refactor-rename))) @@ -200,18 +244,13 @@ ;; (define-key map (kbd "C-x 4 M-.") 'elpy-goto-assignment-other-window) ;; stuff for folding html -(defun mhtml-forward (arg) - (interactive "P") - (pcase (get-text-property (point) 'mhtml-submode) - ('nil (sgml-skip-tag-forward 1)) - (submode (forward-sexp)))) (add-to-list 'hs-special-modes-alist '(mhtml-mode "{\\|<[^/>]+?" "}\\|]*[^/]>" "