diff --git a/bindings.el b/bindings.el index 3e0536e..2eff9f0 100644 --- a/bindings.el +++ b/bindings.el @@ -1,6 +1,6 @@ ;;; bindings.el -*- lexical-binding: t; -*- -(setq doom-localleader-alt-key "C-SPC") +(setq doom-localleader-alt-key "M-s-SPC") (map! (:when (modulep! :ui popup) "C-`" #'+popup/toggle @@ -40,7 +40,8 @@ :desc "make taller" "-" #'shrink-window :desc "make wider" ">" #'enlarge-window-horizontally :desc "make narrower" "<" #'shrink-window-horizontally - :desc "delete current window" "d" #'delete-window) + :desc "delete current window" "d" #'delete-window + :desc "delete other windows" "o" #'delete-other-windows) :desc "help" "h" help-map :desc "Toggle last popup" "~" #'+popup/toggle @@ -377,13 +378,14 @@ "s-z" #'undo "s-w" #'kill-buffer "s-f" #'+default/search-buffer + "s-g" #'vertico-repeat ; repeat last search (or other vertico action) + "s-V" #'consult-yank-from-kill-ring ; paste from previous copdied text "M-s-" #'next-window-any-frame "M-s-" #'previous-window-any-frame - "s-" #'beginning-of-buffer - "s-" #'end-of-buffer - "M-s-v" #'consult-yank-from-kill-ring + ;; "s-" #'beginning-of-buffer + ;; "s-" #'end-of-buffer "s-" #'split-window-below - "s-" #'+fold/toggle) + "C-M-S-s-" #'+fold/toggle) ;; remove default Lispy mode bindings (map! :map lispy-mode-map @@ -393,7 +395,7 @@ "M-" nil "M-" nil) -;; Smartparens bindings set to be called with SPC + l as prefix +;; Smartparens bindings set to be called with localleader + l as prefix (map! :map lisp-mode-map :localleader @@ -402,21 +404,28 @@ "b" #'sp-backward-sexp "u" #'sp-unwrap-sexp "k" #'sp-kill-sexp - "s" #'sp-split-sexp + "s" #'sp-forward-slurp-sexp + "r" #'sp-forward-barf-sexp "(" #'sp-wrap-round "[" #'sp-wrap-square "{" #'sp-wrap-curly) -;; (map! -;; :map lisp-mode-map -;; "f" #'sp-forward-sexp -;; "b" #'sp-backward-sexp -;; "u" #'sp-unwrap-sexp -;; "k" #'sp-kill-sexp -;; "s" #'sp-split-sexp -;; "(" #'sp-wrap-round -;; "[" #'sp-wrap-square -;; "{" #'sp-wrap-curly) +(map! + :map smartparens-mode-map + "s-M-[" #'sp-backward-sexp + "s-M-]" #'sp-forward-sexp + "s-M-{" #'sp-backward-up-sexp + "s-M-}" #'sp-down-sexp + "s-(" #'sp-wrap-round + "s-)" #'sp-unwrap-sexp + "s-[" #'sp-wrap-square + "s-]" #'sp-unwrap-sexp + "s-{" #'sp-wrap-curly + "s-}" #'sp-unwrap-sexp) + +(map! + :map web-mode-map + "s-<" #'web-mode-element-wrap) (setq ns-alternate-modifier 'meta) (setq ns-right-alternate-modifier 'none) diff --git a/config.el b/config.el index 0d6f7fb..f5e6467 100644 --- a/config.el +++ b/config.el @@ -18,10 +18,33 @@ ;; `load-theme' function. This is the default: (setq doom-theme 'doom-monokai-pro) +;; config for icons. remove when main packages are fixed? + +(setq + nerd-icons-font-family "Symbols Nerd Font Mono" + centaur-tabs-icon-type 'nerd-icons +) + +(use-package! nerd-icons-completion + :after marginalia + :config + (nerd-icons-completion-mode) + (add-hook 'marginalia-mode-hook #'nerd-icons-completion-marginalia-setup)) + +(use-package! nerd-icons-dired + :hook + (dired-mode . nerd-icons-dired-mode)) + +(use-package! treemacs-nerd-icons + :after treemacs + :config + (treemacs-load-theme "nerd-icons")) + ;; This determines the style of line numbers in effect. If set to `nil', line ;; numbers are disabled. For relative line numbers, set this to `relative'. (setq display-line-numbers-type t) (setq scroll-preserve-screen-position t) +(setq global-hl-line-modes nil) (setq org-directory "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Primary/org/") @@ -83,6 +106,9 @@ (setq treemacs-follow-mode t) (setq treemacs-project-follow-mode t)) +(setq vterm-kill-buffer-on-exit t) +(setq dap-ui-variable-length 200) + ;; smart tabs set modes (after! smart-tabs-mode (smart-tabs-insinuate 'c 'javascript 'python)) @@ -92,6 +118,10 @@ (setq lsp-completion-provider :none) (setq lsp-signature-render-documentation nil) (setq lsp-completion-show-kind t) + (setq lsp-ui-doc-show-with-mouse nil) + + (setq +lsp-company-backends + '(:separate company-capf company-yasnippet company-dabbrev)) (defun my/lsp-mode-setup-completion () (setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults)) @@ -108,12 +138,6 @@ (add-to-list 'auto-mode-alist '("\\.svelte\\'" . web-mode)) (setq web-mode-engines-alist '(("svelte" . "\\.svelte\\'"))) - -;; custom keybind for adding html closing tag because i have muscle memory from sublime -(after! web-mode - (map! :map web-mode-map - "M-s-." 'web-mode-element-close)) - (add-hook! web-mode (web-mode-use-tabs) (setq indent-tabs-mode t)) ;; fix centaur tabs to show at the right times and add my muscle memory keybind @@ -149,8 +173,8 @@ ;; better completions for sly (after! sly (setq sly-lisp-implementations - '((sbcl ("sbcl")) - (ciel ("sbcl" "--core" "/Users/emenel/quicklisp/local-projects/CIEL/ciel-core" "--eval" "(in-package :ciel-user)")))) + '((sbcl ("sbcl" "--dynamic-space-size" "4000")) + (ciel ("sbcl" "--core" "/Users/emenel/quicklisp/local-projects/CIEL/ciel-core" "--eval" "(in-package :ciel-user)" "--dynamic-space-size" "2600")))) (setq sly-default-lisp 'sbcl) (setq sly-complete-symbol-function 'sly-flex-completions)) @@ -174,10 +198,13 @@ ;; tidal cycles! (setq tidal-boot-script-path "~/.cabal/share/aarch64-osx-ghc-9.4.2/tidal-1.9.3/BootTidal.hs") -(defvar company-backends '()) +;; (defvar company-backends '()) (load! "obsidian-config.el") (add-hook 'window-setup-hook #'mnl/frame-center) +(custom-set-faces! + '(line-number :foreground "#424242")) + (server-start) diff --git a/init.el b/init.el index dd6fba8..a8fe024 100644 --- a/init.el +++ b/init.el @@ -25,8 +25,8 @@ ;; helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... ;;ivy ; a search engine for love and life - (vertico +icons +orderless) ; the search engine of the future - (corfu +icons) + (vertico +orderless) ; the search engine of the future + (corfu) :ui ;;deft ; notational velocity for Emacs @@ -37,7 +37,7 @@ hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra ;; indent-guides ; highlighted indent columns - (ligatures) ; ligatures and symbols to make your code pretty again + ligatures ; ligatures and symbols to make your code pretty again ;; minimap ; show a map of the code on the side modeline ; snazzy, Atom-inspired modeline, plus API nav-flash ; blink cursor line after big motions @@ -45,7 +45,7 @@ ophints ; highlight the region an operation acts on (popup +all +defaults) ; tame sudden yet inevitable temporary windows tabs ; a tab bar for Emacs - (treemacs +lsp) ; a project drawer, like neotree but cooler + (treemacs +lsp +treemacs-git-mode) ; a project drawer, like neotree but cooler ;;unicode ; extended unicode support for various languages (vc-gutter +pretty) ; vcs diff in the fringe vi-tilde-fringe ; fringe tildes to mark beyond EOB @@ -69,9 +69,9 @@ word-wrap ; soft wrapping with language-aware indent :emacs - (dired +icons) ; making dired pretty [functional] + (dired) ; making dired pretty [functional] electric ; smarter, keyword-based electric-indent - (ibuffer +icons) ; interactive buffer management + (ibuffer) ; interactive buffer management undo ; persistent, smarter undo for your inevitable mistakes vc ; version-control and Emacs, sitting in a tree @@ -143,7 +143,7 @@ ;;hy ; readability of scheme w/ speed of python ;;idris ; a language you can depend on (json +lsp +tree-sitter) ; At least it ain't XML - (java +lsp +tree-sitter) ; the poster child for carpal tunnel syndrome + (java +tree-sitter) ; the poster child for carpal tunnel syndrome (javascript +lsp +tree-sitter) ; all(hope(abandon(ye(who(enter(here)))))) ;;julia ; a better, faster MATLAB ;;kotlin ; a better, slicker Java(Script) @@ -168,7 +168,7 @@ ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} (rust +lsp +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good - ;;(scheme +guile) ; a fully conniving family of lisps + (scheme +guile +chez) ; a fully conniving family of lisps sh ; she sells {ba,z,fi}sh shells on the C xor ;;sml ;;solidity ; do you need a blockchain? No. diff --git a/modules/editor/meow/config.el b/modules/editor/meow/config.el index 4fe5bb5..83b7005 100644 --- a/modules/editor/meow/config.el +++ b/modules/editor/meow/config.el @@ -329,11 +329,3 @@ (pushnew! meow-mode-state-list '(sly-db-mode . motion)) (pushnew! meow-mode-state-list '(sly-inspector-mode . motion)) (map! :map meow-keymap [remap describe-key] #'helpful-key)) - -(if (modulep! :editor evil) - (add-hook! 'after-init-hook - (defun meow-init-local-var-hooks-disable-evil () - (remove-hook 'doom-after-modules-config-hook 'evil-mode) - (evil-mode -1)))) - -;; REVIEW look into better ways to manage key binds, and see if general.el can support meow modes instead of evil modes diff --git a/packages.el b/packages.el index 0a515df..d5a2fd2 100644 --- a/packages.el +++ b/packages.el @@ -5,17 +5,24 @@ ;; on the command line, then restart Emacs for the changes to take effect -- or ;; use 'M-x doom/reload'. -;; (unpin! compat) -;; (:host github :repo "emacs-compat/compat") +(unpin! compat) (unpin! doom-themes) (unpin! lsp-mode) (unpin! sly) -(unpin! eglot) -;; (unpin! markdown-mode) -;; (unpin! consult) -;; (unpin! vertico) -;; (unpin! embark) -;; (unpin! orderless) +(unpin! racket-mode) +(unpin! lsp-mode) +(unpin! better-jumper) +(unpin! pcre2el) +(unpin! consult) +(unpin! vertico) +(unpin! embark) +(unpin! orderless) + +(unpin! geiser) + +(package! nerd-icons-completion) +(package! nerd-icons-dired) +(package! treemacs-nerd-icons) (package! obsidian) (package! w3m)