Skip to content

Instantly share code, notes, and snippets.

@vidjuheffex
Last active July 13, 2023 20:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vidjuheffex/cb386ca4ca0d7abac4d8471a0279794a to your computer and use it in GitHub Desktop.
Save vidjuheffex/cb386ca4ca0d7abac4d8471a0279794a to your computer and use it in GitHub Desktop.
temp emacs explorations
;; 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