diff --git a/init.el b/init.el index 694fffd..6c6bf0f 100644 --- a/init.el +++ b/init.el @@ -6,6 +6,9 @@ (require 'server) (require 'crm) +;; Global lexical binding +(set-default-toplevel-value 'lexical-binding t) + ;; Setup PATH (dolist (file '("/usr/local/sbin" "~/.local/bin" "~/.ghcup/bin" "/usr/bin/site_perl" "/usr/bin/vendor_perl" @@ -65,6 +68,17 @@ display." (posframe-hide name)) (posframe-hide name)))) +;; tooltip stuff +(tooltip-mode 1) +(setopt use-system-tooltips nil) +(defun my/-fix-tooltip-position () + "Toggle tooltips after Emacs starts to fix the appearing in the wrong place." + (let ((inhibit-message t)) + (tooltip-mode -1) + (tooltip-mode 1)) + (remove-hook 'server-after-make-frame-hook #'my/-fix-tooltip-position)) +(add-hook 'server-after-make-frame-hook #'my/-fix-tooltip-position) + ;; no-littering (use-package no-littering :defer nil @@ -218,7 +232,7 @@ Apply OLDFUN with to ARGS." ;; Stop some annoying stuff (setq extended-command-suggest-shorter nil suggest-key-bindings nil - quit-window-kill-buffer t) + quit-window-kill-buffer nil) ;; Better scrolling (setq mouse-scroll-delay 0 @@ -301,6 +315,10 @@ Apply OLDFUN with to ARGS." . conf-mode)) (add-to-list 'auto-mode-alist `(,(rx (or bos "/") "README" eos) . markdown-mode)) +;; Show the fill column +;; (global-display-fill-column-indicator-mode -1) +;; (setopt display-fill-column-indicator-warning t) + ;; Minibuffer stuff (add-hook 'minibuffer-setup-hook #'cursor-intangible-mode) (setopt crm-prompt "[CRM%s] %p" @@ -1114,16 +1132,18 @@ environment variable accordingly." :config (defun my/-setup-text-mode-completion-styles () (setq-local completion-styles '(basic))) - (orderless-define-completion-style my/orderless-with-initialism - (orderless-matching-styles '(orderless-initialism orderless-regexp))) - (setq orderless-matching-styles '(orderless-regexp) + (orderless-define-completion-style my/orderless-command-matcher + (orderless-matching-styles + '(orderless-literal-prefix orderless-literal orderless-initialism))) + (setq orderless-matching-styles + '(orderless-literal-prefix orderless-literal orderless-regexp) completion-styles '(orderless basic) completion-category-defaults nil completion-category-overrides '((file (styles basic partial-completion)) (command - (styles my/orderless-with-initialism - basic))))) + (styles my/orderless-command-matcher + basic))))) ;; marginalia (use-package marginalia @@ -1204,9 +1224,6 @@ environment variable accordingly." (use-package consult-eglot :commands consult-eglot-symbols) -;; wgrep -(use-package wgrep) - ;; integration for embark and consult (use-package embark-consult :hook (embark-collect-mode . consult-preview-at-point-mode)) @@ -1296,6 +1313,8 @@ environment variable accordingly." ;; xref (use-package xref + :custom + (global-xref-mouse-mode t) :init (evil-define-key '(normal motion) 'global "gr" #'xref-find-references) @@ -2823,6 +2842,7 @@ current buffer is a Jupyter buffer, just use that." "Like `sage-shell:run-sage', but does not ask anything without a prefix argument." (interactive "P") + (require 'sage-shell-mode) (let ((sage-shell:ask-command-options p)) (funcall-interactively #'sage-shell:run-sage (sage-shell:read-command)))) @@ -3192,6 +3212,7 @@ ARG is the same as for either of the above functions." (dired-clean-up-buffers-too t) (dired-clean-confirm-killing-deleted-buffers t) (dired-kill-when-opening-new-dired-buffer t) + (dired-auto-toggle-b-switch t) :config (evil-define-key '(normal visual motion) dired-mode-map "u" #'dired-unmark @@ -3204,6 +3225,12 @@ ARG is the same as for either of the above functions." (defun my/-setup-image-dired-thumbnail-mode () (display-line-numbers-mode -1))) +(use-package speedbar + :ensure nil + :defer t + :custom + (speedbar-prefer-window t)) + ;; dirvish (use-package dirvish :demand t