Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------main/external/fsharpbinding14
-rw-r--r--main/src/core/Mono.Texteditor/SyntaxModes/FSharpSyntaxMode.xml79
2 files changed, 70 insertions, 23 deletions
diff --git a/main/external/fsharpbinding b/main/external/fsharpbinding
-Subproject 2a8a8bf6ad58e2d685909777b75d57e46caddf8
+Subproject c4337ff58f69857c2a135814ace646ed95bd74a
diff --git a/main/src/core/Mono.Texteditor/SyntaxModes/FSharpSyntaxMode.xml b/main/src/core/Mono.Texteditor/SyntaxModes/FSharpSyntaxMode.xml
index 577331a09c..130ccbf79b 100644
--- a/main/src/core/Mono.Texteditor/SyntaxModes/FSharpSyntaxMode.xml
+++ b/main/src/core/Mono.Texteditor/SyntaxModes/FSharpSyntaxMode.xml
@@ -92,8 +92,8 @@
<Match color="Number">CSharpNumber</Match>
- <Match color="Keyword(Iteration)" ignorecase="False">((use|yield|return|do)(!?))\b?</Match>
-
+ <Match color="Keyword(Iteration)" ignorecase="False">(do!|use!|yield!|return!|let!)</Match>
+ <Match color="Keyword(Iteration)" ignorecase="False">(do|use|yield|return)\b</Match>
<!-- reserved-ident-keyword F# spec v3.0 section 3.4 -->
<Match color="Keyword(Other)" ignorecase="False">(atomic|break|checked|component|const|constraint|constructor|continue|eager|fixed|fori|functor|include|measure|method|mixin|object|parallel|params|process|protected|pure|recursive|sealed|tailcall|trait|virtual|volatile)[!#]?\s</Match>
<Match color="Keyword(Other)" ignorecase="False">(atomic|break|checked|component|const|constraint|constructor|continue|eager|fixed|fori|functor|include|measure|method|mixin|object|parallel|params|process|protected|pure|recursive|sealed|tailcall|trait|virtual|volatile)[!#]?$</Match>
@@ -107,7 +107,6 @@
<Word>static</Word>
<Word>abstract</Word>
<Word>default</Word>
- <Word>override</Word>
<Word>private</Word>
<Word>public</Word>
<Word>extern</Word>
@@ -266,9 +265,44 @@
</Span>
</Rule>
<Match color="Plain Text">\b(get|set)\b</Match>
+ <Match color="User Types" ignorecase="False">\b(string|unit|bool|option|list|int|uint|int16|int32|int64|uint32|uint64|byte|sbyte|double|float|nint|single|float32|bigint|decimal|Char)\b</Match>
+ <Match expression="(override)(\s+)(\w+)(\.)(\w+)\s[^=:]" ignorecase="False">
+ <!-- override x.CanHandle y = -->
+ <Group color="Keyword(Modifiers)"/>
+ <Group color="Plain Text" />
+ <Group color="User Field Declaration" />
+ <Group color="Plain Text" />
+ <Group color="User Method Declaration"/>
+ </Match>
+
+ <Match expression="(of)(\s)(\w+)">
+ <Group color="Keyword(Iteration)"/>
+ <Group color="Plain Text" />
+ <Group color="User Types"/>
+ </Match>
+
+ <Match expression="(\|\s*:\?\s*)(\w+)">
+ <!-- | :? §string§ -->
+ <Group color="Plain Text" />
+ <Group color="User Types"/>
+ </Match>
+
+
<!-- |> |< << >> <= >= <- -> :?> -->
<Match color="Plain Text">(\|&gt;|\|&lt;|&lt;&lt;|&gt;&gt;|&lt;=|&gt;=|&lt;-|-&gt;|:\?&gt;)</Match>
+
+ <Match expression="(let)(\s)(static|abstract|default|override|public|extern|internal|mutable|rec|inline|private)(\s)(static|abstract|default|override|public|extern|internal|mutable|rec|inline|private)(\s)([\w]+)\s[^=:]" ignorecase="False">
+ <!-- let inline add x y = x + y -->
+ <Group color="Keyword(Iteration)"/>
+ <Group color="Plain Text" />
+ <Group color="Keyword(Modifiers)"/>
+ <Group color="Plain Text" />
+ <Group color="Keyword(Modifiers)"/>
+ <Group color="Plain Text" />
+ <Group color="User Method Declaration"/>
+ </Match>
+
<Match expression="(let)(\s)(static|abstract|default|override|public|extern|internal|mutable|rec|inline|private)(\s)([\w]+)\s[^=:]" ignorecase="False">
<!-- let inline add x y = x + y -->
<Group color="Keyword(Iteration)"/>
@@ -277,6 +311,8 @@
<Group color="Plain Text" />
<Group color="User Method Declaration"/>
</Match>
+
+
<Match expression="(let)(\s)(?!(?:static|abstract|default|override|public|extern|internal|mutable|rec|inline|private))([\w]+)\s[^=]" ignorecase="False">
<!-- let add x y = x + y -->
<Group color="Keyword(Iteration)"/>
@@ -284,37 +320,44 @@
<Group color="User Method Declaration"/>
</Match>
- <Match expression="(override)(\s)(\w+)(\.)(\w+)" ignorecase="False">
- <!-- override x.CanHandle y = -->
- <Group color="Keyword(Modifiers)"/>
- <Group color="Plain Text" />
- <Group color="User Field Declaration" />
+ <Match color="Keyword(Modifiers)">(static|abstract|default|override|public|extern|internal|mutable|rec|inline|private)\b</Match>
+
+ <Match expression="([A-Z]{1}\w*)(\s?=)">
+ <Group color="User Field Declaration"/>
<Group color="Plain Text" />
- <Group color="User Method Declaration"/>
</Match>
- <Match color="Keyword(Modifiers)">(static|abstract|default|override|public|extern|internal|mutable|rec|inline|private)\b</Match>
<Match expression="\b([A-Z][\w]+)\b" ignorecase="False">
<Group color="User Types"/>
</Match>
- <Match expression="(:\s?)([\w]+)\b">
+ <Match expression="(:\s?)(['\w]+)\b">
<Group color="Plain Text"/>
<Group color="User Types"/>
</Match>
- <Match expression="([&lt;])([^_]\w*)\b">
+
+ <Match expression="(&lt;)([^_]\w*)(&gt;)">
<Group color="Punctuation(Brackets)"/>
<Group color="User Types"/>
+ <Group color="Punctuation(Brackets)"/>
</Match>
- <Match expression="(namespace|open)(.*)$" ignorecase="False">
+ <Match color="User Types">'\w+</Match>
+
+ <Match expression="(namespace|open)\b(.*)$" ignorecase="False">
<Group color="Keyword(Namespace)"/>
<Group color="Plain Text"/>
</Match>
-
+
+ <Match expression="(module|type)(\s*)(\w+)" ignorecase="False">
+ <Group color="Keyword(Namespace)"/>
+ <Group color="Plain Text"/>
+ <Group color="User Types"/>
+ </Match>
+
<Match color="Keyword(Jump)" ignorecase="False">(function|fun|new)\b</Match>
- <Match color="Keyword(Iteration)" ignorecase="False">(async|maybe|asyncMaybe|asyncSeq|seq|query|let|finally|try|with|val|while|for|begin|done|elif|else|end|if|match|then|when|void|global|base|inherit|member|type|module|of|class|delegate|exception|interface|struct|as)\b</Match>
+ <Match color="Keyword(Iteration)" ignorecase="False">(async|maybe|asyncMaybe|asyncSeq|asyncChoice|seq|query|let|finally|try|with|val|while|for|begin|done|elif|else|end|if|match|then|when|void|global|base|inherit|member|type|module|of|class|delegate|exception|interface|struct|as|in)\b</Match>
<Match expression="([a-z]{1}\w*)\s\&quot;">
<Group color="User Method Declaration"/>
@@ -337,13 +380,17 @@
<Group color="User Method Declaration"/>
</Match>
+ <Match expression="([a-z]{1}\w*)\s?[\(]" ignorecase="False">
+ <Group color="User Method Declaration"/>
+ </Match>
<Match expression="([a-z]{1}\w*)" ignorecase="False">
<Group color="User Field Declaration"/>
</Match>
+
<Match expression="(\.)([A-Z]{1}\w*)" ignorecase="False">
<Group color="Plain Text" />
- <Group color="User Field Declaration"/>
+ <Group color="User Property Declaration"/>
</Match>
</SyntaxMode>