;;; ll-edit.el --- ll edit -*- lexical-binding: t -*- ;;; Commentary: ;;; Code: (require 'cl-lib) (cl-pushnew "." load-path :test #'string=) (require 'll) (-> 'll-dwim) (-> 'simple) (setq-default tab-width 3) (setq-default indent-tabs-mode nil) (defun untab-all () (unless (member major-mode '(emacs-lisp-mode emacs-news-mode makefile-gmake-mode makefile-mode)) (untabify (point-min) (point-max)))) (defun goto-line-fast (lne) (i) (goto-char (pos-bol (- lne (line-number-at-pos) -1)))) (defun horizontal-line () (i) (insert (make-string (- (min (or fill-column 80)) 3) ?\-)) (comment-line 1) (& (looking-at "$") (forward-char))) (defalias 'hl #'horizontal-line) (defun increase-values (&optional inc beg end) (interactive `(,current-prefix-arg ,@(use-region))) (if (lu inc) (setf inc (1st inc)) (& (!n inc) (setf inc 1))) (or beg (setq beg (point-min))) (or end (setq end (point-max))) (save-mark-and-excursion (goto-beg) (while (re-search-forward "[[:digit:]]+" end t) (let* ((digit (string-to-number (match-string 0))) (sum (+ digit inc))) (replace-match (@f "%s" sum)))))) (defun back-to-dwim () (i) (scroll-right) (let ((beg (point))) (back-to-indentation) (& (= beg (point)) (beginning-of-line)))) (defun before-save-hook-f () (untab-all) (delete-trailing-whitespace)) (add-hook 'before-save-hook #'before-save-hook-f) (<- 'll-edit) ;;; ll-edit.el ends here