{"name":"Kickstart","scopeName":"source.kickstart","patterns":[{"name":"scriptlet.python.kickstart","contentName":"source.python.embedded.kickstart","begin":"^\\s*(%(?:pre|pre-install|post))\\b.*\\s--interpreter(?:\\s+|=)(\\S*python\\S*).*$","end":"^\\s*(%end)\\s*$","patterns":[{"include":"source.python"},{"name":"invalid.illegal.missingend.kickstart","match":"^\\s*(%(?:pre|pre-install|post|packages))"}],"captures":{"1":{"name":"keyword.control.scriptlet.kickstart"}}},{"name":"scriptlet.perl.kickstart","contentName":"source.perl.embedded.kickstart","begin":"^\\s*(%(?:pre|pre-install|post))\\b.*\\s--interpreter(?:\\s+|=)(\\S*perl\\S*).*$","end":"^\\s*(%end)\\s*$","patterns":[{"include":"source.perl"},{"name":"invalid.illegal.missingend.kickstart","match":"^\\s*(%(?:pre|pre-install|post|packages))"}],"captures":{"1":{"name":"keyword.control.scriptlet.kickstart"}}},{"name":"scriptlet.shell.kickstart","contentName":"source.shell.embedded.kickstart","begin":"^\\s*(%(?:pre|pre-install|post))\\b.*\\s--interpreter(?:\\s+|=)(\\S*sh\\b).*$","end":"^\\s*(%end)\\s*$","patterns":[{"include":"source.shell"},{"name":"invalid.illegal.missingend.kickstart","match":"^\\s*(%(?:pre|pre-install|post|packages))"}],"captures":{"1":{"name":"keyword.control.scriptlet.kickstart"}}},{"contentName":"string.unquoted.scriptlet.kickstart","begin":"^\\s*(%(?:pre|pre-install|post))\\b.*\\s--interpreter\\b.*$","end":"^\\s*(%end)\\s*$","patterns":[{"name":"invalid.illegal.missingend.kickstart","match":"^\\s*(%(?:pre|pre-install|post|packages))"}],"captures":{"1":{"name":"keyword.control.scriptlet.kickstart"}}},{"name":"scriptlet.shell.kickstart","contentName":"source.shell.embedded.kickstart","begin":"^\\s*(%(?:pre|pre-install|post))\\b(\\s+--[^i][^n][^t]\\w+)*\\s*$","end":"^\\s*(%end)\\s*$","patterns":[{"include":"source.shell"},{"name":"invalid.illegal.missingend.kickstart","match":"^\\s*(%(?:pre|pre-install|post|packages))"}],"captures":{"1":{"name":"keyword.control.scriptlet.kickstart"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.kickstart","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.kickstart"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.kickstart"}}},{"name":"packages.kickstart","begin":"^\\s*(%packages)\\b.*$","end":"^\\s*(%end)\\s*$","patterns":[{"name":"string.unquoted.packages.group.kickstart","match":"^\\s*-?@\\^?.*$"},{"name":"invalid.illegal.missingend.kickstart","match":"^\\s*(%(?:pre|pre-install|post|packages))"},{"name":"comment.line.number-sign.kickstart","match":"^\\s*#.*$"}],"captures":{"1":{"name":"keyword.control.packages.kickstart"}}},{"name":"support.function.ui.kickstart","match":"^\\s*(cmdline|graphical|text|mediacheck|vnc|logging)\\b"},{"name":"support.function.shutdown.kickstart","match":"^\\s*(halt|poweroff|shutdown|reboot)\\b"},{"name":"support.function.disk.kickstart","match":"^\\s*(autopart|bootloader|btrfs|clearpart|dmraid|fcoe|iscsi|iscsiname|logvol|multipath|part|partition|raid|volgroup|zerombr|zfcp|ignoredisk)\\b"},{"name":"support.function.services.kickstart","match":"^\\s*(auth|authconfig|firewall|firstboot|monitor|network|realm|rootpw|selinux|services|sshkey|sshpw|skipx|timezone|user|group|xconfig|skipx)\\b"},{"name":"support.function.i18n.kickstart","match":"^\\s*(lang|keyboard|timezone)\\b"},{"name":"support.function.install.kickstart","match":"^\\s*(install|cdrom|repo|harddrive|liveimg|nfs|url)\\b"},{"name":"keyword.control.import.kickstart","match":"^\\s*(%include|%ksappend)\\b"},{"name":"support.function.misc.kickstart","match":"^\\s*(rescue|updates|device|driverdisk|autostep)\\b"},{"name":"string.password-hash.sha512.kickstart","match":"\\$6\\$(rounds=\\d+\\$)?[./0-9A-Za-z]{1,16}\\$[./0-9A-Za-z]{86}"},{"name":"string.password-hash.sha256.kickstart","match":"\\$5\\$(rounds=\\d+\\$)?[./0-9A-Za-z]{1,16}\\$[./0-9A-Za-z]{43}"},{"name":"invalid.illegal.password-hash.kickstart","match":"\\$[56]\\$\\S+"},{"name":"string.quoted.kickstart","begin":"(['\"])","end":"\\1","patterns":[{"name":"constant.character.escape.kickstart","match":"\\\\[\\$`\"'\\\\\\n]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kickstart"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kickstart"}}}]}
