diff --git a/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/META-INF/MANIFEST.MF b/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/META-INF/MANIFEST.MF
index 2677abc67..1d5a37c73 100644
--- a/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/META-INF/MANIFEST.MF
+++ b/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/META-INF/MANIFEST.MF
@@ -10,6 +10,7 @@ Require-Bundle: org.eclipse.jdt.launching;bundle-version="3.9.0",
org.eclipse.ui.genericeditor;bundle-version="1.0.0",
org.eclipse.jface.text;bundle-version="3.11.100",
org.eclipse.jdt.ui;bundle-version="3.13.0",
- org.dadacoalition.yedit;bundle-version="1.0.18"
+ org.eclipse.tm4e.core;bundle-version="1.0.0",
+ org.eclipse.tm4e.ui;bundle-version="1.0.0"
Import-Package: org.eclipse.jface.preference,
org.osgi.framework
diff --git a/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/build.properties b/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/build.properties
index 3b7db0f69..8e982bda7 100644
--- a/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/build.properties
+++ b/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/build.properties
@@ -3,4 +3,5 @@ output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml,\
- servers/
+ servers/,\
+ syntaxes/
diff --git a/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/plugin.xml b/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/plugin.xml
index 1d912b315..38765bd6c 100644
--- a/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/plugin.xml
+++ b/eclipse-language-servers/org.springframework.boot.ide.cloudfoundry.server/plugin.xml
@@ -28,11 +28,23 @@
+
+
+
+
+
+
+
+
+
+
+ fileTypes
+
+ yaml
+ yml
+ rviz
+ reek
+ clang-format
+ yaml-tmlanguage
+ syntax
+ sublime-syntax
+
+ firstLineMatch
+ ^%YAML( ?1.\d+)?
+ keyEquivalent
+ ^~Y
+ name
+ YAML
+ patterns
+
+
+ include
+ #comment
+
+
+ include
+ #property
+
+
+ include
+ #directive
+
+
+ match
+ ^---
+ name
+ entity.other.document.begin.yaml
+
+
+ match
+ ^\.{3}
+ name
+ entity.other.document.end.yaml
+
+
+ include
+ #node
+
+
+ repository
+
+ block-collection
+
+ patterns
+
+
+ include
+ #block-sequence
+
+
+ include
+ #block-mapping
+
+
+
+ block-mapping
+
+ patterns
+
+
+ include
+ #block-pair
+
+
+
+ block-node
+
+ patterns
+
+
+ include
+ #prototype
+
+
+ include
+ #block-scalar
+
+
+ include
+ #block-collection
+
+
+ include
+ #flow-scalar-plain-out
+
+
+ include
+ #flow-node
+
+
+
+ block-pair
+
+ patterns
+
+
+ begin
+ \?
+ beginCaptures
+
+ 1
+
+ name
+ punctuation.definition.key-value.begin.yaml
+
+
+ end
+ (?=\?)|^ *(:)|(:)
+ endCaptures
+
+ 1
+
+ name
+ punctuation.separator.key-value.mapping.yaml
+
+ 2
+
+ name
+ invalid.illegal.expected-newline.yaml
+
+
+ name
+ meta.block-mapping.yaml
+ patterns
+
+
+ include
+ #block-node
+
+
+
+
+ begin
+ (?x)
+ (?=
+ (?x:
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] \S
+ )
+ (
+ [^\s:]
+ | : \S
+ | \s+ (?![#\s])
+ )*
+ \s*
+ :
+ (\s|$)
+ )
+
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ )
+
+ patterns
+
+
+ include
+ #flow-scalar-plain-out-implicit-type
+
+
+ begin
+ (?x)
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] \S
+
+ beginCaptures
+
+ 0
+
+ name
+ entity.name.tag.yaml
+
+
+ contentName
+ entity.name.tag.yaml
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ )
+
+ name
+ string.unquoted.plain.out.yaml
+
+
+
+
+ match
+ :(?=\s|$)
+ name
+ punctuation.separator.key-value.mapping.yaml
+
+
+
+ block-scalar
+
+ begin
+ (?:(\|)|(>))([1-9])?([-+])?(.*\n?)
+ beginCaptures
+
+ 1
+
+ name
+ punctuation.definition.block.scalar.literal.yaml
+
+ 2
+
+ name
+ punctuation.definition.block.scalar.folded.yaml
+
+ 3
+
+ name
+ constant.numeric.indentation-indicator.yaml
+
+ 4
+
+ name
+ support.other.chomping-indicator.yaml
+
+ 5
+
+ patterns
+
+
+ include
+ #comment
+
+
+ match
+ .+
+ name
+ invalid.illegal.expected-comment-or-newline.yaml
+
+
+
+
+ end
+ ^(?=\S)|(?!\G)
+ patterns
+
+
+ begin
+ ^([ ]+)(?! )
+ end
+ ^(?!\1|\s*$)
+ name
+ string.unquoted.block.yaml
+
+
+
+ block-sequence
+
+ match
+ (-)( |\t|$)
+ name
+ punctuation.definition.block.sequence.item.yaml
+
+ comment
+
+ begin
+ (?:(^[ \t]*)|[ \t]+)(?=#\p{Print}*$)
+ beginCaptures
+
+ 1
+
+ name
+ punctuation.whitespace.comment.leading.yaml
+
+
+ end
+ (?!\G)
+ patterns
+
+
+ begin
+ #
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.comment.yaml
+
+
+ end
+ \n
+ name
+ comment.line.number-sign.yaml
+
+
+
+ directive
+
+ begin
+ ^%
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.directive.begin.yaml
+
+
+ end
+ (?=$|[ \t]+($|#))
+ name
+ meta.directive.yaml
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ keyword.other.directive.yaml.yaml
+
+ 2
+
+ name
+ constant.numeric.yaml-version.yaml
+
+
+ match
+ \G(YAML)[ \t]+(\d+\.\d+)
+
+
+ captures
+
+ 1
+
+ name
+ keyword.other.directive.tag.yaml
+
+ 2
+
+ name
+ storage.type.tag-handle.yaml
+
+ 3
+
+ name
+ support.type.tag-prefix.yaml
+
+
+ match
+ (?x)
+ \G
+ (TAG)
+ (?:[ \t]+
+ ((?:!(?:[0-9A-Za-z\-]*!)?))
+ (?:[ \t]+ (
+ ! (?x: %\p{XDigit}{2} | [0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]] )*
+ | (?![,!\[\]{}]) (?x: %\p{XDigit}{2} | [0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]] )+
+ )
+ )?
+ )?
+
+
+
+ captures
+
+ 1
+
+ name
+ support.other.directive.reserved.yaml
+
+ 2
+
+ name
+ string.unquoted.directive-name.yaml
+
+ 3
+
+ name
+ string.unquoted.directive-parameter.yaml
+
+
+ match
+ (?x) \G (\w+) (?:[ \t]+ (\w+) (?:[ \t]+ (\w+))? )?
+
+
+ match
+ \S+
+ name
+ invalid.illegal.unrecognized.yaml
+
+
+
+ flow-alias
+
+ captures
+
+ 1
+
+ name
+ keyword.control.flow.alias.yaml
+
+ 2
+
+ name
+ punctuation.definition.alias.yaml
+
+ 3
+
+ name
+ variable.other.alias.yaml
+
+ 4
+
+ name
+ invalid.illegal.character.anchor.yaml
+
+
+ match
+ ((\*))([^\s\[\]/{/},]+)([^\s\]},]\S*)?
+
+ flow-collection
+
+ patterns
+
+
+ include
+ #flow-sequence
+
+
+ include
+ #flow-mapping
+
+
+
+ flow-mapping
+
+ begin
+ \{
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.mapping.begin.yaml
+
+
+ end
+ \}
+ endCaptures
+
+ 0
+
+ name
+ punctuation.definition.mapping.end.yaml
+
+
+ name
+ meta.flow-mapping.yaml
+ patterns
+
+
+ include
+ #prototype
+
+
+ match
+ ,
+ name
+ punctuation.separator.mapping.yaml
+
+
+ include
+ #flow-pair
+
+
+
+ flow-node
+
+ patterns
+
+
+ include
+ #prototype
+
+
+ include
+ #flow-alias
+
+
+ include
+ #flow-collection
+
+
+ include
+ #flow-scalar
+
+
+
+ flow-pair
+
+ patterns
+
+
+ begin
+ \?
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.key-value.begin.yaml
+
+
+ end
+ (?=[},\]])
+ name
+ meta.flow-pair.explicit.yaml
+ patterns
+
+
+ include
+ #prototype
+
+
+ include
+ #flow-pair
+
+
+ include
+ #flow-node
+
+
+ begin
+ :(?=\s|$|[\[\]{},])
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.separator.key-value.mapping.yaml
+
+
+ end
+ (?=[},\]])
+ patterns
+
+
+ include
+ #flow-value
+
+
+
+
+
+
+ begin
+ (?x)
+ (?=
+ (?:
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] [^\s[\[\]{},]]
+ )
+ (
+ [^\s:[\[\]{},]]
+ | : [^\s[\[\]{},]]
+ | \s+ (?![#\s])
+ )*
+ \s*
+ :
+ (\s|$)
+ )
+
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ | \s* : [\[\]{},]
+ | \s* [\[\]{},]
+ )
+
+ name
+ meta.flow-pair.key.yaml
+ patterns
+
+
+ include
+ #flow-scalar-plain-in-implicit-type
+
+
+ begin
+ (?x)
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] [^\s[\[\]{},]]
+
+ beginCaptures
+
+ 0
+
+ name
+ entity.name.tag.yaml
+
+
+ contentName
+ entity.name.tag.yaml
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ | \s* : [\[\]{},]
+ | \s* [\[\]{},]
+ )
+
+ name
+ string.unquoted.plain.in.yaml
+
+
+
+
+ include
+ #flow-node
+
+
+ begin
+ :(?=\s|$|[\[\]{},])
+ captures
+
+ 0
+
+ name
+ punctuation.separator.key-value.mapping.yaml
+
+
+ end
+ (?=[},\]])
+ name
+ meta.flow-pair.yaml
+ patterns
+
+
+ include
+ #flow-value
+
+
+
+
+
+ flow-scalar
+
+ patterns
+
+
+ include
+ #flow-scalar-double-quoted
+
+
+ include
+ #flow-scalar-single-quoted
+
+
+ include
+ #flow-scalar-plain-in
+
+
+
+ flow-scalar-double-quoted
+
+ begin
+ "
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.string.begin.yaml
+
+
+ end
+ "
+ endCaptures
+
+ 0
+
+ name
+ punctuation.definition.string.end.yaml
+
+
+ name
+ string.quoted.double.yaml
+ patterns
+
+
+ match
+ \\([0abtnvfre "/\\N_Lp]|x\d\d|u\d{4}|U\d{8})
+ name
+ constant.character.escape.yaml
+
+
+ match
+ \\\n
+ name
+ constant.character.escape.double-quoted.newline.yaml
+
+
+
+ flow-scalar-plain-in
+
+ patterns
+
+
+ include
+ #flow-scalar-plain-in-implicit-type
+
+
+ begin
+ (?x)
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] [^\s[\[\]{},]]
+
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ | \s* : [\[\]{},]
+ | \s* [\[\]{},]
+ )
+
+ name
+ string.unquoted.plain.in.yaml
+
+
+
+ flow-scalar-plain-in-implicit-type
+
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ constant.language.null.yaml
+
+ 2
+
+ name
+ constant.language.boolean.yaml
+
+ 3
+
+ name
+ constant.numeric.integer.yaml
+
+ 4
+
+ name
+ constant.numeric.float.yaml
+
+ 5
+
+ name
+ constant.other.timestamp.yaml
+
+ 6
+
+ name
+ constant.language.value.yaml
+
+ 7
+
+ name
+ constant.language.merge.yaml
+
+
+ match
+ (?x)
+ (?x:
+ (null|Null|NULL|~)
+ | (y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)
+ | (
+ (?:
+ [-+]? 0b [0-1_]+ # (base 2)
+ | [-+]? 0 [0-7_]+ # (base 8)
+ | [-+]? (?: 0|[1-9][0-9_]*) # (base 10)
+ | [-+]? 0x [0-9a-fA-F_]+ # (base 16)
+ | [-+]? [1-9] [0-9_]* (?: :[0-5]?[0-9])+ # (base 60)
+ )
+ )
+ | (
+ (?x:
+ [-+]? (?: [0-9] [0-9_]*)? \. [0-9.]* (?: [eE] [-+] [0-9]+)? # (base 10)
+ | [-+]? [0-9] [0-9_]* (?: :[0-5]?[0-9])+ \. [0-9_]* # (base 60)
+ | [-+]? \. (?: inf|Inf|INF) # (infinity)
+ | \. (?: nan|NaN|NAN) # (not a number)
+ )
+ )
+ | (
+ (?x:
+ \d{4} - \d{2} - \d{2} # (y-m-d)
+ | \d{4} # (year)
+ - \d{1,2} # (month)
+ - \d{1,2} # (day)
+ (?: [Tt] | [ \t]+) \d{1,2} # (hour)
+ : \d{2} # (minute)
+ : \d{2} # (second)
+ (?: \.\d*)? # (fraction)
+ (?:
+ (?:[ \t]*) Z
+ | [-+] \d{1,2} (?: :\d{1,2})?
+ )? # (time zone)
+ )
+ )
+ | (=)
+ | (<<)
+ )
+ (?:
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ | \s* : [\[\]{},]
+ | \s* [\[\]{},]
+ )
+ )
+
+
+
+
+ flow-scalar-plain-out
+
+ patterns
+
+
+ include
+ #flow-scalar-plain-out-implicit-type
+
+
+ begin
+ (?x)
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] \S
+
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ )
+
+ name
+ string.unquoted.plain.out.yaml
+
+
+
+ flow-scalar-plain-out-implicit-type
+
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ constant.language.null.yaml
+
+ 2
+
+ name
+ constant.language.boolean.yaml
+
+ 3
+
+ name
+ constant.numeric.integer.yaml
+
+ 4
+
+ name
+ constant.numeric.float.yaml
+
+ 5
+
+ name
+ constant.other.timestamp.yaml
+
+ 6
+
+ name
+ constant.language.value.yaml
+
+ 7
+
+ name
+ constant.language.merge.yaml
+
+
+ match
+ (?x)
+ (?x:
+ (null|Null|NULL|~)
+ | (y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)
+ | (
+ (?:
+ [-+]? 0b [0-1_]+ # (base 2)
+ | [-+]? 0 [0-7_]+ # (base 8)
+ | [-+]? (?: 0|[1-9][0-9_]*) # (base 10)
+ | [-+]? 0x [0-9a-fA-F_]+ # (base 16)
+ | [-+]? [1-9] [0-9_]* (?: :[0-5]?[0-9])+ # (base 60)
+ )
+ )
+ | (
+ (?x:
+ [-+]? (?: [0-9] [0-9_]*)? \. [0-9.]* (?: [eE] [-+] [0-9]+)? # (base 10)
+ | [-+]? [0-9] [0-9_]* (?: :[0-5]?[0-9])+ \. [0-9_]* # (base 60)
+ | [-+]? \. (?: inf|Inf|INF) # (infinity)
+ | \. (?: nan|NaN|NAN) # (not a number)
+ )
+ )
+ | (
+ (?x:
+ \d{4} - \d{2} - \d{2} # (y-m-d)
+ | \d{4} # (year)
+ - \d{1,2} # (month)
+ - \d{1,2} # (day)
+ (?: [Tt] | [ \t]+) \d{1,2} # (hour)
+ : \d{2} # (minute)
+ : \d{2} # (second)
+ (?: \.\d*)? # (fraction)
+ (?:
+ (?:[ \t]*) Z
+ | [-+] \d{1,2} (?: :\d{1,2})?
+ )? # (time zone)
+ )
+ )
+ | (=)
+ | (<<)
+ )
+ (?x:
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ )
+ )
+
+
+
+
+ flow-scalar-single-quoted
+
+ begin
+ '
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.string.begin.yaml
+
+
+ end
+ '(?!')
+ endCaptures
+
+ 0
+
+ name
+ punctuation.definition.string.end.yaml
+
+
+ name
+ string.quoted.single.yaml
+ patterns
+
+
+ match
+ ''
+ name
+ constant.character.escape.single-quoted.yaml
+
+
+
+ flow-sequence
+
+ begin
+ \[
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.sequence.begin.yaml
+
+
+ end
+ \]
+ endCaptures
+
+ 0
+
+ name
+ punctuation.definition.sequence.end.yaml
+
+
+ name
+ meta.flow-sequence.yaml
+ patterns
+
+
+ include
+ #prototype
+
+
+ match
+ ,
+ name
+ punctuation.separator.sequence.yaml
+
+
+ include
+ #flow-pair
+
+
+ include
+ #flow-node
+
+
+
+ flow-value
+
+ patterns
+
+
+ begin
+ \G(?![},\]])
+ end
+ (?=[},\]])
+ name
+ meta.flow-pair.value.yaml
+ patterns
+
+
+ include
+ #flow-node
+
+
+
+
+
+ node
+
+ patterns
+
+
+ include
+ #block-node
+
+
+
+ property
+
+ begin
+ (?=!|&)
+ end
+ (?!\G)
+ name
+ meta.property.yaml
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ keyword.control.property.anchor.yaml
+
+ 2
+
+ name
+ punctuation.definition.anchor.yaml
+
+ 3
+
+ name
+ entity.name.type.anchor.yaml
+
+ 4
+
+ name
+ invalid.illegal.character.anchor.yaml
+
+
+ match
+ \G((&))([^\s\[\]/{/},]+)(\S+)?
+
+
+ match
+ (?x)
+ \G
+ (?:
+ ! < (?: %\p{XDigit}{2} | [0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]] )+ >
+ | (?:!(?:[0-9A-Za-z\-]*!)?) (?: %\p{XDigit}{2} | [0-9A-Za-z\-#;/?:@&=+$_.~*'()] )+
+ | !
+ )
+ (?=\ |\t|$)
+
+ name
+ storage.type.tag-handle.yaml
+
+
+ match
+ \S+
+ name
+ invalid.illegal.tag-handle.yaml
+
+
+
+ prototype
+
+ patterns
+
+
+ include
+ #comment
+
+
+ include
+ #property
+
+
+
+
+ scopeName
+ source.yaml
+ uuid
+ 686AD6AE-33F3-4493-9512-9E9FC1D5417F
+
+
diff --git a/eclipse-language-servers/org.springframework.boot.ide.properties.servers/META-INF/MANIFEST.MF b/eclipse-language-servers/org.springframework.boot.ide.properties.servers/META-INF/MANIFEST.MF
index 5ddd9b338..b1e8e650a 100644
--- a/eclipse-language-servers/org.springframework.boot.ide.properties.servers/META-INF/MANIFEST.MF
+++ b/eclipse-language-servers/org.springframework.boot.ide.properties.servers/META-INF/MANIFEST.MF
@@ -10,6 +10,7 @@ Require-Bundle: org.eclipse.jdt.launching;bundle-version="3.9.0",
org.eclipse.ui.genericeditor;bundle-version="1.0.0",
org.eclipse.jface.text;bundle-version="3.11.100",
org.eclipse.jdt.ui;bundle-version="3.13.0",
- org.dadacoalition.yedit;bundle-version="1.0.18"
+ org.eclipse.tm4e.core;bundle-version="1.0.0",
+ org.eclipse.tm4e.ui;bundle-version="1.0.0"
Import-Package: org.eclipse.jface.preference,
org.osgi.framework
diff --git a/eclipse-language-servers/org.springframework.boot.ide.properties.servers/build.properties b/eclipse-language-servers/org.springframework.boot.ide.properties.servers/build.properties
index 3b7db0f69..8e982bda7 100644
--- a/eclipse-language-servers/org.springframework.boot.ide.properties.servers/build.properties
+++ b/eclipse-language-servers/org.springframework.boot.ide.properties.servers/build.properties
@@ -3,4 +3,5 @@ output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml,\
- servers/
+ servers/,\
+ syntaxes/
diff --git a/eclipse-language-servers/org.springframework.boot.ide.properties.servers/plugin.xml b/eclipse-language-servers/org.springframework.boot.ide.properties.servers/plugin.xml
index 145e65fe9..b00ee1d61 100644
--- a/eclipse-language-servers/org.springframework.boot.ide.properties.servers/plugin.xml
+++ b/eclipse-language-servers/org.springframework.boot.ide.properties.servers/plugin.xml
@@ -59,11 +59,23 @@
+
+
+
+
+
+
+
+
+
+
+ fileTypes
+
+ yaml
+ yml
+ rviz
+ reek
+ clang-format
+ yaml-tmlanguage
+ syntax
+ sublime-syntax
+
+ firstLineMatch
+ ^%YAML( ?1.\d+)?
+ keyEquivalent
+ ^~Y
+ name
+ YAML
+ patterns
+
+
+ include
+ #comment
+
+
+ include
+ #property
+
+
+ include
+ #directive
+
+
+ match
+ ^---
+ name
+ entity.other.document.begin.yaml
+
+
+ match
+ ^\.{3}
+ name
+ entity.other.document.end.yaml
+
+
+ include
+ #node
+
+
+ repository
+
+ block-collection
+
+ patterns
+
+
+ include
+ #block-sequence
+
+
+ include
+ #block-mapping
+
+
+
+ block-mapping
+
+ patterns
+
+
+ include
+ #block-pair
+
+
+
+ block-node
+
+ patterns
+
+
+ include
+ #prototype
+
+
+ include
+ #block-scalar
+
+
+ include
+ #block-collection
+
+
+ include
+ #flow-scalar-plain-out
+
+
+ include
+ #flow-node
+
+
+
+ block-pair
+
+ patterns
+
+
+ begin
+ \?
+ beginCaptures
+
+ 1
+
+ name
+ punctuation.definition.key-value.begin.yaml
+
+
+ end
+ (?=\?)|^ *(:)|(:)
+ endCaptures
+
+ 1
+
+ name
+ punctuation.separator.key-value.mapping.yaml
+
+ 2
+
+ name
+ invalid.illegal.expected-newline.yaml
+
+
+ name
+ meta.block-mapping.yaml
+ patterns
+
+
+ include
+ #block-node
+
+
+
+
+ begin
+ (?x)
+ (?=
+ (?x:
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] \S
+ )
+ (
+ [^\s:]
+ | : \S
+ | \s+ (?![#\s])
+ )*
+ \s*
+ :
+ (\s|$)
+ )
+
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ )
+
+ patterns
+
+
+ include
+ #flow-scalar-plain-out-implicit-type
+
+
+ begin
+ (?x)
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] \S
+
+ beginCaptures
+
+ 0
+
+ name
+ entity.name.tag.yaml
+
+
+ contentName
+ entity.name.tag.yaml
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ )
+
+ name
+ string.unquoted.plain.out.yaml
+
+
+
+
+ match
+ :(?=\s|$)
+ name
+ punctuation.separator.key-value.mapping.yaml
+
+
+
+ block-scalar
+
+ begin
+ (?:(\|)|(>))([1-9])?([-+])?(.*\n?)
+ beginCaptures
+
+ 1
+
+ name
+ punctuation.definition.block.scalar.literal.yaml
+
+ 2
+
+ name
+ punctuation.definition.block.scalar.folded.yaml
+
+ 3
+
+ name
+ constant.numeric.indentation-indicator.yaml
+
+ 4
+
+ name
+ support.other.chomping-indicator.yaml
+
+ 5
+
+ patterns
+
+
+ include
+ #comment
+
+
+ match
+ .+
+ name
+ invalid.illegal.expected-comment-or-newline.yaml
+
+
+
+
+ end
+ ^(?=\S)|(?!\G)
+ patterns
+
+
+ begin
+ ^([ ]+)(?! )
+ end
+ ^(?!\1|\s*$)
+ name
+ string.unquoted.block.yaml
+
+
+
+ block-sequence
+
+ match
+ (-)( |\t|$)
+ name
+ punctuation.definition.block.sequence.item.yaml
+
+ comment
+
+ begin
+ (?:(^[ \t]*)|[ \t]+)(?=#\p{Print}*$)
+ beginCaptures
+
+ 1
+
+ name
+ punctuation.whitespace.comment.leading.yaml
+
+
+ end
+ (?!\G)
+ patterns
+
+
+ begin
+ #
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.comment.yaml
+
+
+ end
+ \n
+ name
+ comment.line.number-sign.yaml
+
+
+
+ directive
+
+ begin
+ ^%
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.directive.begin.yaml
+
+
+ end
+ (?=$|[ \t]+($|#))
+ name
+ meta.directive.yaml
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ keyword.other.directive.yaml.yaml
+
+ 2
+
+ name
+ constant.numeric.yaml-version.yaml
+
+
+ match
+ \G(YAML)[ \t]+(\d+\.\d+)
+
+
+ captures
+
+ 1
+
+ name
+ keyword.other.directive.tag.yaml
+
+ 2
+
+ name
+ storage.type.tag-handle.yaml
+
+ 3
+
+ name
+ support.type.tag-prefix.yaml
+
+
+ match
+ (?x)
+ \G
+ (TAG)
+ (?:[ \t]+
+ ((?:!(?:[0-9A-Za-z\-]*!)?))
+ (?:[ \t]+ (
+ ! (?x: %\p{XDigit}{2} | [0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]] )*
+ | (?![,!\[\]{}]) (?x: %\p{XDigit}{2} | [0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]] )+
+ )
+ )?
+ )?
+
+
+
+ captures
+
+ 1
+
+ name
+ support.other.directive.reserved.yaml
+
+ 2
+
+ name
+ string.unquoted.directive-name.yaml
+
+ 3
+
+ name
+ string.unquoted.directive-parameter.yaml
+
+
+ match
+ (?x) \G (\w+) (?:[ \t]+ (\w+) (?:[ \t]+ (\w+))? )?
+
+
+ match
+ \S+
+ name
+ invalid.illegal.unrecognized.yaml
+
+
+
+ flow-alias
+
+ captures
+
+ 1
+
+ name
+ keyword.control.flow.alias.yaml
+
+ 2
+
+ name
+ punctuation.definition.alias.yaml
+
+ 3
+
+ name
+ variable.other.alias.yaml
+
+ 4
+
+ name
+ invalid.illegal.character.anchor.yaml
+
+
+ match
+ ((\*))([^\s\[\]/{/},]+)([^\s\]},]\S*)?
+
+ flow-collection
+
+ patterns
+
+
+ include
+ #flow-sequence
+
+
+ include
+ #flow-mapping
+
+
+
+ flow-mapping
+
+ begin
+ \{
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.mapping.begin.yaml
+
+
+ end
+ \}
+ endCaptures
+
+ 0
+
+ name
+ punctuation.definition.mapping.end.yaml
+
+
+ name
+ meta.flow-mapping.yaml
+ patterns
+
+
+ include
+ #prototype
+
+
+ match
+ ,
+ name
+ punctuation.separator.mapping.yaml
+
+
+ include
+ #flow-pair
+
+
+
+ flow-node
+
+ patterns
+
+
+ include
+ #prototype
+
+
+ include
+ #flow-alias
+
+
+ include
+ #flow-collection
+
+
+ include
+ #flow-scalar
+
+
+
+ flow-pair
+
+ patterns
+
+
+ begin
+ \?
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.key-value.begin.yaml
+
+
+ end
+ (?=[},\]])
+ name
+ meta.flow-pair.explicit.yaml
+ patterns
+
+
+ include
+ #prototype
+
+
+ include
+ #flow-pair
+
+
+ include
+ #flow-node
+
+
+ begin
+ :(?=\s|$|[\[\]{},])
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.separator.key-value.mapping.yaml
+
+
+ end
+ (?=[},\]])
+ patterns
+
+
+ include
+ #flow-value
+
+
+
+
+
+
+ begin
+ (?x)
+ (?=
+ (?:
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] [^\s[\[\]{},]]
+ )
+ (
+ [^\s:[\[\]{},]]
+ | : [^\s[\[\]{},]]
+ | \s+ (?![#\s])
+ )*
+ \s*
+ :
+ (\s|$)
+ )
+
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ | \s* : [\[\]{},]
+ | \s* [\[\]{},]
+ )
+
+ name
+ meta.flow-pair.key.yaml
+ patterns
+
+
+ include
+ #flow-scalar-plain-in-implicit-type
+
+
+ begin
+ (?x)
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] [^\s[\[\]{},]]
+
+ beginCaptures
+
+ 0
+
+ name
+ entity.name.tag.yaml
+
+
+ contentName
+ entity.name.tag.yaml
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ | \s* : [\[\]{},]
+ | \s* [\[\]{},]
+ )
+
+ name
+ string.unquoted.plain.in.yaml
+
+
+
+
+ include
+ #flow-node
+
+
+ begin
+ :(?=\s|$|[\[\]{},])
+ captures
+
+ 0
+
+ name
+ punctuation.separator.key-value.mapping.yaml
+
+
+ end
+ (?=[},\]])
+ name
+ meta.flow-pair.yaml
+ patterns
+
+
+ include
+ #flow-value
+
+
+
+
+
+ flow-scalar
+
+ patterns
+
+
+ include
+ #flow-scalar-double-quoted
+
+
+ include
+ #flow-scalar-single-quoted
+
+
+ include
+ #flow-scalar-plain-in
+
+
+
+ flow-scalar-double-quoted
+
+ begin
+ "
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.string.begin.yaml
+
+
+ end
+ "
+ endCaptures
+
+ 0
+
+ name
+ punctuation.definition.string.end.yaml
+
+
+ name
+ string.quoted.double.yaml
+ patterns
+
+
+ match
+ \\([0abtnvfre "/\\N_Lp]|x\d\d|u\d{4}|U\d{8})
+ name
+ constant.character.escape.yaml
+
+
+ match
+ \\\n
+ name
+ constant.character.escape.double-quoted.newline.yaml
+
+
+
+ flow-scalar-plain-in
+
+ patterns
+
+
+ include
+ #flow-scalar-plain-in-implicit-type
+
+
+ begin
+ (?x)
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] [^\s[\[\]{},]]
+
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ | \s* : [\[\]{},]
+ | \s* [\[\]{},]
+ )
+
+ name
+ string.unquoted.plain.in.yaml
+
+
+
+ flow-scalar-plain-in-implicit-type
+
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ constant.language.null.yaml
+
+ 2
+
+ name
+ constant.language.boolean.yaml
+
+ 3
+
+ name
+ constant.numeric.integer.yaml
+
+ 4
+
+ name
+ constant.numeric.float.yaml
+
+ 5
+
+ name
+ constant.other.timestamp.yaml
+
+ 6
+
+ name
+ constant.language.value.yaml
+
+ 7
+
+ name
+ constant.language.merge.yaml
+
+
+ match
+ (?x)
+ (?x:
+ (null|Null|NULL|~)
+ | (y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)
+ | (
+ (?:
+ [-+]? 0b [0-1_]+ # (base 2)
+ | [-+]? 0 [0-7_]+ # (base 8)
+ | [-+]? (?: 0|[1-9][0-9_]*) # (base 10)
+ | [-+]? 0x [0-9a-fA-F_]+ # (base 16)
+ | [-+]? [1-9] [0-9_]* (?: :[0-5]?[0-9])+ # (base 60)
+ )
+ )
+ | (
+ (?x:
+ [-+]? (?: [0-9] [0-9_]*)? \. [0-9.]* (?: [eE] [-+] [0-9]+)? # (base 10)
+ | [-+]? [0-9] [0-9_]* (?: :[0-5]?[0-9])+ \. [0-9_]* # (base 60)
+ | [-+]? \. (?: inf|Inf|INF) # (infinity)
+ | \. (?: nan|NaN|NAN) # (not a number)
+ )
+ )
+ | (
+ (?x:
+ \d{4} - \d{2} - \d{2} # (y-m-d)
+ | \d{4} # (year)
+ - \d{1,2} # (month)
+ - \d{1,2} # (day)
+ (?: [Tt] | [ \t]+) \d{1,2} # (hour)
+ : \d{2} # (minute)
+ : \d{2} # (second)
+ (?: \.\d*)? # (fraction)
+ (?:
+ (?:[ \t]*) Z
+ | [-+] \d{1,2} (?: :\d{1,2})?
+ )? # (time zone)
+ )
+ )
+ | (=)
+ | (<<)
+ )
+ (?:
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ | \s* : [\[\]{},]
+ | \s* [\[\]{},]
+ )
+ )
+
+
+
+
+ flow-scalar-plain-out
+
+ patterns
+
+
+ include
+ #flow-scalar-plain-out-implicit-type
+
+
+ begin
+ (?x)
+ [^\s[-?:,\[\]{}#&*!|>'"%@`]]
+ | [?:-] \S
+
+ end
+ (?x)
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ )
+
+ name
+ string.unquoted.plain.out.yaml
+
+
+
+ flow-scalar-plain-out-implicit-type
+
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ constant.language.null.yaml
+
+ 2
+
+ name
+ constant.language.boolean.yaml
+
+ 3
+
+ name
+ constant.numeric.integer.yaml
+
+ 4
+
+ name
+ constant.numeric.float.yaml
+
+ 5
+
+ name
+ constant.other.timestamp.yaml
+
+ 6
+
+ name
+ constant.language.value.yaml
+
+ 7
+
+ name
+ constant.language.merge.yaml
+
+
+ match
+ (?x)
+ (?x:
+ (null|Null|NULL|~)
+ | (y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)
+ | (
+ (?:
+ [-+]? 0b [0-1_]+ # (base 2)
+ | [-+]? 0 [0-7_]+ # (base 8)
+ | [-+]? (?: 0|[1-9][0-9_]*) # (base 10)
+ | [-+]? 0x [0-9a-fA-F_]+ # (base 16)
+ | [-+]? [1-9] [0-9_]* (?: :[0-5]?[0-9])+ # (base 60)
+ )
+ )
+ | (
+ (?x:
+ [-+]? (?: [0-9] [0-9_]*)? \. [0-9.]* (?: [eE] [-+] [0-9]+)? # (base 10)
+ | [-+]? [0-9] [0-9_]* (?: :[0-5]?[0-9])+ \. [0-9_]* # (base 60)
+ | [-+]? \. (?: inf|Inf|INF) # (infinity)
+ | \. (?: nan|NaN|NAN) # (not a number)
+ )
+ )
+ | (
+ (?x:
+ \d{4} - \d{2} - \d{2} # (y-m-d)
+ | \d{4} # (year)
+ - \d{1,2} # (month)
+ - \d{1,2} # (day)
+ (?: [Tt] | [ \t]+) \d{1,2} # (hour)
+ : \d{2} # (minute)
+ : \d{2} # (second)
+ (?: \.\d*)? # (fraction)
+ (?:
+ (?:[ \t]*) Z
+ | [-+] \d{1,2} (?: :\d{1,2})?
+ )? # (time zone)
+ )
+ )
+ | (=)
+ | (<<)
+ )
+ (?x:
+ (?=
+ \s* $
+ | \s+ \#
+ | \s* : (\s|$)
+ )
+ )
+
+
+
+
+ flow-scalar-single-quoted
+
+ begin
+ '
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.string.begin.yaml
+
+
+ end
+ '(?!')
+ endCaptures
+
+ 0
+
+ name
+ punctuation.definition.string.end.yaml
+
+
+ name
+ string.quoted.single.yaml
+ patterns
+
+
+ match
+ ''
+ name
+ constant.character.escape.single-quoted.yaml
+
+
+
+ flow-sequence
+
+ begin
+ \[
+ beginCaptures
+
+ 0
+
+ name
+ punctuation.definition.sequence.begin.yaml
+
+
+ end
+ \]
+ endCaptures
+
+ 0
+
+ name
+ punctuation.definition.sequence.end.yaml
+
+
+ name
+ meta.flow-sequence.yaml
+ patterns
+
+
+ include
+ #prototype
+
+
+ match
+ ,
+ name
+ punctuation.separator.sequence.yaml
+
+
+ include
+ #flow-pair
+
+
+ include
+ #flow-node
+
+
+
+ flow-value
+
+ patterns
+
+
+ begin
+ \G(?![},\]])
+ end
+ (?=[},\]])
+ name
+ meta.flow-pair.value.yaml
+ patterns
+
+
+ include
+ #flow-node
+
+
+
+
+
+ node
+
+ patterns
+
+
+ include
+ #block-node
+
+
+
+ property
+
+ begin
+ (?=!|&)
+ end
+ (?!\G)
+ name
+ meta.property.yaml
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ keyword.control.property.anchor.yaml
+
+ 2
+
+ name
+ punctuation.definition.anchor.yaml
+
+ 3
+
+ name
+ entity.name.type.anchor.yaml
+
+ 4
+
+ name
+ invalid.illegal.character.anchor.yaml
+
+
+ match
+ \G((&))([^\s\[\]/{/},]+)(\S+)?
+
+
+ match
+ (?x)
+ \G
+ (?:
+ ! < (?: %\p{XDigit}{2} | [0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]] )+ >
+ | (?:!(?:[0-9A-Za-z\-]*!)?) (?: %\p{XDigit}{2} | [0-9A-Za-z\-#;/?:@&=+$_.~*'()] )+
+ | !
+ )
+ (?=\ |\t|$)
+
+ name
+ storage.type.tag-handle.yaml
+
+
+ match
+ \S+
+ name
+ invalid.illegal.tag-handle.yaml
+
+
+
+ prototype
+
+ patterns
+
+
+ include
+ #comment
+
+
+ include
+ #property
+
+
+
+
+ scopeName
+ source.yaml
+ uuid
+ 686AD6AE-33F3-4493-9512-9E9FC1D5417F
+
+
diff --git a/eclipse-language-servers/org.springframework.boot.ide.servers.repository/category.xml b/eclipse-language-servers/org.springframework.boot.ide.servers.repository/category.xml
index 368ba11d3..d11905dad 100644
--- a/eclipse-language-servers/org.springframework.boot.ide.servers.repository/category.xml
+++ b/eclipse-language-servers/org.springframework.boot.ide.servers.repository/category.xml
@@ -12,6 +12,10 @@
+
+
+
+
@@ -28,10 +32,6 @@
-
-
-
-
diff --git a/eclipse-language-servers/pom.xml b/eclipse-language-servers/pom.xml
index e563a1d63..bd1f778a1 100644
--- a/eclipse-language-servers/pom.xml
+++ b/eclipse-language-servers/pom.xml
@@ -76,11 +76,6 @@
p2
http://download.eclipse.org/staging/oxygen/
-
- oxygen-nightly
- p2
- http://download.eclipse.org/eclipse/updates/4.7-N-builds/
-
orbit
p2
@@ -92,9 +87,9 @@
http://download.eclipse.org/lsp4e/snapshots/
- yedit
+ tm4e
p2
- http://dist.springsource.com/release/TOOLS/third-party/yedit
+ http://oss.opensagres.fr/textmate/1.0.0-SNAPSHOT/