class Rouge::Lexers::Zig

def self.builtins

def self.builtins
  @builtins ||= %w(
    @addWithOverflow @as @atomicLoad @atomicStore @bitCast @breakpoint
    @alignCast @alignOf @cDefine @cImport @cInclude @bitOffsetOf
    @atomicRmw @bytesToSlice @byteOffsetOf @OpaqueType @panic @ptrCast
    @bitReverse @Vector @sin @cUndef @canImplicitCast @clz @cmpxchgWeak
    @cmpxchgStrong @compileError @compileLog @ctz @popCount @divExact
    @divFloor @cos @divTrunc @embedFile @export @tagName @TagType
    @errorName @call @errorReturnTrace @fence @fieldParentPtr @field
    @unionInit @errorToInt @intToEnum @enumToInt @setAlignStack @frame
    @Frame @exp @exp2 @log @log2 @log10 @fabs @floor @ceil @trunc @round
    @floatCast @intToFloat @floatToInt @boolToInt @errSetCast @intToError
    @frameAddress @import @newStackCall @asyncCall @intToPtr @intCast
    @frameSize @memcpy @memset @mod @mulWithOverflow @splat @ptrToInt
    @rem @returnAddress @setCold @Type @shuffle @setGlobalLinkage
    @setGlobalSection @shlExact @This @hasDecl @hasField
    @setRuntimeSafety @setEvalBranchQuota @setFloatMode @shlWithOverflow
    @shrExact @sizeOf @bitSizeOf @sqrt @byteSwap @subWithOverflow
    @sliceToBytes comptime_int @truncate @typeInfo @typeName @TypeOf
  )
end

def self.keywords

def self.keywords
  @keywords ||= %w(
    align linksection threadlocal struct enum union error break return
    anyframe fn c_longlong c_ulonglong c_longdouble c_void comptime_float
    c_short c_ushort c_int c_uint c_long c_ulong continue asm defer
    errdefer const var extern packed export pub if else switch and or
    orelse while for bool unreachable try catch async suspend nosuspend
    await resume undefined usingnamespace test void noreturn type
    anyerror usize noalias inline noinline comptime callconv volatile
    allowzero
  )
end