%YAML 1.2 --- # http://www.sublimetext.com/docs/3/syntax.html name: fstab file_extensions: - fstab - crypttab - mtab scope: source.fstab contexts: main: - include: comment - match: '^' push: fstab_device comment: leading spaces fstab_device: - include: comment - match: '\s*([^=\s]+=)([^\s]+)\s*' comment: device by uuid or label set: fstab_mountpoint captures: 1: punctuation.accessor 2: keyword.other.device - match: '\s*(//|\\\\)([^\s]+)\s*' comment: device by samba share set: fstab_mountpoint captures: 1: punctuation.accessor 2: keyword.other.device - match: '\s*([^\s]+)(:)([^\s]+)\s*' 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*[012]\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*[012]\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