From 54a2a47bc06af4bc45270e7be6a76eeb8bf8130d Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Sun, 9 Aug 2015 14:11:01 +0200 Subject: [PATCH] YAML-tmLanguage extension for YAML --- lib/linguist/languages.yml | 1 + samples/YAML/Ansible.YAML-tmLanguage | 38 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 samples/YAML/Ansible.YAML-tmLanguage diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 952aa6b2..db92065d 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -3719,6 +3719,7 @@ YAML: - .reek - .rviz - .yaml + - .yaml-tmlanguage ace_mode: yaml Yacc: diff --git a/samples/YAML/Ansible.YAML-tmLanguage b/samples/YAML/Ansible.YAML-tmLanguage new file mode 100644 index 00000000..307696b3 --- /dev/null +++ b/samples/YAML/Ansible.YAML-tmLanguage @@ -0,0 +1,38 @@ +# [PackageDev] target_format: plist, ext: tmLanguage +--- +name: Ansible +scopeName: source.ansible +fileTypes: [] +uuid: 787ae642-b4ae-48b1-94e9-f935bec43a8f + +patterns: +- name: comment.line.number-sign.ansible + match: (?:^ *|\G *)((#).*) + captures: + '1': {name: comment.line.number-sign.ansible} + '2': {name: punctuation.definition.comment.line.ansible} + +- name: storage.type.ansible + match: (\{\{ *[^\{\}]+ *\}\})|(\$\{[^\{\}]+\}) + +- name: keyword.other.ansible + match: \- (name\:|include\:) (.*)|(^(- |\s*)\w+\:) + captures: + '2': {name: string.quoted.double.ansible} + +- name: variable.complex.ansible + contentName: string.other.ansible + begin: (\w+)(=)\"? + beginCaptures: + '1': {name: entity.other.attribute-name.ansible} + '2': {name: text} + end: \"?\s + patterns: + - include: $self + - name: constant.other.ansible + match: . + +- name: string.quoted.double.ansible + match: ^(\[[0-9a-zA-Z_-]+(((\:)children)*)\]) + captures: + '2': {name: variable.parameter.ansible}