If I format some code by indenting it using four spaces, the code is not formatted. How do I format some code specifically for the language used? Or how do I prevent it from being formatted? Which languages are supported?
Add the line
<!-- language: <language_string> --> (where
<language_string> is the string identifying the language) before the start of the code, and make sure that the code itself has an empty line before it:
<!-- language: <language_string> --> ... <line 1> <line 2> <line 3> ...
*<language_string> = string identifying the language
As suggested by muru, if you want to prevent the code from being formatted instead, you can add the line
<!-- language: none -->:
<!-- language: none --> # ... echo This snippet will not be nicely formatted when copy-pasted inside a post # ...
<!-- language: bash --> # ... echo This snippet will be nicely formatted when copy-pasted inside a post # ...
Courtesy of terdon, here's the list of the currently supported languages along with their identifying string (most of the languages listed won't need the
none: none bash: lang-bash OR lang-bsh c: lang-c clj: lang-clj coffee: lang-coffee cpp: lang-cpp cs: lang-cs csh: lang-csh css: lang-css dart: lang-dart erlang: lang-erlang go: lang-go hs: lang-hs html: lang-html java: lang-java js: lang-js latex: lang-latex lisp: lang-lisp lua: lang-lua ml: lang-ml pascal: lang-pascal perl: lang-perl php: lang-php proto: lang-proto py: lang-py r: lang-r rb: lang-rb regex: lang-regex rust: lang-rust scala: lang-scala sh: lang-sh sql: lang-sql vb: lang-vb vhdl: lang-vhdl xml: lang-xml
As explained by @Braiam, the
lang- prefix is needed for those languages that are not associated with any tag.