105 lines
2.7 KiB
EmacsLisp
105 lines
2.7 KiB
EmacsLisp
;; -*- lexical-binding: t; -*-
|
|
(require 'package)
|
|
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
|
(package-initialize)
|
|
|
|
(if (string= system-type "darwin")
|
|
(set-frame-font "Berkeley Mono 16" nil t)
|
|
(set-frame-font "BerkeleyMono 14" nil t))
|
|
|
|
(load-theme 'modus-vivendi)
|
|
|
|
(defun hgh/edit-init-file ()
|
|
(interactive)
|
|
(find-file user-init-file))
|
|
|
|
(when (string= system-type "darwin")
|
|
(setq dired-use-ls-dired nil)
|
|
(setq mac-command-modifier 'control))
|
|
|
|
(keymap-global-set "M-o" #'other-window)
|
|
(keymap-global-set "C-c c" #'compile)
|
|
(keymap-global-set "M-0" #'delete-window)
|
|
(keymap-global-set "M-1" #'delete-other-windows)
|
|
(keymap-global-set "M-2" #'split-window-below)
|
|
(keymap-global-set "M-3" #'split-window-right)
|
|
(keymap-global-set "C-c e i" #'hgh/edit-init-file)
|
|
|
|
(setq
|
|
custom-file "~/.emacs.d/custom.el"
|
|
make-backup-files nil)
|
|
|
|
(setopt use-short-answers t)
|
|
(setopt use-dialog-box nil)
|
|
|
|
(ido-mode 1)
|
|
(fido-mode 1)
|
|
(global-completion-preview-mode 1)
|
|
(tab-bar-mode -1)
|
|
(tool-bar-mode -1)
|
|
(scroll-bar-mode -1)
|
|
(global-hl-line-mode 1)
|
|
|
|
(add-hook 'compilation-filter-hook 'ansi-color-compilation-filter)
|
|
(add-hook 'before-save-hook 'delete-trailing-whitespace)
|
|
|
|
(if (file-exists-p custom-file)
|
|
(load-file custom-file))
|
|
|
|
(require 'use-package)
|
|
(setq use-package-always-ensure t)
|
|
|
|
(use-package exec-path-from-shell
|
|
:demand t)
|
|
|
|
(exec-path-from-shell-initialize)
|
|
|
|
(use-package move-text
|
|
:bind (("M-<down>" . 'move-text-down)
|
|
("M-<up>" . 'move-text-up)))
|
|
|
|
(use-package jai-mode
|
|
:vc (:url "https://github.com/valignatev/jai-mode.git"
|
|
:rev :newest))
|
|
|
|
(use-package magit
|
|
:bind ("C-x g" . magit-status))
|
|
|
|
(use-package multiple-cursors
|
|
:bind (("C->" . mc/mark-next-like-this)
|
|
("C-<" . mc/mark-previous-like-this)
|
|
("C-c C-<" . mc/mark-all-like-this)))
|
|
|
|
(use-package cape
|
|
:hook ((completion-at-point-functions . cape-dabbrev)
|
|
(completion-at-point-functions . cape-file)))
|
|
|
|
(use-package dumber-jump
|
|
:init
|
|
(add-hook 'xref-backend-functions #'dumber-jump-xref-activate)
|
|
:config
|
|
(push
|
|
'(:language "jai" :type "function"
|
|
:supports ("ag" "grep" "rg" "git-grep")
|
|
:regex "\\bJJJ\\s*::"
|
|
:tests ("test ::"))
|
|
dumber-jump-find-rules)
|
|
(push
|
|
'(:language "jai" :type "variable"
|
|
:supports ("ag" "grep" "rg" "git-grep")
|
|
:regex "\\bJJJ\\s*(:|:\\s*=|::)"
|
|
:tests ("test: Type" "test : Type = Val" "test :: Val"))
|
|
dumber-jump-find-rules)
|
|
(push
|
|
'(:language "jai" :type "type"
|
|
:supports ("ag" "grep" "rg" "git-grep")
|
|
:regex "\\bJJJ\\s*::"
|
|
:tests ("test ::"))
|
|
dumber-jump-find-rules))
|
|
|
|
(use-package eglot
|
|
:config
|
|
(push '(jai-mode "jails") eglot-server-programs))
|
|
|
|
(use-package yaml-mode)
|