mirror of
https://github.com/sharkdp/bat
synced 2024-11-18 15:26:16 +00:00
Add more colors to fstab syntax
This commit is contained in:
parent
7db30f9123
commit
ab2a6ad1d5
136
assets/syntaxes/Fstab.sublime-syntax
vendored
136
assets/syntaxes/Fstab.sublime-syntax
vendored
@ -8,18 +8,126 @@ scope: source.fstab
|
|||||||
|
|
||||||
contexts:
|
contexts:
|
||||||
main:
|
main:
|
||||||
- match: '^\s*\#.*'
|
- include: comment
|
||||||
scope: comment.line.number-sign
|
- match: '^'
|
||||||
comment: just a comment line
|
push: fstab_device
|
||||||
- match: ^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(0|1)\s+(0|1|2)\s*$
|
comment: leading spaces
|
||||||
|
|
||||||
|
fstab_device:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*([^=\s]+=)([^\s]+)\s*'
|
||||||
|
comment: device by uuid or label
|
||||||
|
set: fstab_mountpoint
|
||||||
captures:
|
captures:
|
||||||
1: entity.name.device.fstab
|
1: punctuation.accessor
|
||||||
2: entity.name.mountpoint.fstab
|
2: keyword.other.device
|
||||||
3: entity.name.type.fstab
|
- match: '\s*(//|\\\\)([^\s]+)\s*'
|
||||||
4: entity.name.options.fstab
|
comment: device by samba share
|
||||||
5: constant.numeric.dump.fstab
|
set: fstab_mountpoint
|
||||||
6: constant.numeric.pass.fstab
|
captures:
|
||||||
comment: a valid fstab line with 6 space-separated token groups
|
1: punctuation.accessor
|
||||||
- match: '^.*$'
|
2: keyword.other.device
|
||||||
scope: invalid.illegal.fstab
|
- match: '\s*([^\s]+)(:)([^\s]+)\s*'
|
||||||
comment: everything else, probably an error
|
comment: device by server
|
||||||
|
set: fstab_mountpoint
|
||||||
|
captures:
|
||||||
|
1: keyword.other.device
|
||||||
|
2: punctuation.accessor
|
||||||
|
3: keyword.other.device
|
||||||
|
- match: '\s*[^\s/\\]+\s*'
|
||||||
|
comment: device by dev name
|
||||||
|
set: fstab_mountpoint
|
||||||
|
scope: keyword.other.device
|
||||||
|
- match: '\s*(/dev/)([^\s]+)\s*'
|
||||||
|
comment: device by dev path
|
||||||
|
set: fstab_mountpoint
|
||||||
|
captures:
|
||||||
|
1: punctuation.accessor
|
||||||
|
2: keyword.other.device
|
||||||
|
- match: '\s*([^\s/]*/)*([^\s]+)\s*'
|
||||||
|
comment: device by unknown path
|
||||||
|
set: fstab_mountpoint
|
||||||
|
captures:
|
||||||
|
1: punctuation.accessor
|
||||||
|
2: keyword.other.device
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_mountpoint:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*/[^\s]*\s*'
|
||||||
|
comment: mount point
|
||||||
|
set: fstab_filesystem
|
||||||
|
scope: string.unquoted.mountpoint
|
||||||
|
- match: '\s*[^\s]+\s*'
|
||||||
|
comment: mount point without leading slash (invalid)
|
||||||
|
set: fstab_filesystem
|
||||||
|
scope: invalid.illegal
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_filesystem:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*[^\s]+\s*'
|
||||||
|
comment: filesystem type
|
||||||
|
set: fstab_options
|
||||||
|
scope: variable.parameter.filesystem
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_options:
|
||||||
|
- include: comment
|
||||||
|
- match: '([^\s,=]+)(=)([^\s,]+)'
|
||||||
|
comment: key-value option
|
||||||
|
captures:
|
||||||
|
1: entity.name.option
|
||||||
|
2: entity.other.separator
|
||||||
|
3: variable.parameter
|
||||||
|
- match: '[^\s,]+'
|
||||||
|
comment: flag option
|
||||||
|
scope: entity.name.option
|
||||||
|
- match: ','
|
||||||
|
comment: option separator
|
||||||
|
scope: punctuation.separator
|
||||||
|
- match: '\s+'
|
||||||
|
comment: next field
|
||||||
|
set: fstab_dump
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_dump:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*[01]\s*'
|
||||||
|
comment: dump field
|
||||||
|
scope: constant.numeric
|
||||||
|
set: fstab_pass
|
||||||
|
- match: '\s*[^\s]+\s*'
|
||||||
|
comment: invalid dump field
|
||||||
|
scope: invalid.illegal
|
||||||
|
set: fstab_pass
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
fstab_pass:
|
||||||
|
- include: comment
|
||||||
|
- match: '\s*[01]\s*'
|
||||||
|
comment: pass field
|
||||||
|
scope: constant.numeric
|
||||||
|
set: expected_eol
|
||||||
|
- match: '\s*[^\s]+\s*'
|
||||||
|
comment: invalid pass field
|
||||||
|
scope: invalid.illegal
|
||||||
|
set: expected_eol
|
||||||
|
- include: clear
|
||||||
|
|
||||||
|
expected_eol:
|
||||||
|
- include: comment
|
||||||
|
- include: clear
|
||||||
|
- match: '.*'
|
||||||
|
scope: invalid.illegal
|
||||||
|
|
||||||
|
comment:
|
||||||
|
- match: '\s*#.*$'
|
||||||
|
comment: comment using the number sign
|
||||||
|
scope: comment.line
|
||||||
|
|
||||||
|
clear:
|
||||||
|
- match: '.*$'
|
||||||
|
comment: used for clearing the context
|
||||||
|
pop: true
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user