rf-web/vendor/bundle/gems/rouge-3.12.0/lib/rouge/lexers/digdag.rb
2019-10-21 10:18:17 +02:00

71 lines
1.2 KiB
Ruby

# frozen_string_literal: true
require 'set'
module Rouge
module Lexers
load_lexer 'yaml.rb'
class Digdag < YAML
title 'digdag'
desc 'A simple, open source, multi-cloud workflow engine (https://www.digdag.io/)'
tag 'digdag'
filenames '*.dig'
mimetypes 'application/x-digdag'
# http://docs.digdag.io/operators.html
# as of digdag v0.9.10
KEYWORD_PATTERN = Regexp.union(%w(
call
require
loop
for_each
if
fail
echo
td
td_run
td_ddl
td_load
td_for_each
td_wait
td_wait_table
td_partial_delete
td_table_export
pg
mail
http
s3_wait
redshift
redshift_load
redshift_unload
emr
gcs_wait
bq
bq_ddl
bq_extract
bq_load
sh
py
rb
embulk
).map { |name| "#{name}>"} + %w(
_do
_parallel
))
prepend :block_nodes do
rule %r/(#{KEYWORD_PATTERN})(:)(?=\s|$)/ do |m|
groups Keyword::Reserved, Punctuation::Indicator
set_indent m[0], :implicit => true
end
end
end
end
end