(provide 'base-functions) ;; Buscar el texto actualmente seleccionado (defun kj-isearch-with-region () "Use region as the isearch text." (when mark-active (let ((region (funcall region-extract-function nil))) (deactivate-mark) (isearch-push-state) (isearch-yank-string region)))) (add-hook 'isearch-mode-hook #'kj-isearch-with-region) ;; Borrar espacios, tabs y saltos de lĂ­nea innecesarios al guardar (add-hook 'before-save-hook 'delete-trailing-whitespace) ;; Generar archivo TAGS (defun create-tags (dir-name) "Create tags file." (interactive "DDirectory: ") (shell-command (format "cd '%s' && ctags -f TAGS -e -R --exclude=*.min.js" (directory-file-name (file-truename dir-name)) ) ) (message "Archivo TAGS generado.") ) ;; Hacer emacs transparente (no funciona perfecto, pero sirve) (defun toggle-transparency () (interactive) (let ((alpha (frame-parameter nil 'alpha))) (set-frame-parameter nil 'alpha (if (eql (cond ((numberp alpha) alpha) ((numberp (cdr alpha)) (cdr alpha)) ;; Also handle undocumented ( ) form. ((numberp (cadr alpha)) (cadr alpha))) 100) '(60 . 60) '(100 . 100))))) (defun transparency (value) "Sets the transparency of the frame window. 0=transparent/100=opaque" (interactive "nTransparency Value 0 - 100 opaque:") (set-frame-parameter (selected-frame) 'alpha value))