;; -*- 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-" . 'move-text-down) ("M-" . '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)