ultraviolet 0.10.0 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. data/History.txt +7 -0
  2. data/Manifest.txt +184 -188
  3. data/Rakefile +2 -2
  4. data/bin/theme2latexrender +9 -30
  5. data/bin/theme2xhtmlrender +17 -23
  6. data/lib/uv.rb +2 -2
  7. data/lib/uv/{html_processor.rb → render_processor.rb} +39 -13
  8. data/lib/uv/utility.rb +67 -0
  9. data/render/latex/active4d.render +7 -7
  10. data/render/latex/all_hallows_eve.render +6 -6
  11. data/render/latex/amy.render +7 -7
  12. data/render/latex/blackboard.render +5 -5
  13. data/render/latex/brilliance_black.render +171 -221
  14. data/render/latex/brilliance_dull.render +105 -105
  15. data/render/latex/cobalt.render +12 -12
  16. data/render/latex/dawn.render +8 -8
  17. data/render/latex/eiffel.render +4 -4
  18. data/render/latex/espresso_libre.render +5 -5
  19. data/render/latex/idle.render +2 -2
  20. data/render/latex/iplastic.render +5 -5
  21. data/render/latex/lazy.render +2 -2
  22. data/render/latex/mac_classic.render +7 -7
  23. data/render/latex/magicwb_amiga.render +8 -8
  24. data/render/latex/pastels_on_dark.render +5 -5
  25. data/render/latex/slush_poppies.render +1 -1
  26. data/render/latex/spacecadet.render +3 -3
  27. data/render/latex/sunburst.render +14 -14
  28. data/render/latex/twilight.render +9 -9
  29. data/render/latex/zenburnesque.render +2 -2
  30. data/render/xhtml/amy.render +1 -1
  31. data/render/xhtml/brilliance_black.render +74 -124
  32. data/render/xhtml/brilliance_dull.render +6 -6
  33. data/render/xhtml/files/css/active4d.css +1 -1
  34. data/render/xhtml/files/css/all_hallows_eve.css +1 -1
  35. data/render/xhtml/files/css/amy.css +6 -3
  36. data/render/xhtml/files/css/blackboard.css +3 -3
  37. data/render/xhtml/files/css/brilliance_black.css +193 -220
  38. data/render/xhtml/files/css/brilliance_dull.css +110 -90
  39. data/render/xhtml/files/css/cobalt.css +3 -3
  40. data/render/xhtml/files/css/dawn.css +6 -6
  41. data/render/xhtml/files/css/eiffel.css +1 -1
  42. data/render/xhtml/files/css/espresso_libre.css +2 -2
  43. data/render/xhtml/files/css/iplastic.css +3 -3
  44. data/render/xhtml/files/css/mac_classic.css +3 -3
  45. data/render/xhtml/files/css/magicwb_amiga.css +6 -3
  46. data/render/xhtml/files/css/pastels_on_dark.css +2 -2
  47. data/render/xhtml/files/css/spacecadet.css +1 -1
  48. data/render/xhtml/files/css/sunburst.css +7 -7
  49. data/render/xhtml/files/css/twilight.css +5 -5
  50. data/render/xhtml/files/css/zenburnesque.css +5 -2
  51. data/render/xhtml/mac_classic.render +1 -1
  52. data/render/xhtml/magicwb_amiga.render +1 -1
  53. data/render/xhtml/zenburnesque.render +1 -1
  54. data/syntax/antlr.syntax +49 -26
  55. data/syntax/apache.syntax +17 -2
  56. data/syntax/c.syntax +2 -2
  57. data/syntax/cm.syntax +32 -0
  58. data/syntax/coldfusion.syntax +4 -3
  59. data/syntax/css.syntax +8 -3
  60. data/syntax/d.syntax +4 -0
  61. data/syntax/groovy.syntax +10 -8
  62. data/syntax/gtd.syntax +22 -0
  63. data/syntax/haml.syntax +2 -2
  64. data/syntax/html.syntax +4 -4
  65. data/syntax/ini.syntax +5 -4
  66. data/syntax/javascript.syntax +2 -1
  67. data/syntax/languagedefinition.syntax +50 -39
  68. data/syntax/macports_portfile.syntax +21 -1
  69. data/syntax/makefile.syntax +1 -0
  70. data/syntax/objective-c.syntax +37 -30
  71. data/syntax/pascal.syntax +1 -1
  72. data/syntax/perl.syntax +40 -0
  73. data/syntax/php.syntax +672 -379
  74. data/syntax/pmwiki.syntax +113 -0
  75. data/syntax/property_list.syntax +4 -14
  76. data/syntax/python.syntax +17 -14
  77. data/syntax/release_notes.syntax +12 -3
  78. data/syntax/ruby_experimental.syntax +8 -8
  79. data/syntax/standard_ml.syntax +79 -3
  80. data/syntax/twiki.syntax +2 -2
  81. data/syntax/txt2tags.syntax +18 -18
  82. data/syntax/xml.syntax +1 -0
  83. data/syntax/yaml.syntax +2 -2
  84. metadata +193 -194
  85. data/syntax/buggy/nemerle.yaml +0 -74
  86. data/syntax/gtd2_text.syntax +0 -31
  87. data/syntax/old/YAML.yaml +0 -160
  88. data/syntax/old/txt2tags.yaml +0 -139
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: PmWiki
3
+ fileTypes:
4
+ - pmwiki
5
+ scopeName: text.pmwiki
6
+ uuid: B991CA22-EE93-410C-A4EB-7578D9CE6C8D
7
+ patterns:
8
+ - name: keyword.control.line-break.pmwiki
9
+ match: \\\\$
10
+ - name: keyword.control.line-break.pmwiki
11
+ match: \[\[<<\]\]
12
+ - name: keyword.control.continue-line.pmwiki
13
+ match: \\$
14
+ - name: markup.raw.monospace.pmwiki
15
+ begin: ^\s+
16
+ end: $
17
+ patterns:
18
+ - include: text.pmwiki
19
+ - name: meta.indented-paragraph.pmwiki
20
+ captures:
21
+ "1":
22
+ name: keyword.control.indented-paragraph.pmwiki
23
+ begin: ^(-+>)
24
+ end: $
25
+ patterns:
26
+ - include: text.pmwiki
27
+ - name: markup.heading.pmwiki
28
+ captures:
29
+ "1":
30
+ name: keyword.control.heading.pmwiki
31
+ begin: ^(!+)
32
+ end: $
33
+ - name: markup.list.unnumbered.pmwiki
34
+ captures:
35
+ "1":
36
+ name: keyword.control.bullet-list.pmwiki
37
+ begin: ^(\*+)
38
+ end: $
39
+ patterns:
40
+ - include: text.pmwiki
41
+ - name: markup.list.numbered.pmwiki
42
+ captures:
43
+ "1":
44
+ name: keyword.control.number-list.pmwiki
45
+ begin: ^(#+)
46
+ end: $
47
+ patterns:
48
+ - include: text.pmwiki
49
+ - name: meta.term-definition.pmwiki
50
+ captures:
51
+ "1":
52
+ name: keyword.control.term-definition.pmwiki
53
+ "2":
54
+ name: entity.name.type.term.pmwiki
55
+ "3":
56
+ name: keyword.control.term-definition.pmwiki
57
+ "4":
58
+ name: string.unquoted.definition.pmwiki
59
+ match: ^(:+)(.*)(:)(.*)$
60
+ - name: meta.separator.pmwiki
61
+ match: ^-{4,}.*$
62
+ - name: markup.italic.emphasis.pmwiki
63
+ begin: "''"
64
+ end: "''(?!')"
65
+ patterns:
66
+ - include: text.pmwiki
67
+ - name: markup.bold.strong.pmwiki
68
+ begin: "'''"
69
+ end: "'''"
70
+ patterns:
71
+ - include: text.pmwiki
72
+ - name: markup.raw.monospace.pmwiki
73
+ begin: "@@"
74
+ end: "@@"
75
+ patterns:
76
+ - include: text.pmwiki
77
+ - name: meta.style.larger.pmwiki
78
+ begin: \[\+
79
+ end: \+\]
80
+ patterns:
81
+ - include: text.pmwiki
82
+ - name: meta.style.smaller.pmwiki
83
+ begin: \[-
84
+ end: -\]
85
+ patterns:
86
+ - include: text.pmwiki
87
+ - name: meta.normal-word.pmwiki
88
+ match: `\w+
89
+ - name: markup.underline.pmwiki
90
+ match: \b\u\w+\u\w+
91
+ - name: meta.link.inline.pmwiki
92
+ begin: \[\[#
93
+ contentName: string.other.link.title.pmwiki
94
+ end: \]\]
95
+ - name: meta.link.inline.pmwiki
96
+ captures:
97
+ "1":
98
+ name: markup.underline.link.pmwiki
99
+ "2":
100
+ name: keyword.control.link.pmwiki
101
+ "3":
102
+ name: string.other.link.title.pmwiki
103
+ match: \[\[(.*?)\s*(\||->)\s*(.*?)\]\]
104
+ - name: meta.link.inline.pmwiki
105
+ captures:
106
+ "1":
107
+ name: markup.underline.link.pmwiki
108
+ match: \[\[(.*?)\]\]
109
+ - name: markup.raw.verbatim-text.pmwiki
110
+ begin: \[=
111
+ end: =\]
112
+ - include: text.html.basic
113
+ keyEquivalent: ^~P
@@ -32,7 +32,8 @@ repository:
32
32
  openstep:
33
33
  patterns:
34
34
  - include: "#openstep_comment"
35
- - include: "#openstep_plist"
35
+ - include: "#openstep_dictionary"
36
+ - include: "#openstep_array"
36
37
  - include: "#openstep_stray-char"
37
38
  xml_tags:
38
39
  patterns:
@@ -514,20 +515,9 @@ repository:
514
515
  patterns:
515
516
  - include: "#openstep_string-contents"
516
517
  - name: constant.numeric.plist
517
- match: "[-+]?\\d+(\\.\\d*)?(E[-+]\\d+)?"
518
+ match: "[-+]?\\d+(\\.\\d*)?(E[-+]\\d+)?(?!\\w)"
518
519
  - name: string.unquoted.plist
519
520
  match: "[-a-zA-Z0-9_.]+"
520
- openstep_plist:
521
- name: meta.rule.plist.plist
522
- captures:
523
- "0":
524
- name: punctuation.section.plist.plist
525
- begin: \{
526
- end: \}
527
- patterns:
528
- - include: "#openstep_comment"
529
- - include: "#openstep_name"
530
- - include: "#openstep_stray-char"
531
521
  openstep_name:
532
522
  patterns:
533
523
  - name: meta.rule.named.plist
@@ -631,7 +621,7 @@ patterns:
631
621
  patterns:
632
622
  - include: "#xml"
633
623
  - name: source.plist
634
- begin: (?=\s*({|//|/\*))
624
+ begin: (?=\s*({|\(|//|/\*))
635
625
  end: \Z(?!\n)
636
626
  patterns:
637
627
  - include: "#openstep"
@@ -15,7 +15,7 @@ repository:
15
15
  endCaptures:
16
16
  "1":
17
17
  name: punctuation.separator.parameters.python
18
- begin: \b([a-zA-Z_][a-zA-Z_0-9]*)\s*(=)
18
+ begin: \b([a-zA-Z_][a-zA-Z_0-9]*)\s*(=)(?!=)
19
19
  beginCaptures:
20
20
  "1":
21
21
  name: variable.parameter.function.python
@@ -23,7 +23,7 @@ repository:
23
23
  name: keyword.operator.assignment.python
24
24
  end: \s*(?:(,)|(?=$\n?|[\)]))
25
25
  patterns:
26
- - include: $base
26
+ - include: $self
27
27
  generic_names:
28
28
  match: "[A-Za-z_][A-Za-z0-9_]*"
29
29
  escaped_char:
@@ -79,6 +79,7 @@ repository:
79
79
  - include: "#illegal_names"
80
80
  - include: "#magic_function_names"
81
81
  - include: "#magic_variable_names"
82
+ - include: "#language_variables"
82
83
  - include: "#generic_names"
83
84
  builtin_types:
84
85
  name: support.type.python
@@ -483,6 +484,9 @@ repository:
483
484
  - include: "#constant_placeholder"
484
485
  - include: "#escaped_char"
485
486
  comment: double quoted string
487
+ language_variables:
488
+ name: variable.language.python
489
+ match: \b(self|cls)\b
486
490
  escaped_unicode_char:
487
491
  captures:
488
492
  "1":
@@ -597,7 +601,7 @@ patterns:
597
601
  contentName: entity.other.inherited-class.python
598
602
  end: \s*(?:(,)|(?=\)))
599
603
  patterns:
600
- - include: $base
604
+ - include: $self
601
605
  - name: meta.class.python
602
606
  endCaptures:
603
607
  "1":
@@ -688,7 +692,7 @@ patterns:
688
692
  end: (?=\))
689
693
  patterns:
690
694
  - include: "#keyword_arguments"
691
- - include: $base
695
+ - include: $self
692
696
  comment: a decorator may be a function call which returns a decorator.
693
697
  - name: meta.function.decorator.python
694
698
  begin: ^\s*(?=@\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*)
@@ -714,7 +718,7 @@ patterns:
714
718
  end: (\))
715
719
  patterns:
716
720
  - include: "#keyword_arguments"
717
- - include: $base
721
+ - include: $self
718
722
  - name: meta.function-call.python
719
723
  endCaptures:
720
724
  "1":
@@ -734,7 +738,7 @@ patterns:
734
738
  end: (?=\))
735
739
  patterns:
736
740
  - include: "#keyword_arguments"
737
- - include: $base
741
+ - include: $self
738
742
  - name: meta.item-access.python
739
743
  begin: (?=[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*\s*\[)
740
744
  end: (\])
@@ -753,7 +757,7 @@ patterns:
753
757
  name: punctuation.definition.arguments.begin.python
754
758
  end: (?=\])
755
759
  patterns:
756
- - include: $base
760
+ - include: $self
757
761
  - name: meta.item-access.python
758
762
  endCaptures:
759
763
  "1":
@@ -765,7 +769,7 @@ patterns:
765
769
  name: punctuation.definition.arguments.begin.python
766
770
  end: (\])
767
771
  patterns:
768
- - include: $base
772
+ - include: $self
769
773
  - captures:
770
774
  "1":
771
775
  name: storage.type.function.python
@@ -775,8 +779,7 @@ patterns:
775
779
  name: storage.type.class.python
776
780
  match: \b(class)\b
777
781
  - include: "#line_continuation"
778
- - name: variable.language.python
779
- match: \b(self|cls)\b
782
+ - include: "#language_variables"
780
783
  - name: constant.language.python
781
784
  match: \b(None|True|False|Ellipsis|NotImplemented)\b
782
785
  - include: "#string_quoted_single"
@@ -785,7 +788,7 @@ patterns:
785
788
  - begin: (\()
786
789
  end: (\))
787
790
  patterns:
788
- - include: $base
791
+ - include: $self
789
792
  - captures:
790
793
  "1":
791
794
  name: punctuation.definition.list.begin.python
@@ -811,7 +814,7 @@ patterns:
811
814
  contentName: meta.structure.list.item.python
812
815
  end: \s*(?:(,)|(?=\]))
813
816
  patterns:
814
- - include: $base
817
+ - include: $self
815
818
  - name: meta.structure.tuple.python
816
819
  captures:
817
820
  "1":
@@ -847,7 +850,7 @@ patterns:
847
850
  contentName: meta.structure.dictionary.key.python
848
851
  end: \s*(?:(?=\})|(\:))
849
852
  patterns:
850
- - include: $base
853
+ - include: $self
851
854
  - endCaptures:
852
855
  "1":
853
856
  name: punctuation.separator.dictionary.python
@@ -855,7 +858,7 @@ patterns:
855
858
  contentName: meta.structure.dictionary.value.python
856
859
  end: \s*(?:(?=\})|(,))
857
860
  patterns:
858
- - include: $base
861
+ - include: $self
859
862
  foldingStopMarker: ^\s*$|^\s*\}|^\s*\]|^\s*\)|^\s*"""\s*$
860
863
  keyEquivalent: ^~P
861
864
  comment: "\n\
@@ -20,11 +20,16 @@ patterns:
20
20
  patterns:
21
21
  - name: markup.underline.link
22
22
  match: (https?|ftp|mailto):\S+?(?=[)>,.':;"]*(\s|$)|$)
23
- - name: keyword.other.release-notes
24
- captures:
23
+ - captures:
25
24
  "1":
25
+ name: keyword.other.release-notes
26
+ "2":
26
27
  name: punctuation.definition.keyword.release-notes
27
- match: (\[)(NEW|FIXED|CHANGED|REMOVED|INFO)(\])
28
+ "3":
29
+ name: punctuation.definition.keyword.release-notes
30
+ "4":
31
+ name: constant.other.bundle-name.release-notes
32
+ match: ((\[)(?:NEW|FIXED|CHANGED|REMOVED|INFO)(\])) (?:(.+? bundle):)?
28
33
  - name: meta.ticket.release-notes
29
34
  captures:
30
35
  "1":
@@ -35,3 +40,7 @@ patterns:
35
40
  - name: meta.word.camel-case
36
41
  match: \b[A-Z]*[a-z]+[A-Z]\w*\b
37
42
  comment: "I do not want spell checking for CamelCase words. Since this is generally when quoting various API\xE2\x80\x99s, I have deliberately used A-Z and a-z (ASCII) -- Allan"
43
+ - captures:
44
+ "1":
45
+ name: constant.other.committer-name.release-notes
46
+ match: "\\((G(erd Knops|a(vin Kistner|rrett J. Woodworth)|ra(nt Hollingworth|eme Rocher))|R(yan McCuaig|ich Barton|o(ss Harmes|ger Braunstein|b(ert Rainthorpe| (Rix|Bevan))))|M(i(cha(il Pishchagin|el Sheets)|tch Chapman|etek B\xC4\x85k|k(e Mellor|ael S\xC3\xA4ker))|a(t(s Persson|t(hew Gilbert|eo Spinelli| Pelletier))|r(tin Str\xC3\xB6m|k Grimes)|x Williams))|B(ill Duenskie|ob Fleck|en(oit Gagnon|jamin Jackson| Perry)|arrett Clark|r(ian (Donovan|Lalor)|ett Terpstra|ad (Miller|Choate)))|H(enrik Nyh|adley Wickham)|S(t(ephen Skubik-Peplaski|\xC3\xA9phane Payrard|anley Rost)|imon (Gregory|Strandgaard)|u(ne Foldager|dara Williams)|ebastian Gr\xC3\xA4\xC3\x9Fl|am DeVore)|Nathan Youngman|C(h(a(ndler McWilliams|rilaos Skiadas)|ris(topher Forsythe| (Thomas|Jenkins)))|iar\xC3\xA1n Walsh)|T(homas Aylott|o(rsten Becker|m Lazar|bias Luetke)|akaaki Kato|roy Mcilvena)|Ian (Joyner|White)|Ollivier Robert|D(om(inique Peretti|enico Carbotta)|uane Johnson|a(n(iel Harple| Kelley)|vid (Glasser|Bonnet|Hansson|Powers|Wikler))|rew Colthorp)|J(iun Wei Chia|o(shua Emmons|nathan (Ragan-Kelley|Chaffer)|e Maller|achim M\xC3\xA5rtensson)|ustin French|eroen van der Ham|a(cob Rus|y Soffian|kub Ne\xC5\xA1et\xC5\x99il|m(is Buck|es (Edward Gray II|A. Baker))))|Paul(o Jorge Lopes de Moura| Bissex)|Eric Hsu|K(umar McMillan|evin Ballard)|F(ergus Bremner|abien POTENCIER|lorent Pillet|r(\xC3\xA9d\xC3\xA9ric Ball\xC3\xA9riaux|ank Brault))|Wil(son Miner|liam (D. Neumann|Prater))|A(n(thony Underwood|d(y Herbert|ers Thid|rew Henson))|dam Sanderson|urelio Marinho Jargas|parajita Fishman|l(e( Mu\xC3\xB1oz|xand(er John Ross|re Girard))|an Schussman|lan Odgaard)|mro Nasr))\\)$"
@@ -104,14 +104,14 @@ foldingStartMarker: "(?x)^\n\
104
104
  \t"
105
105
  patterns:
106
106
  - name: meta.function-call.method.without-arguments.ruby
107
- begin: (?<=[^\.]\.|::)(?=[a-zA-Z][a-zA-Z0-9_!?=]*[^a-zA-Z0-9_!?=])
108
- end: (?<=[a-zA-Z0-9_!?=])(?=[^a-zA-Z0-9_!?=])
107
+ begin: (?<=[^\.]\.|::)(?=[a-zA-Z][a-zA-Z0-9_!?]*[^a-zA-Z0-9_!?])
108
+ end: (?<=[a-zA-Z0-9_!?])(?=[^a-zA-Z0-9_!?])
109
109
  patterns:
110
110
  - include: "#known_function_names"
111
111
  - name: entity.name.function.ruby
112
- match: ([a-zA-Z][a-zA-Z0-9_!?=]*)(?=[^a-zA-Z0-9_!?=])
112
+ match: ([a-zA-Z][a-zA-Z0-9_!?]*)(?=[^a-zA-Z0-9_!?])
113
113
  - name: meta.function-call.method.with-arguments.ruby
114
- begin: (?<=[^\.])(?=(\.|::)[a-zA-Z][a-zA-Z0-9_!?=]*\()(\.|::)
114
+ begin: (?<=[^\.])(?=(\.|::)[a-zA-Z][a-zA-Z0-9_!?]*\()(\.|::)
115
115
  beginCaptures:
116
116
  "1":
117
117
  name: punctuation.separator.method.ruby
@@ -120,21 +120,21 @@ patterns:
120
120
  - include: "#nest_function_parens"
121
121
  - include: "#known_function_names"
122
122
  - name: entity.name.function.ruby
123
- match: ([a-zA-Z][a-zA-Z0-9_!?=]*)(?=\()
123
+ match: ([a-zA-Z][a-zA-Z0-9_!?]*)(?=\()
124
124
  - include: $self
125
125
  - name: meta.function-call.ruby
126
- begin: (?=[a-zA-Z0-9_!?=]+\()
126
+ begin: (?=[a-zA-Z0-9_!?]+\()
127
127
  end: (?<=\))
128
128
  patterns:
129
129
  - include: "#nest_function_parens"
130
130
  - include: "#known_function_names"
131
131
  - name: entity.name.function.ruby
132
- match: ([a-zA-Z0-9_!?=]+)(?=\()
132
+ match: ([a-zA-Z0-9_!?]+)(?=\()
133
133
  - include: $self
134
134
  - include: "#leading-space"
135
135
  - include: source.ruby
136
136
  - name: variable.other.ruby
137
- match: ((?<=\W)\b|^)\w+\b(?=\s*([\]\)\}\=\+\-\*\/\^\$\:\,]|<\s|<<\s))
137
+ match: ((?<=\W)\b|^)\w+\b(?=\s*([\]\)\}\=\+\-\*\/\^\$\,]|<\s|<<\s))
138
138
  comment: This is kindof experimental. There really is no way to perfectly match all regular variables, but you can pretty well assume that any normal word in certain curcumstances that havnt already been scoped as something else are probably variables, and the advantages beat the potential errors
139
139
  foldingStopMarker: "(?x)\n\
140
140
  \t\t( (^|;) \\s*+ end \\s*+ ([#].*)? $\n\
@@ -2,7 +2,36 @@
2
2
  name: Standard ML
3
3
  fileTypes:
4
4
  - sml
5
+ - sig
5
6
  scopeName: source.ml
7
+ repository:
8
+ spec:
9
+ patterns:
10
+ - name: meta.spec.ml.type
11
+ captures:
12
+ "1":
13
+ name: keyword.other.ml
14
+ match: \b(type)\b
15
+ - name: meta.spec.ml.datatype
16
+ captures:
17
+ "1":
18
+ name: keyword.other.ml
19
+ match: \b(datatype)\b
20
+ - name: meta.spec.ml.val
21
+ captures:
22
+ "1":
23
+ name: keyword.other.ml
24
+ match: "\\b(val)\\s*\\w+:"
25
+ - name: meta.spec.ml.structure
26
+ captures:
27
+ "1":
28
+ name: keyword.other.ml
29
+ match: "\\b(structure)\\s*\\w+:"
30
+ - name: meta.spec.ml.include
31
+ captures:
32
+ "1":
33
+ name: keyword.other.ml
34
+ match: \b(include)\b
6
35
  uuid: 9B148AEA-F723-4EDE-8B7F-2F4FD730BC3A
7
36
  foldingStartMarker: \(\*|\b(struct|sig)\b
8
37
  patterns:
@@ -13,10 +42,23 @@ patterns:
13
42
  begin: \(\*
14
43
  end: \*\)
15
44
  - name: keyword.other.ml
16
- match: \b(val|type|datatype|structure|struct|signature|sig|functor|end|as|if|then|else|andalso|orelse|let|in|abstype|local|where|case|of|fn|raise|exception|handle)\b
17
- - captures:
45
+ match: \b(val|datatype|struct|as|let|in|abstype|local|where|case|of|fn|raise|exception|handle|ref|infix)\b
46
+ - name: meta.module.sigdec.ml
47
+ captures:
18
48
  "1":
19
- name: keyword.other.ml
49
+ name: keyword.other.delimiter.ml
50
+ "2":
51
+ name: keyword.other.delimiter.ml
52
+ begin: \b(sig)\b
53
+ end: \b(end)\b
54
+ patterns:
55
+ - include: "#spec"
56
+ - name: keyword.control.ml
57
+ match: \b(if|then|else)\b
58
+ - name: meta.definition.fun.ml
59
+ captures:
60
+ "1":
61
+ name: keyword.control.fun.ml
20
62
  "2":
21
63
  name: entity.name.function.ml
22
64
  match: \b(fun|and)\s+([\w']+)\b
@@ -41,5 +83,39 @@ patterns:
41
83
  match: (#")(\\)?.(")
42
84
  - name: constant.numeric.ml
43
85
  match: \b\d*\.?\d+\b
86
+ - name: keyword.operator.logical.ml
87
+ match: \b(andalso|orelse|not)\b
88
+ - name: meta.module.dec.ml
89
+ captures:
90
+ "1":
91
+ name: storage.type.module.binder.ml
92
+ "2":
93
+ name: entity.name.type.module.ml
94
+ begin: |-
95
+ (?x)\b
96
+ (functor|structure|signature|funsig)\s+
97
+ (\w+)\s* # identifier
98
+ end: (?==|:)
99
+ - name: keyword.other.module.ml
100
+ match: \b(open)\b
101
+ - name: constant.language.ml
102
+ match: \b(nil|true|false|NONE|SOME)\b
103
+ - name: meta.typeabbrev.ml
104
+ captures:
105
+ "1":
106
+ name: keyword.other.typeabbrev.ml
107
+ "2":
108
+ name: variable.other.typename.ml
109
+ begin: ^\s*(type|eqtype) .* =
110
+ end: $
111
+ patterns:
112
+ - name: meta.typeexp.ml
113
+ match: (([a-zA-Z0-9\.\* ]|(\->))*)
114
+ - name: meta.type.ascription.ml
115
+ captures:
116
+ "2":
117
+ name: constant.other.type.ml
118
+ match: "[^:](:)\\s*(([a-zA-Z0-9\\.\\*\\_ ]|(\\->))*)"
119
+ comment: type annotation/ascription
44
120
  foldingStopMarker: \*\)|\bend\b
45
121
  keyEquivalent: ^~S