python.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. /*
  2. Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
  3. Available via Academic Free License >= 2.1 OR the modified BSD license.
  4. see: http://dojotoolkit.org/license for details
  5. */
  6. if(!dojo._hasResource["dojox.highlight.languages.python"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
  7. dojo._hasResource["dojox.highlight.languages.python"] = true;
  8. dojo.provide("dojox.highlight.languages.python");
  9. dojo.require("dojox.highlight._base");
  10. (function(){
  11. var dh = dojox.highlight, dhc = dh.constants;
  12. dh.languages.python = {
  13. // summary: Python highlight definitions
  14. defaultMode: {
  15. lexems: [dhc.UNDERSCORE_IDENT_RE],
  16. illegal: '(</|->)',
  17. contains: ['comment', 'string', 'function', 'class', 'number', 'decorator'],
  18. keywords: {'and': 1, 'elif': 1, 'is': 1, 'global': 1, 'as': 1, 'in': 1, 'if': 1,
  19. 'from': 1, 'raise': 1, 'for': 1, 'except': 1, 'finally': 1, 'print': 1,
  20. 'import': 1, 'pass': 1, 'None': 1, 'return': 1, 'exec': 1, 'else': 1,
  21. 'break': 1, 'not': 1, 'with': 1, 'class': 1, 'assert': 1, 'yield': 1,
  22. 'try': 1, 'while': 1, 'continue': 1, 'del': 1, 'or': 1, 'def': 1, 'lambda': 1}
  23. },
  24. modes: [
  25. {
  26. className: 'function',
  27. lexems: [dhc.UNDERSCORE_IDENT_RE],
  28. begin: '\\bdef ', end: ':',
  29. illegal: '$',
  30. keywords: {'def': 1},
  31. contains: ['title', 'params'],
  32. relevance: 10
  33. },
  34. {
  35. className: 'class',
  36. lexems: [dhc.UNDERSCORE_IDENT_RE],
  37. begin: '\\bclass ', end: ':',
  38. illegal: '[${]',
  39. keywords: {'class': 1},
  40. contains: ['title', 'params'],
  41. relevance: 10
  42. },
  43. {
  44. className: 'title',
  45. begin: dhc.UNDERSCORE_IDENT_RE, end: '^'
  46. },
  47. {
  48. className: 'params',
  49. begin: '\\(', end: '\\)',
  50. contains: ['string']
  51. },
  52. dhc.HASH_COMMENT_MODE,
  53. dhc.C_NUMBER_MODE,
  54. {
  55. className: 'string',
  56. begin: '\'\'\'', end: '\'\'\'',
  57. relevance: 10
  58. },
  59. {
  60. className: 'string',
  61. begin: '"""', end: '"""',
  62. relevance: 10
  63. },
  64. dhc.APOS_STRING_MODE,
  65. dhc.QUOTE_STRING_MODE,
  66. dhc.BACKSLASH_ESCAPE,
  67. {
  68. className: 'string',
  69. begin: 'r\'', end: '\'',
  70. relevance: 10
  71. },
  72. {
  73. className: 'string',
  74. begin: 'r"', end: '"',
  75. relevance: 10
  76. },
  77. {
  78. className: 'string',
  79. begin: 'u\'', end: '(^|[^\\\\])\'',
  80. relevance: 10
  81. },
  82. {
  83. className: 'string',
  84. begin: 'u"', end: '(^|[^\\\\])"',
  85. relevance: 10
  86. },
  87. {
  88. className: 'string',
  89. begin: 'ur\'', end: '\'',
  90. relevance: 10
  91. },
  92. {
  93. className: 'string',
  94. begin: 'ur"', end: '"',
  95. relevance: 10
  96. },
  97. {
  98. className: 'decorator',
  99. begin: '@', end: '$'
  100. }
  101. ]
  102. };
  103. })();
  104. }