Smazání whitespaces ze zdrojáků a změna tabelátorů na mezery ===
Tady jsou krátké skriptáky pomocí kterých můžete Emacs dotunit, aby před uložením souboru změnil všechny tabelátory za mezery. Formátování souboru zůstane nezměneno, jenom tabelátory jsou nahrazeny příslušným počtem mezer.
(setq auto-untabify-alist
'(("\\.cc$" . t)
("\\.rb$" . t)
("\\.java" . t)
("\\.xml" . t)
("\\.css" . t)
("\\.properties" . t)
("\\.html" . t)
("\\.htm" . t)
("\\.jsp" . t)
("\\.sql" . t)
("\\.el" . t)))
(defun untabify-before-save ()
(if (assoc-default buffer-file-name auto-untabify-alist 'string-match)
(untabify 1 (point-max))))
(add-hook 'before-save-hook 'untabify-before-save)
Funkce auto-untabify-alias slouží k nastavení masek souborů, které
mají být takto automaticky upravovány. Pokud chcete automaticky převádět
všechny soubory stačí ve funkci untabify-before-save
smazat
druhý řádek a několik závorek na konci. Nakonec je metoda
untabify-befoce-save
navázána tak, aby byla spuštěna vždy
před uložením souboru. Na velmi podobném základu sem vytvořil funkce,
které se starají o smazání bílých znaků před uložením souboru.
V Emacs verze 2.22 mi přestala tot fitchura fungovat a tak sem si ji
napsal sám.
(setq auto-whitespace-nuke-alist
'(("\\.cc$" . t)
("\\.rb$" . t)
("\\.java" . t)
("\\.xml" . t)
("\\.css" . t)
("\\.properties" . t)
("\\.html" . t)
("\\.htm" . t)
("\\.jsp" . t)
("\\.sql" . t)
("\\.el" . t)))
(defun whitespace-nuke-before-save ()
(if (assoc-default buffer-file-name auto-whitespace-nuke-alist 'string-match)
(whitespace-do-nuke-whitespace t)))
(add-hook 'before-save-hook 'whitespace-nuke-before-save)