http, ini, pgsql language broken
Opened this issue · 2 comments
The28AWG commented
I found that the syntax I needed was not highlighted in any way. I decided to check the rest of the languages and found more recognition errors.
The28AWG commented
If anyone is interested, here is the revised version for ini:
import 'package:highlight/src/common_modes.dart';
import 'package:highlight/src/mode.dart';
///
String either(List<String> args) => '(' + args.join('|') + ')';
///
String BARE_KEY = r'([A-Za-z0-9_-]+)(\s*\.\s*[A-Za-z0-9_-]+)*';
///
String QUOTED_KEY_DOUBLE_QUOTE = r'"("|[^"])*"';
///
String QUOTED_KEY_SINGLE_QUOTE = r"'[^']*'";
///
String ANY_KEY = either(
[
BARE_KEY,
QUOTED_KEY_DOUBLE_QUOTE,
QUOTED_KEY_SINGLE_QUOTE,
],
);
///
final ini = Mode(
refs: {
'~contains~2~starts~contains~1~contains~4': Mode(
className: 'number',
relevance: 0,
variants: [
Mode(
begin: '([\\+\\-]+)?[\\d]+_[\\d_]+',
),
Mode(
begin: '\\b\\d+(\\.\\d+)?',
)
],
),
'~contains~2~starts~contains~1~contains~3': Mode(
className: 'string',
contains: [BACKSLASH_ESCAPE],
variants: [
Mode(
begin: "'''",
end: "'''",
relevance: 10,
),
Mode(
begin: '\"\"\"',
end: '\"\"\"',
relevance: 10,
),
Mode(
begin: '\"',
end: '\"',
),
Mode(
begin: "'",
end: "'",
),
],
),
'~contains~2~starts~contains~1~contains~2': Mode(
className: 'variable',
variants: [
Mode(
begin: '\\\$[\\w\\d\"][\\w\\d_]*',
),
Mode(
begin: '\\\$\\{(.*?)}',
),
],
),
'~contains~2~starts~contains~1~contains~1': Mode(
className: 'literal',
begin: '\\bon|off|true|false|yes|no\\b',
),
'~contains~0': Mode(
className: 'comment',
contains: [
PHRASAL_WORDS_MODE,
Mode(
className: 'doctag',
begin: '(?:TODO|FIXME|NOTE|BUG|XXX):',
relevance: 0,
)
],
variants: [
Mode(
begin: ';',
end: '\$',
),
Mode(
begin: '#',
end: '\$',
),
],
),
},
aliases: ['toml'],
case_insensitive: true,
illegal: r'\S',
contains: [
Mode(
ref: '~contains~0',
),
Mode(
className: 'section',
begin: '\\[+',
end: '\\]+',
),
Mode(
begin: ANY_KEY,
className: 'attr',
starts: Mode(
end: '\$',
contains: [
Mode(
ref: '~contains~0',
),
Mode(
begin: '\\[',
end: '\\]',
contains: [
Mode(ref: '~contains~0'),
Mode(
ref: '~contains~2~starts~contains~1~contains~1',
),
Mode(
ref: '~contains~2~starts~contains~1~contains~2',
),
Mode(
ref: '~contains~2~starts~contains~1~contains~3',
),
Mode(
ref: '~contains~2~starts~contains~1~contains~4',
),
Mode(
self: true,
)
],
relevance: 0,
),
Mode(
ref: '~contains~2~starts~contains~1~contains~1',
),
Mode(
ref: '~contains~2~starts~contains~1~contains~2',
),
Mode(
ref: '~contains~2~starts~contains~1~contains~3',
),
Mode(
ref: '~contains~2~starts~contains~1~contains~4',
),
],
),
),
],
);
I did not make a pull request since the file is marked:
// GENERATED CODE - DO NOT MODIFY BY HAND
godalming123 commented
Just using my app and noticed that the ini format is not working everything else is just looks like this needs implementing