#96 Cuando te refieres a una adaptación basada en shell... como no quieras decir la propia definición del estilo lstdefinelanguage, lstdefinestyle,... no te entiendo.
En mi caso redefino language=bash, pero no consigo hacer que solo determinadas líneas sean procesadas (pero que siga mostrando todas), o lo que sería lo "mismo", redefinir alguna regla del lenguaje para indicar que solo las líneas que empiezan por [user son comandos, y las otras comentarios. Pero es ahí donde no he visto posibilidad de meter como "identifiers" (documentación de Listings package para definir: comment, moredelim, delim,...) algún tipo de regexp, o caractéres comodín, como podría ser un "*" para indicar todos, "$" para inicio de cadena,...
Por otro lado he probado tanto con dos tipos de selectores, con [l] para tratar por línea (pero falla al no poder indicar que mire el inicio de línea, pues ocurre lo que pongo en EJEMPLO1), como con que se come otras líneas al solo tener dicho identificador de inicio (pero no de fin), cosa que sí funciona con otros lenguajes como HTML (< inicio > fin), aquí solo hay ( [user inicio).
EJEMPLO1.
[user ]$ nm file
results blablabla
[user ]$ gcc something
results blablabla
Al definir una a una lo que serían comentarios (cada línea que empiece por cualquier cosa que no sea [user, o más concretamente [ ,hay que ir definiendo una a una por cada letra o caracter posible... ¿qué ocurre? Que acaba determinando que todo son comentarios, justo nada más pasar el primer caracter delimitador:
Caracter deliminator
[
Comentario detectado (al ser una u) <- es aquí donde no sé como decir que solo pille la u (o cualquier otro caracter) si empieza en la linea
user ]$ nm file
results blabla <- aquí es correcto, pues coincide que inicia linea y no es un [, por lo que en este caso funciona
Caracter delimitador
[
Comentario detectado
user ]$ gcc something
results blablabla
Como vemos, ocurre lo mismo.