Last active
July 13, 2023 20:32
-
-
Save vidjuheffex/cb386ca4ca0d7abac4d8471a0279794a to your computer and use it in GitHub Desktop.
temp emacs explorations
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; package | |
(require 'package) | |
(add-to-list 'package-archives | |
'("melpa" . "https://melpa.org/packages/") t) | |
(package-initialize) | |
(unless package-archive-contents | |
(package-refresh-contents)) | |
;; use-package | |
(unless (package-installed-p 'use-package) | |
(package-install 'use-package)) | |
(eval-when-compile | |
(require 'use-package)) | |
(require 'bind-key) | |
(setq use-package-always-ensure t) | |
;; quelpa | |
(use-package quelpa) | |
;; modify the following expression to only run in quelpa-us-package hasn't been installed | |
(quelpa | |
'(quelpa-use-package | |
:fetcher git | |
:url "https://github.com/quelpa/quelpa-use-package.git")) | |
(require 'quelpa-use-package) | |
;; Emacs Chrome | |
(scroll-bar-mode 0) | |
(tool-bar-mode 0) | |
(menu-bar-mode 0) | |
(use-package dracula-theme | |
:config | |
(load-theme 'dracula t)) | |
;; No Littering! | |
(setq custom-file (expand-file-name ".emacs-customize.el" user-emacs-directory)) | |
(setq backup-directory-alist `(("." . ,(expand-file-name "backups" user-emacs-directory)))) | |
(setq auto-save-file-name-transforms `((".*" ,(expand-file-name "backups" user-emacs-directory) t))) | |
;; Context | |
(global-hl-line-mode 1) | |
;; Editor Behaviors | |
(delete-selection-mode 1) | |
(global-auto-revert-mode 1) | |
(setq ring-bell-function 'ignore) | |
(setq max-lisp-eval-depth 10000) | |
(setq-default indent-tabs-mode nil) | |
(setq-default tab-width 2) | |
(prefer-coding-system 'utf-8) | |
(set-default-coding-systems 'utf-8) | |
(set-terminal-coding-system 'utf-8) | |
(set keyboard-coding-system 'utf-8) | |
(setq-default buffer-file-coding-system 'utf-8-unix) | |
(setq inhibit-startup-screen t) | |
;; Rebinds | |
(global-set-key (kbd "C-s") 'isearch-forward-regexp) | |
(global-set-key (kbd "C-r") 'isearch-backward-regexp) | |
(global-set-key (kbd "C-M-s") 'isearch-forward) | |
(global-set-key (kbd "C-M-r") 'isearch-backward) | |
(global-set-key [remap dabbrev-expand] 'hippie-expand) | |
(global-unset-key [mouse-2]) | |
(setq mac-command-modifier 'meta | |
mac-function-modifier 'hyper | |
mac-right-option-modifer 'none) | |
(use-package exec-path-from-shell | |
:config (when (memq window-system '(mac ns x)) | |
(exec-path-from-shell-initialize))) | |
(use-package recentf | |
:ensure nil | |
:config | |
(setq recentf-max-menu-items 25) | |
(setq recentf-max-saved-items 25) | |
(recentf-mode 1)) | |
(use-package eldoc | |
:ensure nil | |
:hook (prog-mode . eldoc-mode)) | |
;; Winner Mode | |
(use-package winner | |
:ensure nil | |
:config (winner-mode 1)) | |
;; Completion | |
(use-package icomplete | |
:ensure nil | |
:config | |
(icomplete-vertical-mode 1) | |
(fido-mode 1)) | |
(use-package electric | |
:ensure nil | |
:hook ((prog-mode . electric-pair-mode) | |
(prog-mode . electric-indent-mode))) | |
;; Dired | |
(add-hook 'dired-mode-hook (lambda() (dired-hide-details-mode 1))) | |
(defun setup-js-mode () | |
(setq js-switch-offset 2) | |
(setq js-indent-level 2)) | |
(use-package js | |
:ensure nil | |
:mode (("\\.js\\'" . js-mode) | |
("\\.jsx\\'" . js-mode)) | |
:config (setup-js-mode)) | |
(add-to-list 'auto-mode-alist '("\\.ts\\'" . tsx-ts-mode)) | |
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . tsx-ts-mode)) | |
(add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-ts-mode)) | |
(add-to-list 'auto-mode-alist '("\\.yaml\\'" . yaml-ts-mode)) | |
;; Eglot | |
(use-package eglot | |
:hook ((js-mode . eglot-ensure) | |
(typescript-ts-mode . eglot-ensure) | |
(tsx-ts-mode . eglot-ensure) | |
(yaml-ts-mode . eglot-ensure) | |
(python-mode . eglot-ensure))) | |
(use-package golden-ratio-scroll-screen | |
:bind(([remap scroll-down-command] . golden-ratio-scroll-screen-down) | |
([remap scroll-up-command] . golden-ratio-scroll-screen-up))) | |
(use-package editorconfig | |
:config | |
(editorconfig-mode 1)) | |
(use-package yasnippet | |
:hook | |
(prog-mode . yas-minor-mode) | |
:config | |
(yas-reload-all)) | |
(use-package expand-region | |
:bind(("C-=" . er/expand-region) | |
("C--" . er/contract-region))) | |
(use-package which-key | |
:config | |
(which-key-mode 1)) | |
(use-package magit) | |
(use-package vterm) | |
(use-package markdown-mode | |
:mode "\\.md\\'" | |
:config | |
(setq markdown-command "multimarkdown")) | |
(use-package copilot | |
:quelpa (copilot :fetcher github | |
:repo "zerolfx/copilot.el" | |
:branch "main" | |
:files ("dist" "*.el")) | |
:hook | |
(prog-mode . copilot-mode)) | |
;;open emacs fullscreen by default | |
(add-to-list 'default-frame-alist '(fullscreen . maximized)) | |
(setq initial-scratch-message "\ | |
;; &&&\n\ | |
;; && &&\n\ | |
;; &&&&. &&& .&&&&&\n\ | |
;; && &&& &&&&&&&&&\n\ | |
;; &&&&&&&& & &` && &&\n\ | |
;; .&&&&& &&&; &8\n\ | |
;; .&&&: && &` & &&\n\ | |
;; 8&& & `& &&\n\ | |
;; && .&_ oO_&.-.-. .d88b. 88888b.d88b. 8888b. .d8888b.d8888b\n\ | |
;; && ( __ -/--' d8P Y8b888 \"888 \"88b \"88bd88P\" 88K\n\ | |
;; &&~ .'-__-'& 88888888888 888 888.d888888888 \"Y8888b.\n\ | |
;; &&&~`'\\`& Y8b. 888 888 888888 888Y88b. X88\n\ | |
;; &&&~` _& \"Y8888 888 888 888\"Y888888 \"Y8888P 88888P'\n\ | |
;; &&&&` &&\n\ | |
;; &&8&&&&\n\ | |
;; &&&&&&&\n\ | |
;; & &&&&&&&\n\ | |
;; &&;&&&&&&&\n\ | |
;; &&&&&&&&&& ~~~\n\ | |
;; .~~~~~ `&&&&&&&&& ~~~~\n\ | |
;; ~~~~~~~~~;!&&&&&&&&&&~/~~~~~~~~~\n\ | |
;; ~~~~~~~~\\~~~~&/` `\\~~~~~~~~~~~~\n\ | |
;; ~~~~~~~~ `~~~~~~~~~~\n\ | |
;; ~~~~~~ ~~~~~~~\n\ | |
;;") | |
(add-hook 'after-init-hook (lambda () (load custom-file))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment