From b703719204e712d39ce61ce4d88cb8fb21c1a58c Mon Sep 17 00:00:00 2001 From: Grant Shangreaux Date: Mon, 27 Feb 2023 19:23:59 -0600 Subject: Add: a bunch of stuff for slime, telephone-line config, company --- shoshimacs.el | 78 ++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 30 deletions(-) (limited to 'shoshimacs.el') diff --git a/shoshimacs.el b/shoshimacs.el index cd40724..8d22251 100644 --- a/shoshimacs.el +++ b/shoshimacs.el @@ -134,21 +134,22 @@ (define-key vertico-map (kbd "M-DEL") #'vertico-directory-delete-word) (define-key vertico-map (kbd "M-j") #'vertico-quick-insert) -(package-install 'corfu) -(setq corfu-auto t - corfu-cycle t - corfu-quit-no-match t) -(global-corfu-mode t) +(package-install 'company) -(package-install 'corfu-terminal) -(unless (display-graphic-p) - (corfu-terminal-mode +1)) +(setq company-minimum-prefix-length 2 + company-idle-delay 0.3) ;; default is 0.2 + +(add-hook 'after-init-hook 'global-company-mode) (package-install 'which-key) (which-key-mode) ;;; Editing -(electric-pair-mode) +(package-install 'smartparens) +(require 'smartparens-config) +(smartparens-global-mode 1) +;(sp-local-pair 'sly-mrepl-mode "'" nil :actions nil) +(sp-local-pair 'slime-repl-mode "'" nil :actions nil) (package-install 'markdown-mode) @@ -170,6 +171,10 @@ (package-install 'org-tree-slide) +(add-to-list 'org-structure-template-alist '("se" . "src emacs-lisp")) +(add-to-list 'org-structure-template-alist '("sr" . "src ruby")) +(add-to-list 'org-structure-template-alist '("ss" . "src shell")) + (recentf-mode) (setq indent-tabs-mode nil @@ -188,6 +193,7 @@ (format "git clone %s %s" slime-repo slime-src-dir))) (add-to-list 'load-path slime-src-dir) +(require 'slime-autoloads) (let ((default-directory (concat slime-src-dir "doc/")) (buf (get-buffer-create "*slime-make-info*"))) @@ -195,9 +201,21 @@ (shell-command "make clean" "*slime-make-info*") (shell-command "make slime.info" "*slime-make-info*"))) +(defvar slime-company-repo "https://github.com/anwyn/slime-company") +(defvar slime-company-src-dir (expand-file-name "~/src/slime-company/")) + +(unless (file-directory-p slime-company-src-dir) + (shell-command + (format "git clone %s %s" slime-company-repo slime-company-src-dir))) + +(add-to-list 'load-path slime-company-src-dir) +(setq slime-company-completion 'fuzzy + slime-company-display-arglist 1) + (setq slime-contribs '( slime-fancy ;; default value, includes many fundamental contribs + slime-company slime-mrepl inferior-slime slime-fuzzy @@ -209,9 +227,15 @@ slime-quicklisp )) -(require 'slime-autoloads) (slime-setup) +(defun my-slime-return (_) + "Function to advise `slime-repl-return' to make inspect the presentation at point." + (when (slime-presentation-around-or-before-point-p) + (slime-inspect-presentation-at-point (point)))) + +(advice-add 'slime-repl-return :before #'my-slime-return) + (package-install 'json-mode) (add-hook 'ruby-mode-hook #'flymake-mode) @@ -268,17 +292,6 @@ erc-interpret-mirc-color t erc-hide-list '("JOIN" "PART" "QUIT")) -(defvar nov.el-repo "https://depp.brause.cc/nov.el.git") -(defvar nov.el-src-dir (expand-file-name "~/src/nov.el/")) - -(unless (file-directory-p nov.el-src-dir) - (shell-command - (format "git clone %s %s" nov.el-repo nov.el-src-dir))) - -(add-to-list 'load-path nov.el-src-dir) -(require 'nov) -(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)) - ;;; External Services (package-install 'plz) @@ -350,16 +363,21 @@ (package-install 'autothemer) (setq telephone-line-lhs - '((evil . (telephone-line-evil-tag-segment)) - (accent . (telephone-line-vc-segment - telephone-line-erc-modified-channels-segment - telephone-line-process-segment)) - (nil . (telephone-line-minor-mode-segment - telephone-line-buffer-segment)))) + '((evil . (telephone-line-evil-tag-segment)) + (accent . (telephone-line-vc-segment + telephone-line-erc-modified-channels-segment + telephone-line-process-segment)) + (nil . ( + ;; telephone-line-minor-mode-segment + telephone-line-buffer-segment)))) (setq telephone-line-rhs - '((nil . (telephone-line-misc-info-segment)) - (accent . (telephone-line-major-mode-segment)) - (evil . (telephone-line-airline-position-segment)))) + '((nil . (telephone-line-misc-info-segment + telephone-line-flymake-segment)) + (accent . (telephone-line-major-mode-segment)) + (evil . (telephone-line-airline-position-segment)))) + +(set-face-background 'telephone-line-evil-normal "deep pink") +(set-face-background 'telephone-line-evil-insert "Dark Turquoise") (telephone-line-mode t) -- cgit v1.2.3