Compare commits

..

2 Commits

Author SHA1 Message Date
kj
7c4fea3b60 Add function to sort lines by length. 2025-08-29 18:09:21 -03:00
kj
b7168fd349 Change read-this-file to autofill with the current filename. 2025-08-29 18:06:53 -03:00

View File

@ -88,7 +88,9 @@ If PROJECT is not specified, assume current project root."
;; Renombrar el archivo actual ;; Renombrar el archivo actual
(defun rename-this-file (new-name) (defun rename-this-file (new-name)
"Renames both current buffer and file it's visiting to NEW-NAME." "Renames both current buffer and file it's visiting to NEW-NAME."
(interactive "sNew name: ") (interactive (list (read-string "New name: "
(file-name-nondirectory
(buffer-file-name)))))
(let ((name (buffer-name)) (let ((name (buffer-name))
(filename (buffer-file-name))) (filename (buffer-file-name)))
(unless filename (unless filename
@ -135,5 +137,19 @@ If PROJECT is not specified, assume current project root."
(interactive) (interactive)
(insert (file-name-nondirectory (buffer-file-name)))) (insert (file-name-nondirectory (buffer-file-name))))
(defun sort-lines-by-length (reverse beg end)
"Sort lines by length."
(interactive "P\nr")
(save-excursion
(save-restriction
(narrow-to-region beg end)
(goto-char (point-min))
(let ;; To make `end-of-line' and etc. to ignore fields.
((inhibit-field-text-motion t))
(sort-subr reverse 'forward-line 'end-of-line nil nil
(lambda (l1 l2)
(apply #'< (mapcar (lambda (range) (- (cdr range) (car range)))
(list l1 l2)))))))))
(provide 'init-functions) (provide 'init-functions)
;;; init-functions.el ends here. ;;; init-functions.el ends here.