diff --git a/.config/emacs/init.org b/.config/emacs/init.org index b201585..03bae92 100644 --- a/.config/emacs/init.org +++ b/.config/emacs/init.org @@ -184,6 +184,7 @@ Finish up evil-goggles avy all-the-icons-ibuffer + drag-stuff ;; ace-window ;; Mail smtpmail @@ -224,6 +225,7 @@ Finish up org-fancy-priorities org-roam org-download + valign ;; Programming Languages highlight-quoted rustic @@ -601,6 +603,46 @@ weren't working, until I randomly saw this in someone's init.el (setq sentence-end-double-space nil) #+end_src +~drag-stuff~ package to move lines around, here's a snippet that re-indents + +#+begin_src emacs-lisp +(defun indent-region-advice (&rest ignored) + (let ((deactivate deactivate-mark)) + (if (region-active-p) + (indent-region (region-beginning) (region-end)) + (indent-region (line-beginning-position) (line-end-position))) + (setq deactivate-mark deactivate))) + +(advice-add 'drag-stuff-up :after 'indent-region-advice) +(advice-add 'drag-stuff-down :after 'indent-region-advice) +(define-key prog-mode-map (kbd "M-") #'drag-stuff-up) +(define-key prog-mode-map (kbd "M-") #'drag-stuff-down) +(define-key prog-mode-map (kbd "M-") #'drag-stuff-left) +(define-key prog-mode-map (kbd "M-") #'drag-stuff-right) +#+end_src + +Simple function more quickly align text + +#+begin_src emacs-lisp +(defun joe/align-whitespace (beg end) + "Align column text in region by whitespace." + (interactive "r") + (align-regexp beg end "\\(\\s-*\\)\\s-" 1 0 t) + (indent-region beg end)) +#+end_src + +#+begin_src emacs-lisp +(add-hook 'csv-mode-hook #'csv-header-line) +(add-hook 'csv-mode-hook #'csv-align-mode) + +(defun csv-align-visible () + "Align visible fields." + (interactive) + (csv-align-fields nil (window-start) (window-end))) + +(add-hook 'csv-mode-hook + (lambda () + (define-key csv-mode-map (kbd "C-c C-a") 'csv-align-mode))) #+end_src *** COMMENT Hydra #+begin_src emacs-lisp