Categories
Emacs GNU/Linux Free Software & Open Source

PHP syntax error check as you type with Emacs

Emacs php syntax checking on the fly

For those who have to code in PHP, there’s a nice feature in Emacs that makes your coding horror times less stressing and helps you avoid typos and similar dumb errors. For example in the image above, I missed the colon at the end of the line.

Emacs 22.1 comes with flymake mode, a nice tool that makes syntax checking while you type out the file by highlighting the lines with errors and displays the error messages.

You can enable flymake to check PHP syntax by adding the following code on your .emacs or whatever Emacs customizations file you use:

;; Flymake PHP Extension
(require 'flymake)
(unless (fboundp 'flymake-php-init)
  (defun flymake-php-init ()
    (let* ((temp-file (flymake-init-create-temp-buffer-copy
		       'flymake-create-temp-inplace))
	   (local-file (file-relative-name
			temp-file
			(file-name-directory buffer-file-name))))
      (list "php" (list "-f" local-file "-l")))))
(let ((php-ext-re "\\.php[345]?\\'")
      (php-error-re
       "\\(?:Parse\\|Fatal\\) error: \\(.*\\) in \\(.*\\) on line \\([0-9]+\\)"))
  (unless (assoc php-ext-re flymake-allowed-file-name-masks)
    (add-to-list 'flymake-allowed-file-name-masks
		 (list php-ext-re
                       'flymake-php-init
                       'flymake-simple-cleanup
                       'flymake-get-real-file-name))
    (add-to-list 'compilation-error-regexp-alist-alist
		 (list 'compilation-php
                       php-error-re  2 3 nil nil))
    (add-to-list 'compilation-error-regexp-alist 'compilation-php)
    (add-to-list 'flymake-err-line-patterns
		 (list php-error-re 2 3 nil 1))))
;; add php flymake support
(add-hook 'php-mode-hook (lambda () (flymake-mode t)))

Its very nice to have on the fly syntax checking.

Categories
Emacs GNU/Linux Free Software & Open Source

Back to blogging from Emacs

Emacs
Its been a while since the last time I tried blogging with the weblogger mode. I don’t think anything changed so far, but I just wanted to give it a try once more. The other easier way to blog with emacs is using the It’s All Text Firefox extension.

It’s weird that there’s a video editing mode and a music synthesizer for Emacs, but I can’t find a way to do simple image editing.

I’m experimenting the Emacs Operating System experience. I already do all my coding with it, have my notes and agenda in org-mode, sometimes browse with w3m, and my favourite so far has been twittering. I still have to migrate my email from Thunderbird to Gnus. I don’t know if I’ll be ready to take that step soon. Anyway I like the idea, and someday I might do the transition.

Maybe my next step should be learning Lisp or eLisp to work on a decent php-mode that works with PHP 5.0 syntax and do something useful. Probably I already mentioned this.

Categories
Emacs GNU/Linux Free Software & Open Source

ACM Crossroads issue 14.4 online fast, thanks to Emacs

ACM Crossroads 14.4 cover

Just finished publishing ACM Crossroads issue 14.4 online.

This speed of publishing is thanks to Emacs. I use tramp mode to edit and fix files remotely on the ACM servers via ssh. Tidy with html-mode to validate and fix all markup so that the files are XHTML 1.1 Strict. Dired mode to rename, move, copy files, and image mode to check if images are correct.

I wonder if I can edit images (like crop, resize, convert to jpeg, compress) in Emacs. I know you can edit videos, so images can’t be more difficult.

Categories
Emacs personal

Testing weblogger.el again

Lets see how enhanced this enhanced weblogger.el is. Last time it was
awful and messed up stuff in my post. Note that this is supposed to be
also categorized from within Emacs.

Categories
Emacs GNU/Linux Free Software & Open Source

Emacs 22 por fin!!

Por fin salio de betas la version 22 de emacs el, casi sistema operativo, editor de textos por excelencia.

Viene con ido mode, un modo que facilita la busqueda y cambio de archivos y buffers porque autocompleta lo que escribes
ERC, un cliente IRC
Tiene soporte para compilarlo con GTK, o sea, que se ve mucho mas bonito

Para quienes usan Ubuntu, emacs22 (22.0.94) esta disponible en el paquete emacs-snapshot y emacs-snapshot-gtk en los repositorios. Espero que pronto la version 22.1 este disponible.

Lo puedes bajar de aqui: http://ftp.gnu.org/pub/gnu/emacs/emacs-22.1.tar.gz

Categories
Emacs GNU/Linux Free Software & Open Source Tutorials & Tips

Como publicar en tu blog desde Emacs

Weblogger es el modo de Emacs para hacer posts en tu blog. Los
blogs soportados son: Blogger, MetaWeblog, Moveable Type (WordPress) y
LiveJournal. En caso de que no tengas un blog, te crea una cuenta en
OpenWeblog.com, un sitio de hosting gratuito para tu blog.

Para usarlo, baja estos archivos, ponlos en tu directorio de archivos
de emacs lisp y cargalos en tu archivo de configuracion .emacs.

En Ubuntu, el directorio de archivos emacs lisp es

~/.emacs.d

Ahi pones los dos archivos, weblogger.el y xmlrpc.el, luego abres el archivo de configuraciones

.emacs

Si no lo tienes, crea uno con ese nombre, y escribe esto al final del archivo:


(load-file "weblogger.el")
(global-set-key "\C-cbs" 'weblogger-start-entry)

Y ya, con C-c b s (esto es Ctrl+c luego b luego s) te pone en un buffer nuevo en modo weblogger listo para escribir.

Para publicar, C-c C-c (Ctrl+c luego Ctrl+c) y publica directo al
blog.

Nota: cuando te pida la url de tu blog, es importante que pongas la direccion para accesar al archivo xmlrpc. Algo como tublog.com/xmlrpc.php por ejemplo.

Lo unico que me falta es ver como le agrego las categorias al post, pero eso ya son detallitos 😉

Es una manera muy rapida de publicar, y a mi gusto, mucho mas comoda
porque nunca me han convencido mucho escribir los posts o mis mails en
las aplicaciones web. Con un editor de textos es mucho mas practico.

Yo me la paso programando con esta excelente herramienta. La uso casi para
todo: html con validaciones y limpieza del codigo, desarrollo con ruby
on rails, programacion en python, C y C++, edicion de archivos de
configuracion, etc. Rapidamente se esta convirtiendo en la unica
herramienta que necesito en mi computadora, y lo mejor de todo es que
la puedo tener en todas las plataformas (linux, windows y mac). Pero
eso es otra historia.