summaryrefslogtreecommitdiff
path: root/.config/emacs/modules/bd--devel.el
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/modules/bd--devel.el')
-rw-r--r--.config/emacs/modules/bd--devel.el229
1 files changed, 0 insertions, 229 deletions
diff --git a/.config/emacs/modules/bd--devel.el b/.config/emacs/modules/bd--devel.el
deleted file mode 100644
index 0c17367..0000000
--- a/.config/emacs/modules/bd--devel.el
+++ /dev/null
@@ -1,229 +0,0 @@
-;;; -*- lexical-binding: t; -*-
-;;; Commentary:
-;;; Code:
-
-(require 'selector)
-(require 'dash)
-
-(setopt display-line-numbers-type 'relative)
-(defvar bd/enable-line-numbers-in-hooks
- '(prog-mode-hook)
- "List of hook symbols to add `display-line-numbers-mode' to.")
-(mapc
- (lambda (hook)
- (add-hook hook #'display-line-numbers-mode))
- bd/enable-line-numbers-in-hooks)
-
-;; skr (skribe) is a scheme extension
-(add-to-list 'auto-mode-alist '("\\.skr\\'" . scheme-mode))
-
-(defun bd/beginning-of-visual-line-dwim (&optional n)
- (interactive "P")
- (let ((pt (point)))
- (back-to-indentation)
- (when (or n (eq pt (point)))
- (beginning-of-visual-line n))))
-
-(define-minor-mode dwim-cursor-mode
- "Toggle dwim-cursor-mode."
- :init-value nil
- :group 'quality
- :light " SC"
- :keymap (list
- (cons (kbd "C-a") #'bd/beginning-of-visual-line-dwim)))
-
-(use-package prog-mode
- :hook
- ((js-mode . (lambda ()
- (add-to-list 'prettify-symbols-alist '("function" . ?ƒ))))
- (prog-mode . (lambda ()
- (font-lock-add-keywords
- nil '(("\\<\\(FIX\\(ME\\)?\\|TODO\\)"
- 1 font-lock-warning-face t)))))
- (prog-mode . dwim-cursor-mode))
- :config
- (global-prettify-symbols-mode 1))
-
-(use-package tramp
- :config
- (defun request-sudo ()
- "Uses TRAMP to edit current opened file as root."
- (interactive)
- (when buffer-file-name
- (find-alternate-file
- (concat "/sudo:root@localhost:"
- buffer-file-name))))
- (setopt tramp-remote-path
- (append tramp-remote-path
- '(tramp-own-remote-path
- "~/.guix-profile/bin" "~/.guix-profile/sbin"))))
-
-(use-package vc
- :bind (("C-x v B" . #'bd/vc-browse-remote))
- :config
- (defun bd/vc-browse-remote (&optional current-line)
- "Open the repository's remote URL in the browser.
-If CURRENT-LINE is non-nil, point to the current branch, file, and line.
-Otherwise, open the repository's main page."
- (interactive "P")
- (let* ((remote-url (string-trim (vc-git--run-command-string nil "config" "--get" "remote.origin.url")))
- (branch (string-trim (vc-git--run-command-string nil "rev-parse" "--abbrev-ref" "HEAD")))
- (file (string-trim (file-relative-name (buffer-file-name) (vc-root-dir))))
- (line (line-number-at-pos)))
- (message "Opening remote on browser: %s" remote-url)
- (if (and remote-url (string-match "\\(?:git@\\|https://\\)\\([^:/]+\\)[:/]\\(.+?\\)\\(?:\\.git\\)?$" remote-url))
- (let ((host (match-string 1 remote-url))
- (path (match-string 2 remote-url)))
- ;; Convert SSH URLs to HTTPS (e.g., git@github.com:user/repo.git -> https://github.com/user/repo)
- (when (string-prefix-p "git@" host)
- (setq host (replace-regexp-in-string "^git@" "" host)))
- ;; Construct the appropriate URL based on CURRENT-LINE
- (browse-url
- (if current-line
- (format "https://%s/%s/blob/%s/%s#L%d" host path branch file line)
- (format "https://%s/%s" host path))))
- (message "Could not determine repository URL")))))
-
-(use-package hl-line
- :hook
- ((prog-mode . hl-line-mode)
- (text-mode . hl-line-mode)))
-
-(use-package compile
- :demand t
- :hook ((compilation-filter . ansi-color-compilation-filter))
- :config
- (setopt compilation-always-kill t
- compilation-scroll-output 'first-error
- compilation-ask-about-save nil
- ansi-color-for-compilation-mode t)
- (defun bd/compile-dwim (f)
- (let ((default-directory (bd/get-directory-dwim)))
- (call-interactively f)))
- (add-to-list 'display-buffer-alist
- '((major-mode . compilation-mode)
- (display-buffer-in-side-window)
- (side . bottom)
- (slot . -1)
- (width . 0.15)
- (post-command-select-window t)))
-
- (keymap-set prog-mode-map
- "C-," #'(lambda ()
- (interactive)
- (bd/compile-dwim #'recompile)))
- (keymap-set prog-mode-map
- "C-<" #'(lambda ()
- (interactive)
- (bd/compile-dwim #'compile))))
-
-(use-package man
- :config
- (setopt Man-notify-method 'pushy))
-
-(use-package eldoc
- :init
- (global-eldoc-mode))
-
-(use-package flymake
- :bind (("C-c f f" . #'flymake-mode)
- :map flymake-mode-map
- ("C-c f s" . #'flymake-start)
- ("C-c f n" . #'flymake-goto-next-error)
- ("C-c f p" . #'flymake-goto-prev-error)
- ("C-c f b" . #'flymake-show-buffer-diagnostics)
- ("C-c f d" . #'flymake-show-project-diagnostics))
- :config
- (setopt flymake-no-changes-timeout nil
- flymake-start-on-flymake-mode t
- flymake-start-on-save-buffer t
- flymake-proc-compilation-prevents-syntax-check t
- flymake-wrap-around nil
- flymake-show-diagnostics-at-end-of-line nil))
-
-(require 'geiser)
-(require 'geiser-mode)
-(require 'geiser-guile)
-
-(use-package cider)
-
-(use-package gdb-mi
- :config
- (setopt gdb-debuginfod-enable-setting nil))
-
-(use-package eglot
- :defer t
- :bind (:map eglot-mode-map
- ("C-c C-f" . eglot-format)
- ("C-c C-e" . eglot-rename))
- :config
- (setopt eglot-autoshutdown t
- eglot-prefer-plaintext t
- jsonrpc-event-hook nil)
- (add-to-list 'eglot-server-programs
- '(c-mode . ("ccls" "--init={\"clang\": {\"extraArgs\": [\"-std=c++20\"]}}"))))
-
-(use-package rainbow-mode
- :hook css-mode)
-
-(use-package lua-mode)
-
-(use-package clojure-mode)
-
-(use-package slime
- :defer t
- :commands slime
- :bind (:map slime-mode-map
- ("C-c C-k" . slime-eval-buffer))
- :config
- ;; more memory for ml libraries
- (setopt inferior-lisp-program "sbcl --dynamic-space-size 4096"))
-
-(use-package yasnippet
- :hook (vc-git-log-edit-mode . yas-minor-mode)
- :config
- (add-to-list 'yas-snippet-dirs (expand-file-name "~/pt/guix/etc/snippets/yas")))
-
-(use-package paren
- :config
- (setopt show-paren-delay 0
- show-paren-style 'mixed
- show-paren-highlight-openparen t
- show-paren-context-when-offscreen t
- show-paren-when-point-in-periphery t
- show-paren-when-point-inside-paren t))
-
-(use-package rainbow-delimiters
- :hook prog-mode)
-
-(use-package paredit
- :hook (ielm-mode
- emacs-lisp-mode
- eshell-mode
- geiser-repl-mode
- clojure-mode
- cider-repl-mode
-
- lisp-mode
- scheme-mode
- slime-repl-mode
- lisp-interaction-mode)
- :config
- (defun bd/paredit-preserve-repl (f &rest args)
- "Wrapper around F (paredit-RET), discarding ARGS."
- (pcase (cons major-mode (eolp))
- ('(inferior-emacs-lisp-mode . t) (ielm-return))
- ('(eshell-mode . t) (eshell-send-input))
- ('(geiser-repl-mode . t) (geiser-repl-maybe-send))
- ('(cider-repl-mode . t) (eshell-send-input))
- ('(slime-repl-mode . t) (slime-repl-return))
- (_ (funcall f))))
- (advice-add #'paredit-RET :around #'bd/paredit-preserve-repl)
- (eldoc-add-command
- 'paredit-backward-delete
- 'paredit-close-round))
-
-(use-package copyright)
-
-(provide 'bd--devel)
-;;; bd--devel.el ends here