Índice
He estado un tiempo intentando instalar unos script hechos en javascript, para resaltar la sintaxis del codigo fuente que tengo en el blog, pero no conseguí instalarlo. Se llama SyntaxHighlighter, su web es esta.
Ya que no lo consegui me decidi a crear un pequeño script que por lo menos resalte las palabras reservadas del lengüaje. Lo hice para c++, en los proximos días intentaré hacer otro para bash y python. Aqui esta el codigo:
#!/bin/bash
rutaCodigo=`zenity --file-selection --title="Select a File"`
case $? in
0)
keyWords="continue float new signed try auto default for operator sizeof typedef break delete friend private static union case do goto protected struct unsigned catch double if public switch virtual char else inline register template void enum int return this volatile const extern long short throw while bool cout cin using namespace"
sed "s/^#include/#include/" < "$rutaCodigo" > temp # coloreo el include
sed "s/^#define/#define/" < temp > "$rutaCodigo" # coloreo el define
for word in $keyWords
do
#Busco en el texto, cada palabra clave contenida en keyWords, y le añado la etiqueta span
sed "s/b$wordb/$word/" < "$rutaCodigo" > temp
cp temp $rutaCodigo
done
sed "s/^class /class/g" < "$rutaCodigo" > temp
rm temp
;;
*)
echo "No se seleciciono nada.";;
esac
Voy a explicar un poco el código: La variable keyWords contiene las palabras claves de c++, menos “class”, que despues explicaré porque. En esta variable, las palabras han de estar separadas por un espacio, y todas en una misma linea, Para que el for coja palabra a palabra..
Las dos siguientes lineas
sed "s/^#include..... y sed "s/^#define...
¿Has visto algún error?: Por favor, ayúdame a corregirlo contactando conmigo o comentando abajo.