highlight_js-rails4 7.4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/AUTHORS.en.txt +84 -0
  4. data/AUTHORS.ru.txt +84 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE +24 -0
  7. data/README.highlight-js.md +168 -0
  8. data/README.highlight-js.ru.md +173 -0
  9. data/README.md +52 -0
  10. data/Rakefile +2 -0
  11. data/classref.txt +676 -0
  12. data/highlight_js-rails4.gemspec +19 -0
  13. data/lib/highlight_js/rails/engine.rb +6 -0
  14. data/lib/highlight_js/version.rb +5 -0
  15. data/lib/highlight_js-rails4.rb +2 -0
  16. data/vendor/assets/images/highlight_js/brown_papersq.png +0 -0
  17. data/vendor/assets/images/highlight_js/pojoaque.jpg +0 -0
  18. data/vendor/assets/images/highlight_js/school_book.png +0 -0
  19. data/vendor/assets/javascripts/highlight_js/highlight.js +613 -0
  20. data/vendor/assets/javascripts/highlight_js/languages/1c.js +92 -0
  21. data/vendor/assets/javascripts/highlight_js/languages/actionscript.js +83 -0
  22. data/vendor/assets/javascripts/highlight_js/languages/apache.js +117 -0
  23. data/vendor/assets/javascripts/highlight_js/languages/applescript.js +104 -0
  24. data/vendor/assets/javascripts/highlight_js/languages/asciidoc.js +187 -0
  25. data/vendor/assets/javascripts/highlight_js/languages/avrasm.js +60 -0
  26. data/vendor/assets/javascripts/highlight_js/languages/axapta.js +44 -0
  27. data/vendor/assets/javascripts/highlight_js/languages/bash.js +70 -0
  28. data/vendor/assets/javascripts/highlight_js/languages/brainfuck.js +31 -0
  29. data/vendor/assets/javascripts/highlight_js/languages/clojure.js +101 -0
  30. data/vendor/assets/javascripts/highlight_js/languages/cmake.js +38 -0
  31. data/vendor/assets/javascripts/highlight_js/languages/coffeescript.js +137 -0
  32. data/vendor/assets/javascripts/highlight_js/languages/cpp.js +53 -0
  33. data/vendor/assets/javascripts/highlight_js/languages/cs.js +51 -0
  34. data/vendor/assets/javascripts/highlight_js/languages/css.js +105 -0
  35. data/vendor/assets/javascripts/highlight_js/languages/d.js +267 -0
  36. data/vendor/assets/javascripts/highlight_js/languages/delphi.js +77 -0
  37. data/vendor/assets/javascripts/highlight_js/languages/diff.js +63 -0
  38. data/vendor/assets/javascripts/highlight_js/languages/django.js +89 -0
  39. data/vendor/assets/javascripts/highlight_js/languages/dos.js +35 -0
  40. data/vendor/assets/javascripts/highlight_js/languages/erlang-repl.js +55 -0
  41. data/vendor/assets/javascripts/highlight_js/languages/erlang.js +162 -0
  42. data/vendor/assets/javascripts/highlight_js/languages/fsharp.js +56 -0
  43. data/vendor/assets/javascripts/highlight_js/languages/glsl.js +99 -0
  44. data/vendor/assets/javascripts/highlight_js/languages/go.js +45 -0
  45. data/vendor/assets/javascripts/highlight_js/languages/haml.js +142 -0
  46. data/vendor/assets/javascripts/highlight_js/languages/handlebars.js +64 -0
  47. data/vendor/assets/javascripts/highlight_js/languages/haskell.js +90 -0
  48. data/vendor/assets/javascripts/highlight_js/languages/http.js +39 -0
  49. data/vendor/assets/javascripts/highlight_js/languages/ini.js +33 -0
  50. data/vendor/assets/javascripts/highlight_js/languages/java.js +50 -0
  51. data/vendor/assets/javascripts/highlight_js/languages/javascript.js +57 -0
  52. data/vendor/assets/javascripts/highlight_js/languages/json.js +42 -0
  53. data/vendor/assets/javascripts/highlight_js/languages/lasso.js +112 -0
  54. data/vendor/assets/javascripts/highlight_js/languages/lisp.js +90 -0
  55. data/vendor/assets/javascripts/highlight_js/languages/lua.js +65 -0
  56. data/vendor/assets/javascripts/highlight_js/languages/markdown.js +84 -0
  57. data/vendor/assets/javascripts/highlight_js/languages/matlab.js +81 -0
  58. data/vendor/assets/javascripts/highlight_js/languages/mel.js +236 -0
  59. data/vendor/assets/javascripts/highlight_js/languages/mizar.js +24 -0
  60. data/vendor/assets/javascripts/highlight_js/languages/nginx.js +101 -0
  61. data/vendor/assets/javascripts/highlight_js/languages/objectivec.js +89 -0
  62. data/vendor/assets/javascripts/highlight_js/languages/parser3.js +50 -0
  63. data/vendor/assets/javascripts/highlight_js/languages/perl.js +169 -0
  64. data/vendor/assets/javascripts/highlight_js/languages/php.js +107 -0
  65. data/vendor/assets/javascripts/highlight_js/languages/profile.js +49 -0
  66. data/vendor/assets/javascripts/highlight_js/languages/python.js +88 -0
  67. data/vendor/assets/javascripts/highlight_js/languages/r.js +80 -0
  68. data/vendor/assets/javascripts/highlight_js/languages/rib.js +32 -0
  69. data/vendor/assets/javascripts/highlight_js/languages/rsl.js +44 -0
  70. data/vendor/assets/javascripts/highlight_js/languages/ruby.js +195 -0
  71. data/vendor/assets/javascripts/highlight_js/languages/ruleslanguage.js +62 -0
  72. data/vendor/assets/javascripts/highlight_js/languages/rust.js +55 -0
  73. data/vendor/assets/javascripts/highlight_js/languages/scala.js +61 -0
  74. data/vendor/assets/javascripts/highlight_js/languages/scss.js +114 -0
  75. data/vendor/assets/javascripts/highlight_js/languages/smalltalk.js +56 -0
  76. data/vendor/assets/javascripts/highlight_js/languages/sql.js +64 -0
  77. data/vendor/assets/javascripts/highlight_js/languages/tex.js +58 -0
  78. data/vendor/assets/javascripts/highlight_js/languages/vala.js +64 -0
  79. data/vendor/assets/javascripts/highlight_js/languages/vbnet.js +54 -0
  80. data/vendor/assets/javascripts/highlight_js/languages/vbscript.js +40 -0
  81. data/vendor/assets/javascripts/highlight_js/languages/vhdl.js +49 -0
  82. data/vendor/assets/javascripts/highlight_js/languages/xml.js +107 -0
  83. data/vendor/assets/stylesheets/highlight_js/arta.css +159 -0
  84. data/vendor/assets/stylesheets/highlight_js/ascetic.css +50 -0
  85. data/vendor/assets/stylesheets/highlight_js/brown_paper.css +104 -0
  86. data/vendor/assets/stylesheets/highlight_js/dark.css +104 -0
  87. data/vendor/assets/stylesheets/highlight_js/default.css +149 -0
  88. data/vendor/assets/stylesheets/highlight_js/docco.css +131 -0
  89. data/vendor/assets/stylesheets/highlight_js/far.css +112 -0
  90. data/vendor/assets/stylesheets/highlight_js/foundation.css +113 -0
  91. data/vendor/assets/stylesheets/highlight_js/github.css +129 -0
  92. data/vendor/assets/stylesheets/highlight_js/googlecode.css +145 -0
  93. data/vendor/assets/stylesheets/highlight_js/idea.css +121 -0
  94. data/vendor/assets/stylesheets/highlight_js/ir_black.css +105 -0
  95. data/vendor/assets/stylesheets/highlight_js/magula.css +122 -0
  96. data/vendor/assets/stylesheets/highlight_js/mono-blue.css +59 -0
  97. data/vendor/assets/stylesheets/highlight_js/monokai.css +124 -0
  98. data/vendor/assets/stylesheets/highlight_js/monokai_sublime.css +101 -0
  99. data/vendor/assets/stylesheets/highlight_js/obsidian.css +153 -0
  100. data/vendor/assets/stylesheets/highlight_js/pojoaque.css +104 -0
  101. data/vendor/assets/stylesheets/highlight_js/railscasts.css +181 -0
  102. data/vendor/assets/stylesheets/highlight_js/rainbow.css +114 -0
  103. data/vendor/assets/stylesheets/highlight_js/school_book.css +112 -0
  104. data/vendor/assets/stylesheets/highlight_js/solarized_dark.css +91 -0
  105. data/vendor/assets/stylesheets/highlight_js/solarized_light.css +91 -0
  106. data/vendor/assets/stylesheets/highlight_js/sunburst.css +159 -0
  107. data/vendor/assets/stylesheets/highlight_js/tomorrow-night-blue.css +52 -0
  108. data/vendor/assets/stylesheets/highlight_js/tomorrow-night-bright.css +51 -0
  109. data/vendor/assets/stylesheets/highlight_js/tomorrow-night-eighties.css +51 -0
  110. data/vendor/assets/stylesheets/highlight_js/tomorrow-night.css +52 -0
  111. data/vendor/assets/stylesheets/highlight_js/tomorrow.css +49 -0
  112. data/vendor/assets/stylesheets/highlight_js/vs.css +88 -0
  113. data/vendor/assets/stylesheets/highlight_js/xcode.css +156 -0
  114. data/vendor/assets/stylesheets/highlight_js/zenburn.css +116 -0
  115. metadata +172 -0
@@ -0,0 +1,44 @@
1
+ /*
2
+ Language: Axapta
3
+ Author: Dmitri Roudakov <dmitri@roudakov.ru>
4
+ */
5
+
6
+ hljs.LANGUAGES['axapta'] = function(hljs) {
7
+ return {
8
+ keywords: 'false int abstract private char boolean static null if for true ' +
9
+ 'while long throw finally protected final return void enum else ' +
10
+ 'break new catch byte super case short default double public try this switch ' +
11
+ 'continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count ' +
12
+ 'order group by asc desc index hint like dispaly edit client server ttsbegin ' +
13
+ 'ttscommit str real date container anytype common div mod',
14
+ contains: [
15
+ hljs.C_LINE_COMMENT_MODE,
16
+ hljs.C_BLOCK_COMMENT_MODE,
17
+ hljs.APOS_STRING_MODE,
18
+ hljs.QUOTE_STRING_MODE,
19
+ hljs.C_NUMBER_MODE,
20
+ {
21
+ className: 'preprocessor',
22
+ begin: '#', end: '$'
23
+ },
24
+ {
25
+ className: 'class',
26
+ beginWithKeyword: true, end: '{',
27
+ illegal: ':',
28
+ keywords: 'class interface',
29
+ contains: [
30
+ {
31
+ className: 'inheritance',
32
+ beginWithKeyword: true,
33
+ keywords: 'extends implements',
34
+ relevance: 10
35
+ },
36
+ {
37
+ className: 'title',
38
+ begin: hljs.UNDERSCORE_IDENT_RE
39
+ }
40
+ ]
41
+ }
42
+ ]
43
+ };
44
+ }(hljs);
@@ -0,0 +1,70 @@
1
+ /*
2
+ Language: Bash
3
+ Author: vah <vahtenberg@gmail.com>
4
+ Contributrors: Benjamin Pannell <contact@sierrasoftworks.com>
5
+ */
6
+
7
+ hljs.LANGUAGES['bash'] = function(hljs) {
8
+ var VAR1 = {
9
+ className: 'variable', begin: /\$[\w\d#@][\w\d_]*/
10
+ };
11
+ var VAR2 = {
12
+ className: 'variable', begin: /\$\{(.*?)\}/
13
+ };
14
+ var QUOTE_STRING = {
15
+ className: 'string',
16
+ begin: /"/, end: /"/,
17
+ contains: [
18
+ hljs.BACKSLASH_ESCAPE,
19
+ VAR1,
20
+ VAR2,
21
+ {
22
+ className: 'variable',
23
+ begin: /\$\(/, end: /\)/,
24
+ contains: hljs.BACKSLASH_ESCAPE
25
+ }
26
+ ],
27
+ relevance: 0
28
+ };
29
+ var APOS_STRING = {
30
+ className: 'string',
31
+ begin: /'/, end: /'/,
32
+ relevance: 0
33
+ };
34
+
35
+ return {
36
+ lexems: /-?[a-z]+/,
37
+ keywords: {
38
+ keyword:
39
+ 'if then else elif fi for break continue while in do done exit return set '+
40
+ 'declare case esac export exec',
41
+ literal:
42
+ 'true false',
43
+ built_in:
44
+ 'printf echo read cd pwd pushd popd dirs let eval unset typeset readonly '+
45
+ 'getopts source shopt caller type hash bind help sudo',
46
+ operator:
47
+ '-ne -eq -lt -gt -f -d -e -s -l -a' // relevance booster
48
+ },
49
+ contains: [
50
+ {
51
+ className: 'shebang',
52
+ begin: /^#![^\n]+sh\s*$/,
53
+ relevance: 10
54
+ },
55
+ {
56
+ className: 'function',
57
+ begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/,
58
+ returnBegin: true,
59
+ contains: [{className: 'title', begin: /\w[\w\d_]*/}],
60
+ relevance: 0
61
+ },
62
+ hljs.HASH_COMMENT_MODE,
63
+ hljs.NUMBER_MODE,
64
+ QUOTE_STRING,
65
+ APOS_STRING,
66
+ VAR1,
67
+ VAR2
68
+ ]
69
+ };
70
+ }(hljs);
@@ -0,0 +1,31 @@
1
+ /*
2
+ Language: Brainfuck
3
+ Author: Evgeny Stepanischev <imbolk@gmail.com>
4
+ */
5
+
6
+ hljs.LANGUAGES['brainfuck'] = function(hljs){
7
+ return {
8
+ contains: [
9
+ {
10
+ className: 'comment',
11
+ begin: '[^\\[\\]\\.,\\+\\-<> \r\n]',
12
+ excludeEnd: true,
13
+ end: '[\\[\\]\\.,\\+\\-<> \r\n]',
14
+ relevance: 0
15
+ },
16
+ {
17
+ className: 'title',
18
+ begin: '[\\[\\]]',
19
+ relevance: 0
20
+ },
21
+ {
22
+ className: 'string',
23
+ begin: '[\\.,]'
24
+ },
25
+ {
26
+ className: 'literal',
27
+ begin: '[\\+\\-]'
28
+ }
29
+ ]
30
+ };
31
+ }(hljs);
@@ -0,0 +1,101 @@
1
+ /*
2
+ Language: Clojure
3
+ Description: Clojure syntax (based on lisp.js)
4
+ Author: mfornos
5
+ */
6
+
7
+ hljs.LANGUAGES['clojure'] = function(hljs) {
8
+ var keywords = {
9
+ built_in:
10
+ // Clojure keywords
11
+ 'def cond apply if-not if-let if not not= = &lt; < > &lt;= <= >= == + / * - rem '+
12
+ 'quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? '+
13
+ 'set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? '+
14
+ 'class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? '+
15
+ 'string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . '+
16
+ 'inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last '+
17
+ 'drop-while while intern condp case reduced cycle split-at split-with repeat replicate '+
18
+ 'iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext '+
19
+ 'nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends '+
20
+ 'add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler '+
21
+ 'set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter '+
22
+ 'monitor-exit defmacro defn defn- macroexpand macroexpand-1 for doseq dosync dotimes and or '+
23
+ 'when when-not when-let comp juxt partial sequence memoize constantly complement identity assert '+
24
+ 'peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast '+
25
+ 'sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import '+
26
+ 'intern refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! '+
27
+ 'assoc! dissoc! pop! disj! import use class type num float double short byte boolean bigint biginteger '+
28
+ 'bigdec print-method print-dup throw-if throw printf format load compile get-in update-in pr pr-on newline '+
29
+ 'flush read slurp read-line subvec with-open memfn time ns assert re-find re-groups rand-int rand mod locking '+
30
+ 'assert-valid-fdecl alias namespace resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! '+
31
+ 'reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! '+
32
+ 'new next conj set! memfn to-array future future-call into-array aset gen-class reduce merge map filter find empty '+
33
+ 'hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list '+
34
+ 'disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer '+
35
+ 'chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate '+
36
+ 'unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta '+
37
+ 'lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize'
38
+ };
39
+
40
+ var CLJ_IDENT_RE = '[a-zA-Z_0-9\\!\\.\\?\\-\\+\\*\\/\\<\\=\\>\\&\\#\\$\';]+';
41
+ var SIMPLE_NUMBER_RE = '[\\s:\\(\\{]+\\d+(\\.\\d+)?';
42
+
43
+ var NUMBER = {
44
+ className: 'number', begin: SIMPLE_NUMBER_RE,
45
+ relevance: 0
46
+ };
47
+ var STRING = {
48
+ className: 'string',
49
+ begin: '"', end: '"',
50
+ contains: [hljs.BACKSLASH_ESCAPE],
51
+ relevance: 0
52
+ };
53
+ var COMMENT = {
54
+ className: 'comment',
55
+ begin: ';', end: '$',
56
+ relevance: 0
57
+ };
58
+ var COLLECTION = {
59
+ className: 'collection',
60
+ begin: '[\\[\\{]', end: '[\\]\\}]'
61
+ };
62
+ var HINT = {
63
+ className: 'comment',
64
+ begin: '\\^' + CLJ_IDENT_RE
65
+ };
66
+ var HINT_COL = {
67
+ className: 'comment',
68
+ begin: '\\^\\{', end: '\\}'
69
+ };
70
+ var KEY = {
71
+ className: 'attribute',
72
+ begin: '[:]' + CLJ_IDENT_RE
73
+ };
74
+ var LIST = {
75
+ className: 'list',
76
+ begin: '\\(', end: '\\)'
77
+ };
78
+ var BODY = {
79
+ endsWithParent: true,
80
+ keywords: {literal: 'true false nil'},
81
+ relevance: 0
82
+ };
83
+ var TITLE = {
84
+ keywords: keywords,
85
+ lexems: CLJ_IDENT_RE,
86
+ className: 'title', begin: CLJ_IDENT_RE,
87
+ starts: BODY
88
+ };
89
+
90
+ LIST.contains = [{className: 'comment', begin: 'comment'}, TITLE];
91
+ BODY.contains = [LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER];
92
+ COLLECTION.contains = [LIST, STRING, HINT, COMMENT, KEY, COLLECTION, NUMBER];
93
+
94
+ return {
95
+ illegal: '\\S',
96
+ contains: [
97
+ COMMENT,
98
+ LIST
99
+ ]
100
+ }
101
+ }(hljs);
@@ -0,0 +1,38 @@
1
+ /*
2
+ Language: CMake
3
+ Description: CMake is an open-source cross-platform system for build automation.
4
+ Author: Igor Kalnitsky <igor.kalnitsky@gmail.com>
5
+ Website: http://kalnitsky.org.ua/
6
+ */
7
+
8
+ hljs.LANGUAGES['cmake'] = function(hljs) {
9
+ return {
10
+ case_insensitive: true,
11
+ keywords: 'add_custom_command add_custom_target add_definitions add_dependencies ' +
12
+ 'add_executable add_library add_subdirectory add_test aux_source_directory ' +
13
+ 'break build_command cmake_minimum_required cmake_policy configure_file ' +
14
+ 'create_test_sourcelist define_property else elseif enable_language enable_testing ' +
15
+ 'endforeach endfunction endif endmacro endwhile execute_process export find_file ' +
16
+ 'find_library find_package find_path find_program fltk_wrap_ui foreach function ' +
17
+ 'get_cmake_property get_directory_property get_filename_component get_property ' +
18
+ 'get_source_file_property get_target_property get_test_property if include ' +
19
+ 'include_directories include_external_msproject include_regular_expression install ' +
20
+ 'link_directories load_cache load_command macro mark_as_advanced message option ' +
21
+ 'output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return ' +
22
+ 'separate_arguments set set_directory_properties set_property ' +
23
+ 'set_source_files_properties set_target_properties set_tests_properties site_name ' +
24
+ 'source_group string target_link_libraries try_compile try_run unset variable_watch ' +
25
+ 'while build_name exec_program export_library_dependencies install_files ' +
26
+ 'install_programs install_targets link_libraries make_directory remove subdir_depends ' +
27
+ 'subdirs use_mangled_mesa utility_source variable_requires write_file',
28
+ contains: [
29
+ {
30
+ className: 'envvar',
31
+ begin: '\\${', end: '}'
32
+ },
33
+ hljs.HASH_COMMENT_MODE,
34
+ hljs.QUOTE_STRING_MODE,
35
+ hljs.NUMBER_MODE
36
+ ]
37
+ };
38
+ }(hljs);
@@ -0,0 +1,137 @@
1
+ /*
2
+ Language: CoffeeScript
3
+ Author: Dmytrii Nagirniak <dnagir@gmail.com>
4
+ Contributors: Oleg Efimov <efimovov@gmail.com>, Cédric Néhémie <cedric.nehemie@gmail.com>
5
+ Description: CoffeeScript is a programming language that transcompiles to JavaScript. For info about language see http://coffeescript.org/
6
+ */
7
+
8
+ hljs.LANGUAGES['coffeescript'] = function(hljs) {
9
+ var KEYWORDS = {
10
+ keyword:
11
+ // JS keywords
12
+ 'in if for while finally new do return else break catch instanceof throw try this ' +
13
+ 'switch continue typeof delete debugger super ' +
14
+ // Coffee keywords
15
+ 'then unless until loop of by when and or is isnt not',
16
+ literal:
17
+ // JS literals
18
+ 'true false null undefined ' +
19
+ // Coffee literals
20
+ 'yes no on off',
21
+ reserved:
22
+ 'case default function var void with const let enum export import native ' +
23
+ '__hasProp __extends __slice __bind __indexOf',
24
+ built_in:
25
+ 'npm require console print module exports global window document'
26
+ };
27
+ var JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';
28
+ var TITLE = {className: 'title', begin: JS_IDENT_RE};
29
+ var SUBST = {
30
+ className: 'subst',
31
+ begin: '#\\{', end: '}',
32
+ keywords: KEYWORDS,
33
+ };
34
+ var EXPRESSIONS = [
35
+ // Numbers
36
+ hljs.BINARY_NUMBER_MODE,
37
+ hljs.inherit(hljs.C_NUMBER_MODE, {starts: {end: '(\\s*/)?', relevance: 0}}), // a number tries to eat the following slash to prevent treating it as a regexp
38
+ // Strings
39
+ {
40
+ className: 'string',
41
+ begin: '\'\'\'', end: '\'\'\'',
42
+ contains: [hljs.BACKSLASH_ESCAPE]
43
+ },
44
+ {
45
+ className: 'string',
46
+ begin: '\'', end: '\'',
47
+ contains: [hljs.BACKSLASH_ESCAPE],
48
+ relevance: 0
49
+ },
50
+ {
51
+ className: 'string',
52
+ begin: '"""', end: '"""',
53
+ contains: [hljs.BACKSLASH_ESCAPE, SUBST]
54
+ },
55
+ {
56
+ className: 'string',
57
+ begin: '"', end: '"',
58
+ contains: [hljs.BACKSLASH_ESCAPE, SUBST],
59
+ relevance: 0
60
+ },
61
+ // RegExps
62
+ {
63
+ className: 'regexp',
64
+ begin: '///', end: '///',
65
+ contains: [hljs.HASH_COMMENT_MODE]
66
+ },
67
+ {
68
+ className: 'regexp', begin: '//[gim]*',
69
+ relevance: 0
70
+ },
71
+ {
72
+ className: 'regexp',
73
+ begin: '/\\S(\\\\.|[^\\n])*?/[gim]*(?=\\s|\\W|$)' // \S is required to parse x / 2 / 3 as two divisions
74
+ },
75
+
76
+ {
77
+ className: 'property',
78
+ begin: '@' + JS_IDENT_RE
79
+ },
80
+ {
81
+ begin: '`', end: '`',
82
+ excludeBegin: true, excludeEnd: true,
83
+ subLanguage: 'javascript'
84
+ }
85
+ ];
86
+ SUBST.contains = EXPRESSIONS;
87
+
88
+ return {
89
+ keywords: KEYWORDS,
90
+ contains: EXPRESSIONS.concat([
91
+ {
92
+ className: 'comment',
93
+ begin: '###', end: '###'
94
+ },
95
+ hljs.HASH_COMMENT_MODE,
96
+ {
97
+ className: 'function',
98
+ begin: '(' + JS_IDENT_RE + '\\s*=\\s*)?(\\(.*\\))?\\s*[-=]>', end: '[-=]>',
99
+ returnBegin: true,
100
+ contains: [
101
+ TITLE,
102
+ {
103
+ className: 'params',
104
+ begin: '\\(', returnBegin: true,
105
+ /* We need another contained nameless mode to not have every nested
106
+ pair of parens to be called "params" */
107
+ contains: [{
108
+ begin: /\(/, end: /\)/,
109
+ keywords: KEYWORDS,
110
+ contains: ['self'].concat(EXPRESSIONS)
111
+ }]
112
+ }
113
+ ]
114
+ },
115
+ {
116
+ className: 'class',
117
+ beginWithKeyword: true, keywords: 'class',
118
+ end: '$',
119
+ illegal: '[:\\[\\]]',
120
+ contains: [
121
+ {
122
+ beginWithKeyword: true, keywords: 'extends',
123
+ endsWithParent: true,
124
+ illegal: ':',
125
+ contains: [TITLE]
126
+ },
127
+ TITLE
128
+ ]
129
+ },
130
+ {
131
+ className: 'attribute',
132
+ begin: JS_IDENT_RE + ':', end: ':',
133
+ returnBegin: true, excludeEnd: true
134
+ }
135
+ ])
136
+ };
137
+ }(hljs);
@@ -0,0 +1,53 @@
1
+ /*
2
+ Language: C++
3
+ Contributors: Evgeny Stepanischev <imbolk@gmail.com>
4
+ */
5
+
6
+ hljs.LANGUAGES['cpp'] = function(hljs) {
7
+ var CPP_KEYWORDS = {
8
+ keyword: 'false int float while private char catch export virtual operator sizeof ' +
9
+ 'dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace ' +
10
+ 'unsigned long throw volatile static protected bool template mutable if public friend ' +
11
+ 'do return goto auto void enum else break new extern using true class asm case typeid ' +
12
+ 'short reinterpret_cast|10 default double register explicit signed typename try this ' +
13
+ 'switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype ' +
14
+ 'noexcept nullptr static_assert thread_local restrict _Bool complex',
15
+ built_in: 'std string cin cout cerr clog stringstream istringstream ostringstream ' +
16
+ 'auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set ' +
17
+ 'unordered_map unordered_multiset unordered_multimap array shared_ptr'
18
+ };
19
+ return {
20
+ keywords: CPP_KEYWORDS,
21
+ illegal: '</',
22
+ contains: [
23
+ hljs.C_LINE_COMMENT_MODE,
24
+ hljs.C_BLOCK_COMMENT_MODE,
25
+ hljs.QUOTE_STRING_MODE,
26
+ {
27
+ className: 'string',
28
+ begin: '\'\\\\?.', end: '\'',
29
+ illegal: '.'
30
+ },
31
+ {
32
+ className: 'number',
33
+ begin: '\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)'
34
+ },
35
+ hljs.C_NUMBER_MODE,
36
+ {
37
+ className: 'preprocessor',
38
+ begin: '#', end: '$',
39
+ contains: [
40
+ {begin: '<', end: '>', illegal: '\\n'},
41
+ hljs.C_LINE_COMMENT_MODE
42
+ ]
43
+ },
44
+ {
45
+ className: 'stl_container',
46
+ begin: '\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<', end: '>',
47
+ keywords: CPP_KEYWORDS,
48
+ relevance: 10,
49
+ contains: ['self']
50
+ }
51
+ ]
52
+ };
53
+ }(hljs);
@@ -0,0 +1,51 @@
1
+ /*
2
+ Language: C#
3
+ Author: Jason Diamond <jason@diamond.name>
4
+ */
5
+
6
+ hljs.LANGUAGES['cs'] = function(hljs) {
7
+ return {
8
+ keywords:
9
+ // Normal keywords.
10
+ 'abstract as base bool break byte case catch char checked class const continue decimal ' +
11
+ 'default delegate do double else enum event explicit extern false finally fixed float ' +
12
+ 'for foreach goto if implicit in int interface internal is lock long namespace new null ' +
13
+ 'object operator out override params private protected public readonly ref return sbyte ' +
14
+ 'sealed short sizeof stackalloc static string struct switch this throw true try typeof ' +
15
+ 'uint ulong unchecked unsafe ushort using virtual volatile void while async await ' +
16
+ // Contextual keywords.
17
+ 'ascending descending from get group into join let orderby partial select set value var '+
18
+ 'where yield',
19
+ contains: [
20
+ {
21
+ className: 'comment',
22
+ begin: '///', end: '$', returnBegin: true,
23
+ contains: [
24
+ {
25
+ className: 'xmlDocTag',
26
+ begin: '///|<!--|-->'
27
+ },
28
+ {
29
+ className: 'xmlDocTag',
30
+ begin: '</?', end: '>'
31
+ }
32
+ ]
33
+ },
34
+ hljs.C_LINE_COMMENT_MODE,
35
+ hljs.C_BLOCK_COMMENT_MODE,
36
+ {
37
+ className: 'preprocessor',
38
+ begin: '#', end: '$',
39
+ keywords: 'if else elif endif define undef warning error line region endregion pragma checksum'
40
+ },
41
+ {
42
+ className: 'string',
43
+ begin: '@"', end: '"',
44
+ contains: [{begin: '""'}]
45
+ },
46
+ hljs.APOS_STRING_MODE,
47
+ hljs.QUOTE_STRING_MODE,
48
+ hljs.C_NUMBER_MODE
49
+ ]
50
+ };
51
+ }(hljs);
@@ -0,0 +1,105 @@
1
+ /*
2
+ Language: CSS
3
+ */
4
+
5
+ hljs.LANGUAGES['css'] = function(hljs) {
6
+ var IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';
7
+ var FUNCTION = {
8
+ className: 'function',
9
+ begin: IDENT_RE + '\\(', end: '\\)',
10
+ contains: ['self', hljs.NUMBER_MODE, hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE]
11
+ };
12
+ return {
13
+ case_insensitive: true,
14
+ illegal: '[=/|\']',
15
+ contains: [
16
+ hljs.C_BLOCK_COMMENT_MODE,
17
+ {
18
+ className: 'id', begin: '\\#[A-Za-z0-9_-]+'
19
+ },
20
+ {
21
+ className: 'class', begin: '\\.[A-Za-z0-9_-]+',
22
+ relevance: 0
23
+ },
24
+ {
25
+ className: 'attr_selector',
26
+ begin: '\\[', end: '\\]',
27
+ illegal: '$'
28
+ },
29
+ {
30
+ className: 'pseudo',
31
+ begin: ':(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\"\\\']+'
32
+ },
33
+ {
34
+ className: 'at_rule',
35
+ begin: '@(font-face|page)',
36
+ lexems: '[a-z-]+',
37
+ keywords: 'font-face page'
38
+ },
39
+ {
40
+ className: 'at_rule',
41
+ begin: '@', end: '[{;]', // at_rule eating first "{" is a good thing
42
+ // because it doesn’t let it to be parsed as
43
+ // a rule set but instead drops parser into
44
+ // the default mode which is how it should be.
45
+ contains: [
46
+ {
47
+ className: 'keyword',
48
+ begin: /\S+/
49
+ },
50
+ {
51
+ begin: /\s/, endsWithParent: true, excludeEnd: true,
52
+ relevance: 0,
53
+ contains: [
54
+ FUNCTION,
55
+ hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE,
56
+ hljs.NUMBER_MODE
57
+ ]
58
+ }
59
+ ]
60
+ },
61
+ {
62
+ className: 'tag', begin: IDENT_RE,
63
+ relevance: 0
64
+ },
65
+ {
66
+ className: 'rules',
67
+ begin: '{', end: '}',
68
+ illegal: '[^\\s]',
69
+ relevance: 0,
70
+ contains: [
71
+ hljs.C_BLOCK_COMMENT_MODE,
72
+ {
73
+ className: 'rule',
74
+ begin: '[^\\s]', returnBegin: true, end: ';', endsWithParent: true,
75
+ contains: [
76
+ {
77
+ className: 'attribute',
78
+ begin: '[A-Z\\_\\.\\-]+', end: ':',
79
+ excludeEnd: true,
80
+ illegal: '[^\\s]',
81
+ starts: {
82
+ className: 'value',
83
+ endsWithParent: true, excludeEnd: true,
84
+ contains: [
85
+ FUNCTION,
86
+ hljs.NUMBER_MODE,
87
+ hljs.QUOTE_STRING_MODE,
88
+ hljs.APOS_STRING_MODE,
89
+ hljs.C_BLOCK_COMMENT_MODE,
90
+ {
91
+ className: 'hexcolor', begin: '#[0-9A-Fa-f]+'
92
+ },
93
+ {
94
+ className: 'important', begin: '!important'
95
+ }
96
+ ]
97
+ }
98
+ }
99
+ ]
100
+ }
101
+ ]
102
+ }
103
+ ]
104
+ };
105
+ }(hljs);