Add bin and edit workflow
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s

This commit is contained in:
2026-09-16 13:11:16 -06:00
parent c8ac4fcae5
commit 4cee170d66
17576 changed files with 895740 additions and 2 deletions
@@ -0,0 +1,122 @@
# -*- coding: utf-8 -*- #
# frozen_string_literal: true
module Rouge
module Lexers
class Syzprog < RegexLexer
title "Syzprog"
desc "Program description language used by syzkaller"
tag 'syzprog'
def self.keywords
@keywords ||= Set.new %w(
ANY ANYBLOB ANYPTR ANYPTR64 ANYPTRS ANYRES16 ANYRES32 ANYRES64
ANYRESDEC ANYRESHEX ANYRESOCT ANYUNION AUTO false nil true void
async fail_nth rerun
)
end
comment = /#.*$/
inline_spaces = /[ \t]+/
eol_spaces = /[\n\r]+/
spaces = /\s+/
id = /[a-zA-Z_][a-zA-Z0-9_]*/
num_id = /[a-zA-Z0-9_]+/
res_id = /r[0-9]+/
state :inline_break do
rule inline_spaces, Text
rule %r//, Text, :pop!
end
state :eol_break do
rule eol_spaces, Text
rule comment, Comment
rule %r//, Text, :pop!
end
state :space_break do
rule spaces, Text
rule comment, Comment
rule %r//, Text, :pop!
end
state :mixin_number do
rule %r/-?0x[\da-f]+/i, Num::Hex
rule %r/-?\d+/, Num::Integer
end
state :mixin_string do
rule %r/"[^"]*"/, Str::Double
rule %r/`[^`]*`/, Str::Backtick
rule %r/'[^']*'/, Str::Single
end
state :mixin_term do
mixin :mixin_number
mixin :mixin_string
rule %r/#{res_id}/, Keyword::Pseudo
rule id do |m|
if self.class.keywords.include?(m[0])
token Keyword
else
token Name
end
end
end
state :mods_list do
rule spaces, Text
rule comment, Comment
mixin :mixin_term
rule %r/[,:]/, Punctuation
rule %r/\)/, Punctuation, :pop!
end
state :syscall_mods do
rule %r/\(/, Punctuation, :mods_list
rule %r//, Text, :pop!
end
state :syscall_args do
rule spaces, Text
rule comment, Comment
mixin :mixin_term
mixin :mixin_number
mixin :mixin_string
# This punctuation is a part of the syntax:
rule %r/[@&=,<>{}\[\]]/, Punctuation
# This punctuation is not, highlight just in case:
rule %r/[!#\$%\^\*\-\+\/\|~:;.\?]/, Punctuation
rule %r/\(/, Punctuation, :syscall_args
rule %r/\)/, Punctuation, :pop!
end
state :root do
# Whitespace.
rule spaces, Text
# Comments.
rule comment, Comment
# Return values.
rule %r/(#{res_id})(#{spaces})(=)/ do
groups Keyword::Pseudo, Text, Punctuation
end
# Syscalls.
rule %r/(#{id})(\$)?(#{num_id})?(#{spaces})?(\()/ do |m|
groups Name::Function, Punctuation, Name::Function::Magic, Text, Punctuation
push :syscall_mods
push :inline_break
push :syscall_args
push :space_break
end
end
end
end
end