mirror of
https://github.com/sharkdp/bat.git
synced 2025-10-24 12:43:56 +01:00
We need to type `inf` and `INF` as strings in `INI.sublime-syntax`,
otherwise `yaml-rust` interprets them as real numbers ("infinity") and
they do not get registered as file extensions:
/Users/martin/src/yaml-rust # https://github.com/chyh1990/yaml-rust
% cargo run --example dump_yaml ~/src/bat/assets/syntaxes/02_Extra/INI.sublime-syntax
---
String("name"):
String("INI")
String("file_extensions"):
String("ini")
String("INI")
Real("inf")
Real("INF")
...
Also add a regression test.
48 lines
1.1 KiB
YAML
Vendored
48 lines
1.1 KiB
YAML
Vendored
%YAML 1.2
|
|
---
|
|
# http://www.sublimetext.com/docs/3/syntax.html
|
|
name: INI
|
|
file_extensions:
|
|
- ini
|
|
- INI
|
|
- "inf"
|
|
- "INF"
|
|
- reg
|
|
- REG
|
|
- lng
|
|
- cfg
|
|
- CFG
|
|
- desktop
|
|
- url
|
|
- URL
|
|
- .editorconfig
|
|
- .hgrc
|
|
- hgrc
|
|
scope: source.ini
|
|
contexts:
|
|
main:
|
|
- match: ^\s*(;|#).*$\n?
|
|
scope: comment.line.semicolon.ini
|
|
captures:
|
|
1: punctuation.definition.comment.ini
|
|
- match: '^\s*(\[)(.*?)(\])\s*(;.*)?$\n?'
|
|
scope: meta.tag.section.ini
|
|
captures:
|
|
1: punctuation.definition.section.ini
|
|
2: entity.section.ini
|
|
3: punctuation.definition.section.ini
|
|
4: comment.definition.section.ini
|
|
- match: '^(\s*(["'']?)(.+?)(\2)\s*(=))?\s*((["'']?)(.*?)(\7))\s*(;.*)?$\n?'
|
|
scope: meta.declaration.ini
|
|
captures:
|
|
1: meta.property.ini
|
|
2: punctuation.definition.quote.ini
|
|
3: keyword.name.ini
|
|
4: punctuation.definition.quote.ini
|
|
5: punctuation.definition.equals.ini
|
|
6: meta.value.ini
|
|
7: punctuation.definition.quote.ini
|
|
8: string.name.value.ini
|
|
9: punctuation.definition.quote.ini
|
|
10: comment.declarationline.semicolon.ini
|