;; 10-iro-than.el ;; Use-package compatible configuration ;; Global line numbers (use-package global-display-line-numbers :ensure t :config (global-display-line-numbers-mode)) ;; Font size customization (use-package change-font-size :ensure t :config (defun change-font-size (size) "Change font size." (interactive "nEnter size: ") (set-face-attribute 'default nil :height size))) ;; Rainbow delimiters with stronger colors (use-package rainbow-delimiters :ensure t :config (defun rainbow-delimiters-using-stronger-colors () "Enable rainbow delimiters with stronger colors." (interactive) (rainbow-delimiters-mode)) (add-hook 'emacs-startup-hook 'rainbow-delimiters-using-stronger-colors)) ;; Next line function (use-package next-line :ensure t :config (defun next-line (arg) "Move to next line." (interactive "p") (forward-line arg))) ;; Rainbow delimiters (alternative setup) (use-package rainbow-delimiters :ensure t :config (require 'rainbow-delimiters) (add-hook 'prog-mode-hook 'rainbow-delimiters-mode)) ;; Neotree (sidebar) (use-package neotree :ensure t :config (global-set-key "\C-o" 'neotree-toggle)) ;; Window movement with Ctrl + arrow keys (use-package windmove :ensure t :config (global-set-key (kbd "\C-c ") 'windmove-left) (global-set-key (kbd "\C-c ") 'windmove-right) (global-set-key (kbd "\C-c ") 'windmove-up) (global-set-key (kbd "\C-c ") 'windmove-down)) ;; Golden ratio for window splitting (use-package golden-ratio :ensure t :config (golden-ratio-mode 1) (add-to-list 'golden-ratio-exclude-buffer-names " *NeoTree*") (add-to-list 'golden-ratio-exclude-buffer-names " *Ilist*")) ;; Blacken for line wrapping (use-package blacken :ensure t :custom ((blacken-line-length . 119) (blacken-skip-string-normalization . t))) ;; Smartparens for parentheses (use-package smartparens :ensure t :config (smartparens-global-mode t)) ;; Which-key for key assistance (use-package which-key :diminish which-key-mode :hook (after-init . which-key-mode)) ;; Scroll settings (setq scroll-step 1 scroll-conservatively 1 scroll-margin 5 next-screen-context-lines 1 mouse-wheel-progressive-speed nil) ;; Custom scroll behavior (defun next-line (arg) (interactive "p") (condition-case nil (line-move arg) (end-of-buffer))) ;; Line number toggle (global-set-key (kbd "C-^") 'display-line-numbers-mode) ;; JSON reformat (require 'json-reformat) ;; Imenu list (setq speedbar-use-images nil) (global-set-key (kbd "M-i") 'imenu-list-smart-toggle) ;; Buffer last line cursor behavior (defun next-line (arg) (interactive "p") (condition-case nil (line-move arg) (end-of-buffer))) ;; Font size customization (defun change-font-size (size) "Change font size (clearly `:height` in `face-attribute`) to given SIZE." (interactive (list (read-number (format "Input font size (current=%d): " (face-attribute 'default :height)) nil))) (set-face-attribute 'default nil :height size))