;;; 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://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 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://github.com/nbfalcon/macrostep-geiser ;; Macrostep Configuration ;; Inactive Due to Missing Package ;;(eval-after-load 'geiser-mode '(add-hook 'geiser-mode-hook #'macrostep-geiser-setup)) ;;(eval-after-load 'geiser-repl '(add-hook 'geiser-repl-mode-hook #'macrostep-geiser-setup)) ;; https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html ;; Copyright Information (setq user-full-name "Marek Paśnikowski") (setq user-mail-address "marekpasnikowski@protonmail.com") ;; Startup Screen Inhibition (setq inhibit-startup-screen t) ;; https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html ;; Add Local Guix Repository to Load Path ;; (with-eval-after-load 'geiser-guile ;; (add-to-list 'geiser-guile-load-path "~/src/guix"))