mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 13:55:41 +01:00
Update Elixir tokenization of sigil modifiers
This commit is contained in:
parent
3f9b0c5573
commit
10bce38a76
2 changed files with 18 additions and 6 deletions
|
|
@ -314,6 +314,17 @@ testTokenization('elixir', [
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
// Sigils (modifiers)
|
||||||
|
[
|
||||||
|
{
|
||||||
|
line: '~X/custom/az09',
|
||||||
|
tokens: [
|
||||||
|
{ startIndex: 0, type: 'sigil.delimiter.elixir' },
|
||||||
|
{ startIndex: 3, type: 'sigil.elixir' },
|
||||||
|
{ startIndex: 9, type: 'sigil.delimiter.elixir' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
// Module attributes
|
// Module attributes
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,7 @@ export const language = <languages.IMonarchLanguage>{
|
||||||
sigilSymmetricDelimiter: /"""|'''|"|'|\/|\|/,
|
sigilSymmetricDelimiter: /"""|'''|"|'|\/|\|/,
|
||||||
sigilStartDelimiter: /@sigilSymmetricDelimiter|<|\{|\[|\(/,
|
sigilStartDelimiter: /@sigilSymmetricDelimiter|<|\{|\[|\(/,
|
||||||
sigilEndDelimiter: /@sigilSymmetricDelimiter|>|\}|\]|\)/,
|
sigilEndDelimiter: /@sigilSymmetricDelimiter|>|\}|\]|\)/,
|
||||||
|
sigilModifiers: /[a-zA-Z0-9]*/,
|
||||||
|
|
||||||
decimal: /\d(?:_?\d)*/,
|
decimal: /\d(?:_?\d)*/,
|
||||||
hex: /[0-9a-fA-F](_?[0-9a-fA-F])*/,
|
hex: /[0-9a-fA-F](_?[0-9a-fA-F])*/,
|
||||||
|
|
@ -387,7 +388,7 @@ export const language = <languages.IMonarchLanguage>{
|
||||||
|
|
||||||
'sigilContinue.interpol.s': [
|
'sigilContinue.interpol.s': [
|
||||||
[
|
[
|
||||||
/(@sigilEndDelimiter)[a-zA-Z]*/,
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
{
|
{
|
||||||
cases: {
|
cases: {
|
||||||
'$1==$S5': { token: 'string.delimiter', next: '@pop' },
|
'$1==$S5': { token: 'string.delimiter', next: '@pop' },
|
||||||
|
|
@ -412,7 +413,7 @@ export const language = <languages.IMonarchLanguage>{
|
||||||
// Ignore escaped sigil end
|
// Ignore escaped sigil end
|
||||||
[/(^|[^\\])\\@sigilEndDelimiter/, 'string'],
|
[/(^|[^\\])\\@sigilEndDelimiter/, 'string'],
|
||||||
[
|
[
|
||||||
/(@sigilEndDelimiter)[a-zA-Z]*/,
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
{
|
{
|
||||||
cases: {
|
cases: {
|
||||||
'$1==$S5': { token: 'string.delimiter', next: '@pop' },
|
'$1==$S5': { token: 'string.delimiter', next: '@pop' },
|
||||||
|
|
@ -435,7 +436,7 @@ export const language = <languages.IMonarchLanguage>{
|
||||||
|
|
||||||
'sigilContinue.interpol.r': [
|
'sigilContinue.interpol.r': [
|
||||||
[
|
[
|
||||||
/(@sigilEndDelimiter)[a-zA-Z]*/,
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
{
|
{
|
||||||
cases: {
|
cases: {
|
||||||
'$1==$S5': { token: 'regexp.delimiter', next: '@pop' },
|
'$1==$S5': { token: 'regexp.delimiter', next: '@pop' },
|
||||||
|
|
@ -460,7 +461,7 @@ export const language = <languages.IMonarchLanguage>{
|
||||||
// Ignore escaped sigil end
|
// Ignore escaped sigil end
|
||||||
[/(^|[^\\])\\@sigilEndDelimiter/, 'regexp'],
|
[/(^|[^\\])\\@sigilEndDelimiter/, 'regexp'],
|
||||||
[
|
[
|
||||||
/(@sigilEndDelimiter)[a-zA-Z]*/,
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
{
|
{
|
||||||
cases: {
|
cases: {
|
||||||
'$1==$S5': { token: 'regexp.delimiter', next: '@pop' },
|
'$1==$S5': { token: 'regexp.delimiter', next: '@pop' },
|
||||||
|
|
@ -484,7 +485,7 @@ export const language = <languages.IMonarchLanguage>{
|
||||||
|
|
||||||
'sigilContinue.interpol': [
|
'sigilContinue.interpol': [
|
||||||
[
|
[
|
||||||
/(@sigilEndDelimiter)[a-zA-Z]*/,
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
{
|
{
|
||||||
cases: {
|
cases: {
|
||||||
'$1==$S5': { token: 'sigil.delimiter', next: '@pop' },
|
'$1==$S5': { token: 'sigil.delimiter', next: '@pop' },
|
||||||
|
|
@ -509,7 +510,7 @@ export const language = <languages.IMonarchLanguage>{
|
||||||
// Ignore escaped sigil end
|
// Ignore escaped sigil end
|
||||||
[/(^|[^\\])\\@sigilEndDelimiter/, 'sigil'],
|
[/(^|[^\\])\\@sigilEndDelimiter/, 'sigil'],
|
||||||
[
|
[
|
||||||
/(@sigilEndDelimiter)[a-zA-Z]*/,
|
/(@sigilEndDelimiter)@sigilModifiers/,
|
||||||
{
|
{
|
||||||
cases: {
|
cases: {
|
||||||
'$1==$S5': { token: 'sigil.delimiter', next: '@pop' },
|
'$1==$S5': { token: 'sigil.delimiter', next: '@pop' },
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue