lua/neopywal/theme/fileformats/typescript.lua
local M = {}

function M.get()
    return {
        -- vim-typescript: https://github.com/leafgarland/typescript-vim:
        typescriptStorageClass = { link = "StorageClass" },
        typescriptEndColons = { link = "Delimiter" },
        typescriptSource = { link = "Type" },
        typescriptMessage = { link = "Type" },
        typescriptGlobalObjects = { link = "Type" },
        typescriptInterpolation = { link = "Special" },
        typescriptInterpolationDelimiter = { link = "Special" },
        typescriptBraces = { link = "SpecialChar" },
        typescriptParens = { link = "SpecialChar" },

        -- yats: https:github.com/HerringtonDarkholme/yats.vim:
        typescriptMethodAccessor = { link = "Function" },
        typescriptVariable = { link = "Variable" },
        typescriptVariableDeclaration = { link = "Define" },
        typescriptTypeReference = { link = "Type" },
        typescriptEnumKeyword = { link = "Keyword" },
        typescriptEnum = { link = "Constant" },
        typescriptIdentifierName = { link = "Identifier" },
        typescriptProp = { link = "PreProc" },
        typescriptCall = { link = "Function" },
        typescriptInterfaceName = { link = "Type" },
        typescriptMember = { link = "Type" },
        typescriptMemberOptionality = { link = "Type" },
        typescriptObjectLabel = { link = "Label" },
        typescriptDefaultParam = { link = "Identifier" },
        typescriptArrowFunc = { link = "Function" },
        typescriptAbstract = { link = "Special" },
        typescriptObjectColon = { link = "Delimiter" },
        typescriptTypeAnnotation = { link = "Type" },
        typescriptAssign = { link = "Define" },
        typescriptBinaryOp = { link = "Operator" },
        typescriptUnaryOp = { link = "Operator" },
        typescriptFuncComma = { link = "Delimiter" },
        typescriptClassName = { link = "Type" },
        typescriptClassHeritage = { link = "Type" },
        typescriptInterfaceHeritage = { link = "Type" },
        typescriptIdentifier = { link = "Identifier" },
        typescriptGlobal = { link = "Type" },
        typescriptOperator = { link = "Operator" },
        typescriptNodeGlobal = { link = "typescriptGlobal" },
        typescriptExport = { link = "Operator" },
        typescriptImport = { link = "Include" },
        typescriptTypeParameter = { link = "Type" },
        typescriptReadonlyModifier = { link = "Exception" },
        typescriptAccessibilityModifier = { link = "Debug" },
        typescriptAmbientDeclaration = { link = "Define" },
        typescriptTemplateSubstitution = { link = "Type" },
        typescriptTemplateSB = { link = "typescriptTemplateSubstitution" },
        typescriptExceptions = { link = "Exception" },
        typescriptCastKeyword = { link = "Keyword" },
        typescriptOptionalMark = { link = "Exception" },
        typescriptNull = { link = "Constant" },
        typescriptMappedIn = { link = "Define" },
        typescriptFuncTypeArrow = { link = "Function" },
        typescriptTernaryOp = { link = "Define" },
        typescriptParenExp = { link = "Statement" },
        typescriptIndexExpr = { link = "Statement" },
        typescriptDotNotation = { link = "Identifier" },
        typescriptGlobalNumberDot = { link = "Identifier" },
        typescriptGlobalStringDot = { link = "Identifier" },
        typescriptGlobalArrayDot = { link = "Identifier" },
        typescriptGlobalObjectDot = { link = "Identifier" },
        typescriptGlobalSymbolDot = { link = "Identifier" },
        typescriptGlobalMathDot = { link = "Identifier" },
        typescriptGlobalDateDot = { link = "Identifier" },
        typescriptGlobalJSONDot = { link = "Identifier" },
        typescriptGlobalRegExpDot = { link = "Identifier" },
        typescriptGlobalPromiseDot = { link = "Identifier" },
        typescriptGlobalURLDot = { link = "Identifier" },
        typescriptGlobalMethod = { link = "Function" },
        typescriptDOMStorageMethod = { link = "Function" },
        typescriptFileMethod = { link = "Function" },
        typescriptFileReaderMethod = { link = "Function" },
        typescriptFileListMethod = { link = "Function" },
        typescriptBlobMethod = { link = "Function" },
        typescriptURLStaticMethod = { link = "Function" },
        typescriptNumberStaticMethod = { link = "Function" },
        typescriptNumberMethod = { link = "Function" },
        typescriptDOMNodeMethod = { link = "Function" },
        typescriptPaymentMethod = { link = "Function" },
        typescriptPaymentResponseMethod = { link = "Function" },
        typescriptHeadersMethod = { link = "Function" },
        typescriptRequestMethod = { link = "Function" },
        typescriptResponseMethod = { link = "Function" },
        typescriptES6SetMethod = { link = "Function" },
        typescriptReflectMethod = { link = "Function" },
        typescriptBOMWindowMethod = { link = "Function" },
        typescriptGeolocationMethod = { link = "Function" },
        typescriptServiceWorkerMethod = { link = "Function" },
        typescriptCacheMethod = { link = "Function" },
        typescriptES6MapMethod = { link = "Function" },
        typescriptFunctionMethod = { link = "Function" },
        typescriptRegExpMethod = { link = "Function" },
        typescriptXHRMethod = { link = "Function" },
        typescriptBOMNavigatorMethod = { link = "Function" },
        typescriptIntlMethod = { link = "Function" },
        typescriptDOMEventTargetMethod = { link = "Function" },
        typescriptDOMEventMethod = { link = "Function" },
        typescriptDOMDocMethod = { link = "Function" },
        typescriptStringStaticMethod = { link = "String" },
        typescriptStringMethod = { link = "String" },
        typescriptSymbolStaticMethod = { link = "Function" },
        typescriptObjectStaticMethod = { link = "Function" },
        typescriptObjectMethod = { link = "Function" },
        typescriptJSONStaticMethod = { link = "Function" },
        typescriptEncodingMethod = { link = "Function" },
        typescriptBOMLocationMethod = { link = "Function" },
        typescriptPromiseStaticMethod = { link = "Function" },
        typescriptPromiseMethod = { link = "Function" },
        typescriptSubtleCryptoMethod = { link = "Function" },
        typescriptCryptoMethod = { link = "Function" },
        typescriptBOMHistoryMethod = { link = "Function" },
        typescriptDOMFormMethod = { link = "Function" },
        typescriptConsoleMethod = { link = "Function" },
        typescriptDateStaticMethod = { link = "Function" },
        typescriptDateMethod = { link = "Function" },
        typescriptArrayStaticMethod = { link = "Function" },
        typescriptArrayMethod = { link = "Function" },
        typescriptMathStaticMethod = { link = "Function" },
        typescriptStringProperty = { link = "PreProc" },
        typescriptDOMStorageProp = { link = "PreProc" },
        typescriptFileReaderProp = { link = "PreProc" },
        typescriptURLUtilsProp = { link = "PreProc" },
        typescriptNumberStaticProp = { link = "PreProc" },
        typescriptDOMNodeProp = { link = "PreProc" },
        typescriptBOMWindowProp = { link = "PreProc" },
        typescriptRequestProp = { link = "PreProc" },
        typescriptResponseProp = { link = "PreProc" },
        typescriptPaymentProp = { link = "PreProc" },
        typescriptPaymentResponseProp = { link = "PreProc" },
        typescriptPaymentAddressProp = { link = "PreProc" },
        typescriptPaymentShippingOptionProp = { link = "PreProc" },
        typescriptES6SetProp = { link = "PreProc" },
        typescriptServiceWorkerProp = { link = "PreProc" },
        typescriptES6MapProp = { link = "PreProc" },
        typescriptRegExpStaticProp = { link = "PreProc" },
        typescriptRegExpProp = { link = "PreProc" },
        typescriptBOMNavigatorProp = { link = "Function" },
        typescriptXHRProp = { link = "PreProc" },
        typescriptDOMEventProp = { link = "PreProc" },
        typescriptDOMDocProp = { link = "PreProc" },
        typescriptBOMNetworkProp = { link = "PreProc" },
        typescriptSymbolStaticProp = { link = "PreProc" },
        typescriptEncodingProp = { link = "PreProc" },
        typescriptBOMLocationProp = { link = "PreProc" },
        typescriptCryptoProp = { link = "PreProc" },
        typescriptDOMFormProp = { link = "PreProc" },
        typescriptBOMHistoryProp = { link = "PreProc" },
        typescriptMathStaticProp = { link = "PreProc" },
    }
end

return M
