brainfuck.js 762 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. Language: Brainfuck
  3. Author: Evgeny Stepanischev <[email protected]>
  4. */
  5. function(hljs){
  6. var LITERAL = {
  7. className: 'literal',
  8. begin: '[\\+\\-]',
  9. relevance: 0
  10. };
  11. return {
  12. aliases: ['bf'],
  13. contains: [
  14. hljs.COMMENT(
  15. '[^\\[\\]\\.,\\+\\-<> \r\n]',
  16. '[\\[\\]\\.,\\+\\-<> \r\n]',
  17. {
  18. returnEnd: true,
  19. relevance: 0
  20. }
  21. ),
  22. {
  23. className: 'title',
  24. begin: '[\\[\\]]',
  25. relevance: 0
  26. },
  27. {
  28. className: 'string',
  29. begin: '[\\.,]',
  30. relevance: 0
  31. },
  32. {
  33. // this mode works as the only relevance counter
  34. begin: /\+\+|\-\-/, returnBegin: true,
  35. contains: [LITERAL]
  36. },
  37. LITERAL
  38. ]
  39. };
  40. }