;;; Enable MELPA repository (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (package-initialize) ;;; https://github.com/fimblo/dot.emacs ;;; Theme Activation (load-theme 'manoj-dark) ;;; https://www.lucacambiaghi.com/vanilla-emacs/readme.html ;;; =defvar= warnings fix (setq-default enable-local-variables :all) ;;; https://elpa.gnu.org/packages/aggressive-indent.html ;;; Automatic Activation of Aggressive Indent (global-aggressive-indent-mode 1) ;;; https://jeko.frama.io/en/emacs.html ;;; Jeko's suggested configuration ;; Highlight cursor line (global-hl-line-mode +1) ;; Highlight the pair of delimiters under the cursor (show-paren-mode 1) (setq-default show-paren-delay 0) ;; Add Geiser and its auto-completion (ac-config-default) (require 'ac-geiser) (add-hook 'geiser-mode-hook 'ac-geiser-setup) (add-hook 'geiser-repl-mode-hook 'ac-geiser-setup) (eval-after-load "auto-complete" '(add-to-list 'ac-modes 'geiser-repl-mode)) ;; Edit the code based on the S-expression structure (require 'paredit) (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t) (add-hook 'scheme-mode-hook #'enable-paredit-mode) ;; Edit several strings of characters in the same way simultaneously (require 'iedit) ;; Edit several places in the file in the same way simultaneously ;; (require 'multiple-cursors) ;; (global-set-key (kbd "C-S-c C-S-c") ;; 'mc/edit-lines) ;; (global-set-key (kbd "C->") ;; 'mc/mark-next-like-this) ;; (global-set-key (kbd "C-<") ;; 'mc/mark-previous-like-this) ;; (global-set-key (kbd "C-c C-<") ;; 'mc/mark-all-like-this) ;; Extract variables and functions (if (not (package-installed-p 'emr)) (progn (package-refresh-contents) (package-install 'emr))) (require 'emr) (autoload 'emr-show-refactor-menu "emr") (define-key prog-mode-map (kbd "M-RET") 'emr-show-refactor-menu) (eval-after-load "emr" '(emr-initialize)) (global-set-key (kbd "M-v") 'emr-scm-extract-variable) (global-set-key (kbd "M-f") 'emr-scm-extract-function) ;;; https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html ;;; Copyright Information (setq-default user-full-name "Marek Paśnikowski") (setq-default user-mail-address "marekpasnikowski@protonmail.com") ;;; Startup Screen Inhibition (setq-default inhibit-startup-screen t) ;; Enable the column-80 line (global-display-fill-column-indicator-mode 1) (setq-default display-fill-column-indicator-column 79)