Skip to content

Commit

Permalink
Merge pull request #3864 from yuri1969/yaml-fixes
Browse files Browse the repository at this point in the history
Various YAML improvements
  • Loading branch information
hediet authored Mar 27, 2023
2 parents ae158a2 + 788b6a2 commit f3cac1f
Show file tree
Hide file tree
Showing 2 changed files with 195 additions and 2 deletions.
193 changes: 193 additions & 0 deletions src/basic-languages/yaml/yaml.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,7 @@ testTokenization('yaml', [
{ startIndex: 4, type: 'operators.yaml' },
{ startIndex: 5, type: 'white.yaml' },
{ startIndex: 6, type: 'string.yaml' },
{ startIndex: 28, type: 'white.yaml' },
{ startIndex: 29, type: 'comment.yaml' }
]
}
Expand All @@ -470,8 +471,200 @@ testTokenization('yaml', [
{ startIndex: 6, type: 'operators.yaml' },
{ startIndex: 7, type: 'white.yaml' },
{ startIndex: 8, type: 'string.yaml' },
{ startIndex: 9, type: 'white.yaml' },
{ startIndex: 10, type: 'comment.yaml' }
]
}
],

// ': ' in double-quoted Value
[
{
line: 'key: "va: lue"',
tokens: [
{
startIndex: 0,
type: 'type.yaml'
},
{
startIndex: 3,
type: 'operators.yaml'
},
{
startIndex: 4,
type: 'white.yaml'
},
{
startIndex: 5,
type: 'string.yaml'
}
]
}
],

// ': ' in single-quoted Value
[
{
line: "key: 'va: lue'",
tokens: [
{
startIndex: 0,
type: 'type.yaml'
},
{
startIndex: 3,
type: 'operators.yaml'
},
{
startIndex: 4,
type: 'white.yaml'
},
{
startIndex: 5,
type: 'string.yaml'
}
]
}
],

// '#' in single-quoted Value
[
{
line: "key: 'va#lue'",
tokens: [
{
startIndex: 0,
type: 'type.yaml'
},
{
startIndex: 3,
type: 'operators.yaml'
},
{
startIndex: 4,
type: 'white.yaml'
},
{
startIndex: 5,
type: 'string.yaml'
}
]
}
],

// '#' in double-quoted Value
[
{
line: 'key: "va#lue"',
tokens: [
{
startIndex: 0,
type: 'type.yaml'
},
{
startIndex: 3,
type: 'operators.yaml'
},
{
startIndex: 4,
type: 'white.yaml'
},
{
startIndex: 5,
type: 'string.yaml'
}
]
}
],

// '#' in Value
[
{
line: 'key: va#lue',
tokens: [
{
startIndex: 0,
type: 'type.yaml'
},
{
startIndex: 3,
type: 'operators.yaml'
},
{
startIndex: 4,
type: 'white.yaml'
},
{
startIndex: 5,
type: 'string.yaml'
}
]
}
],

// Comment following Value
[
{
line: 'key: value #comment',
tokens: [
{
startIndex: 0,
type: 'type.yaml'
},
{
startIndex: 3,
type: 'operators.yaml'
},
{
startIndex: 4,
type: 'white.yaml'
},
{
startIndex: 5,
type: 'string.yaml'
},
{
startIndex: 10,
type: 'white.yaml'
},
{
startIndex: 11,
type: 'comment.yaml'
}
]
}
],

// ': ' in Comment following Value
[
{
line: 'key: value #comment: also comment',
tokens: [
{
startIndex: 0,
type: 'type.yaml'
},
{
startIndex: 3,
type: 'operators.yaml'
},
{
startIndex: 4,
type: 'white.yaml'
},
{
startIndex: 5,
type: 'string.yaml'
},
{
startIndex: 10,
type: 'white.yaml'
},
{
startIndex: 11,
type: 'comment.yaml'
}
]
}
]
]);
4 changes: 2 additions & 2 deletions src/basic-languages/yaml/yaml.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,13 @@ export const language = <languages.IMonarchLanguage>{
[/@numberDate(?![ \t]*\S+)/, 'number.date'],

// Key:Value pair
[/(".*?"|'.*?'|.*?)([ \t]*)(:)( |$)/, ['type', 'white', 'operators', 'white']],
[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/, ['type', 'white', 'operators', 'white']],

{ include: '@flowScalars' },

// String nodes
[
/[^#]+/,
/.+?(?=(\s+#|$))/,
{
cases: {
'@keywords': 'keyword',
Expand Down

0 comments on commit f3cac1f

Please sign in to comment.