" Vim syntax file " Language: C " Maintainer: Julien Nadeau source $VIMRUNTIME/syntax/c.vim set nocindent set nocompatible " For cadtools (http://hypertriton.com/cadtools/) if !exists("c_no_cadtools") || exists("c_cadtools_typedefs") syn keyword cType CAD_Part CAD_Stock CAD_Feature CAM_Chuck syn keyword cType CAD_ExtrudedBoss CAM_Machine CAM_Program syn keyword cType CAM_Lathe CAM_Mill CAM_Drill CAM_Laser endif " For the new Agar-GI subsystem of Agar-1.4 (http://libagar.org/) if !exists("c_no_agar_gi") || exists("c_agar_gi_typedefs") syn keyword cType GI GI_Class GI_Pos GI_Primitive GI_Real syn keyword cType GI_PixelFormat GI_Palette GI_Color GI_Surface syn keyword cType GI_SDL GI_GL endif " For the Open Dynamics Engine (http://ode.org/) if !exists("c_no_ode") || exists("c_ode_typedefs") syn keyword cType dWorldID dSpaceID dBodyID dGeomID dJointID dJointGroupID syn keyword cType dReal dVector3 dVector4 dMatrix3 dMatrix4 dQuaternion syn keyword cType dMass endif " For the FreeSG Math library (http://freesg.org/) if !exists("c_no_freesg_m") || exists("c_freesg_m_typedefs") syn keyword cType M_Real M_Complex M_Quaternion M_Range M_Color syn keyword cType M_Vector M_Vector2 M_Vector3 M_Vector4 M_VectorN syn keyword cType M_Matrix M_Matrix44 M_MatrixMN M_VectorOps syn keyword cType M_Rectangular M_Polar M_Parabolic M_Time syn keyword cType M_Spherical M_Cylindrical M_TimeRange syn keyword cType M_VectorOps2 M_VectorOps3 M_VectorOps4 syn keyword cType M_MatrixOps44 M_MatrixOpsMN M_MatrixFPU syn keyword cType M_GeomType M_Geom2 M_Geom3 M_Geom syn keyword cType M_GeomSet M_GeomSet2 M_GeomSet3 syn keyword cType M_PointSet M_PointSet2 M_PointSet3 syn keyword cType M_Line M_Line2 M_Line3 M_Plane M_Hyperplane syn keyword cType M_Circle M_Circle2 M_Circle3 syn keyword cType M_Polygon M_Polygon2 M_Polygon3 syn keyword cType M_Triangle M_Triangle2 M_Triangle3 syn keyword cType M_Rectangle M_Rectangle2 M_Rectangle3 syn keyword cType M_Sphere M_Matview M_Plot M_Plotter syn keyword cType M_VectorFPU M_MatrixSP M_MatrixOps M_PlotLabel endif " For the FreeSG 3D engine library (http://freesg.org/) if !exists("c_no_freesg") || exists("c_freesg_typedefs") syn keyword cType SG SG_Version syn keyword cType SG_VectorOps4 SG_Version syn keyword cType SG_View SG_Vertex SG_TriStrip syn keyword cType SG_Node SG_NodeClass SG_Dummy SG_Object syn keyword cType SG_Point SG_Sphere SG_Camera SG_Light syn keyword cType SG_Solid SG_PlaneObj SG_Contour SG_Surface syn keyword cType SG_Box SG_Facet SG_Edge syn keyword cType SG_BSPTree SG_BSPNode SG_Octree SG_Octnode syn keyword cType SG_ExtrudeMode SG_EdgeEnt SG_Voxel syn keyword cType PLY_Property PLY_Element PLY_Prop syn keyword cType PLY_OtherData PLY_OtherElem PLY_OtherElems syn keyword cType PLY_PropRules PLY_RuleList PLY_File PLY_Info syn keyword cType SG_Matview SG_Program SG_Material syn keyword cType SG_Texture SG_MaterialTexture SG_CameraInsn syn keyword cType SG_ProgramClass SG_CgProgram syn keyword cType SK SK_Node SK_NodeOps SK_View SK_Tool SK_ToolOps syn keyword cType SK_ToolMouseBinding SK_ToolKeyBinding syn keyword cType SK_Dummy SK_Point SK_Line SK_Circle SK_Arc syn keyword cType SK_Text SK_Constraint SK_Cluster SK_Polygon syn keyword cType SK_SelectTool SK_Insn SK_Status SK_NodePair syn keyword cType SK_ConstraintPairFn SK_ConstraintRingFn syn keyword cType SK_Annot SK_Dimension SK_Group SK_IntersectFn syn keyword cType SK_GeometryFn syn keyword cType PE PE_Class PE_Ode PE_OdeNodeData endif " For the nVidia Cg runtime library. if !exists("c_no_cg") || exists("c_cg_typedefs") syn keyword cType CGcontext CGprogram CGparameter CGprofile CGGLenum endif " For the Agar-EDA circuit simulator (http://hypertriton.com/agar-eda/) if !exists("c_no_agar_eda") || exists("c_agar_eda_typedefs") syn keyword cType ES_Branch ES_Node ES_Loop ES_Circuit ES_Port syn keyword cType ES_Pair ES_Conductor ES_SemiResistor ES_Ground syn keyword cType ES_Component ES_ComponentClass ES_Resistor ES_Spec syn keyword cType ES_Digital ES_DigitalClass ES_DigitalFamily syn keyword cType ES_Spdt ES_Spst ES_Inverter ES_LogicState ES_And ES_Or syn keyword cType ES_Sim ES_SimOps ES_Scope ES_SpecCondition syn keyword cType ES_Vsource ES_VSquare ES_VSine ES_DigitalSpec ES_Led syn keyword cType ES_LogicProbe ES_Wire ES_Sym ES_Schem ES_SchemBlock syn keyword cType ES_SimDC ES_SimAC ES_SimSP ES_SimHB ES_SimSweep syn keyword cType ES_SchemLineTool ES_SchemPointTool ES_SchemCircleTool syn keyword cType ES_SchemArcTool ES_SchemTextTool ES_SchemPolygonTool syn keyword cType ES_SchemSelectTool ES_SchemPortTool ES_SchemPort syn keyword cType ES_SchemWire ES_SchemWireTool ES_WireTool syn keyword cType ES_Capacitor ES_Diode ES_Inductor ES_NMOS ES_NPN syn keyword cType ES_PMOS ES_PNP ES_Isource ES_IntegrationMethod syn keyword cType ES_VArb ES_VNoise ES_VSweep ES_Module ES_Package syn keyword cType ES_SchemLibraryEditor ES_ComponentLibraryEditor syn keyword cType ES_ComponentPkg ES_Layout ES_LayoutSelectTool syn keyword cType ES_LayoutBlock ES_LayoutTrace ES_LayoutHole syn keyword cType ES_LayoutNode ES_LayoutNodeTool ES_LayoutTraceTool syn keyword cType ES_PackageInsertTool ES_PackageLibraryEditor syn keyword cType ES_ComponentInsertTool endif " For the csoft-mon monitoring tool. if !exists("c_no_csoft_mon") || exists("c_csoft_mon_typedefs") syn keyword cType CM_Monitor CM_MonitorOps endif " For the Agar-NET library (http://libagar.org/) if !exists("c_no_agar_net") || exists("c_agar_net_typedefs") syn keyword cType NC_Session NC_Result NS_Cmd NS_Auth syn keyword cType NS_CommandArg NC_CommandArg NC_Command syn keyword cType NS_Command NS_Server NS_LoginFn NS_LogoutFn syn keyword cType NS_SigCheckFn NS_AuthFn NS_PeriodicFn syn keyword cType NS_ErrorFn NS_CommandFn NS_Client endif " For the Agar-Core library (http://libagar.org/) if !exists("c_no_agar_core") || exists("c_agar_core_typedefs") syn keyword cType Uchar Uint Ulong AG_ErrorCode AG_ObjectHeader syn keyword cType AG_Object AG_ObjectClass AG_ObjectDep syn keyword cType AG_ObjectLoadCallbackFn AG_Config AG_List syn keyword cType AG_CPUInfo AG_AgarVersion AG_Namespace syn keyword cType AG_Event AG_EvArg AG_EvArgs AG_EventFn syn keyword cType AG_Input AG_InputOps AG_RCSLog AG_RCSLogEntry syn keyword cType AG_Joystick AG_Keyboard AG_Mouse AG_Prop syn keyword cType AG_Timeout AG_PropReadFn AG_RCSList syn keyword cType AG_PropWriteFn AG_PropClass AG_RCSListEntry syn keyword cType AG_Den AG_DenMember AG_DataSource AG_Version syn keyword cType AG_Mutex AG_Thread AG_RWLock AG_Cond syn keyword cType AG_ThreadAttr AG_MutexAttr AG_ThreadKey syn keyword cType AG_Dir AG_FileInfo AG_IOStatus AG_FileSource syn keyword cType AG_CoreSource AG_ConstCoreSource syn keyword cType AG_TextCache AG_CachedText AG_FileSelector syn keyword cType AG_TextCacheBucket AG_DSOSym AG_TimeOps syn keyword cType AG_DSO AG_DSO_BeOS AG_DSO_OS2 AG_DSO_Generic syn keyword cType AG_Surface AG_PixelFormat AG_Palette AG_Color syn keyword cType AG_ColorRGB AG_LabelFormatFn AG_LabelFormatSpec syn keyword cType AG_ObjectClassSpec AG_MD5_CTX AG_SHA1_CTX syn keyword cType AG_RMD160_CTX AG_Tree AG_Treeview AG_TreeItem syn keyword cType AG_TreeviewPopulateFn AG_ButtonUpdateFn syn keyword cType AG_Variable AG_VariableType AG_VariableTypeInfo syn keyword cType AG_VoidFn AG_UintFn AG_IntFn AG_Uint8Fn syn keyword cType AG_Sint8Fn AG_Uint16Fn AG_Sint16Fn AG_Uint32Fn syn keyword cType AG_Sint32Fn AG_Uint64Fn AG_Sint64Fn AG_FloatFn syn keyword cType AG_DoubleFn AG_LongDoubleFn AG_StringFn syn keyword cType AG_ConstStringFn AG_PointerFn AG_ConstPointerFn syn keyword cConstant AG_INT_MIN AG_INT_MAX AG_UINT_MIN AG_UINT_MAX syn keyword cConstant AG_FLT_MIN AG_FLT_MAX AG_DBL_MIN AG_DBL_MAX syn keyword cConstant AG_LDBL_MIN AG_LDBL_MAX AG_LONG_MIN AG_LONG_MAX syn keyword cConstant AG_ULONG_MIN AG_ULONG_MAX AG_LONGLONG_MIN syn keyword cConstant AG_LONGLONG_MAX AG_FILENAME_MAX AG_PATHNAME_MAX syn keyword cConstant AG_BUFFER_MIN AG_BUFFER_MAX AG_SEARCHPATH_MAX endif " For the Agar-GUI library (http://libagar.org/) if !exists("c_no_agar_gui") || exists("c_agar_gui_typedefs") syn keyword cType AG_Display AG_TTFFont AG_TTFGlyph AG_IconMgr syn keyword cType AG_Toolbar AG_Animview AG_Bitmap AG_Box syn keyword cType AG_Button AG_Checkbox AG_Combo AG_MenuView syn keyword cType AG_FileDlg AG_FileType AG_FixedPlotterValue syn keyword cType AG_FSpinbutton AG_FixedPlotter AG_Numerical syn keyword cType AG_FixedPlotterItem AG_HBox AG_FlagDescr syn keyword cType AG_HSVPal AG_Label AG_Matview AG_Menu syn keyword cType AG_MenuItem AG_Menuview AG_MFSpinbutton syn keyword cType AG_MSpinbutton AG_Notebook AG_HPane AG_MPane syn keyword cType AG_NotebookTab AG_ObjSelector AG_Scrollview syn keyword cType AG_Scrollbar AG_Separator AG_RadioItem syn keyword cType AG_Spinbutton AG_Statusbar AG_Treetbl syn keyword cType AG_Textbox AG_Textview AG_Titlebar AG_UCombo syn keyword cType AG_Pixmap AG_TextLine AG_TextChar AG_BlendFn syn keyword cType AG_VBox AG_VPane AG_HPane AG_Window AG_MPane syn keyword cType AG_Tlist AG_TlistItem AG_VPaneDiv AG_HPaneDiv syn keyword cType AG_ObjectSelector AG_PrimitiveOps AG_MPaneDiv syn keyword cType AG_TreetblColID AG_TreetblRowID AG_TreetblRowQ syn keyword cType AG_TreetblDataFn AG_TreetblSortFn AG_Unit syn keyword cType AG_TreetblCol AG_TreetblRow AG_Radio syn keyword cType AG_Widget AG_WidgetBinding AG_Binding AG_Style syn keyword cType AG_Font AG_Glyph AG_WidgetClass AG_Fixed syn keyword cType AG_Table AG_TableRow AG_TableCol AG_TableCell syn keyword cType AG_GLView AG_WidgetClipState AG_PopupMenu syn keyword cType AG_Pane AG_PaneDiv AG_Console AG_ConsoleLine syn keyword cType AG_TlistPopup AG_TablePopup AG_ColorSel syn keyword cType AG_Graph AG_GraphVertex AG_GraphEdge syn keyword cType AG_WidgetBindingType AG_TextState AG_Slider syn keyword cType AG_StaticFont AG_FontSelector syn keyword cType AG_SizeReq AG_SizeAlloc AG_Socket AG_Icon syn keyword cType AG_FileOption AG_ProgressBar AG_StaticIcon syn keyword cType AG_Point AG_Rect AG_PixmapSurface AG_Editable syn keyword cType AG_ClipRect AG_Rect2 AG_TreeviewItem syn keyword cType AG_TreetblCell endif " For the Agar-VG library (http://libagar.org/) if !exists("c_no_agar_vg") || exists("c_agar_vg_typedefs") syn keyword cType VG VG_Node VG_NodeOps VG_Layer VG_Matrix syn keyword cType VG_LineStyle VG_FillingStyle VG_TextStyle syn keyword cType VG_Style VG_Vector VG_Block VG_Rect AG_Drawing syn keyword cType VG_View VG_Tool VG_ToolOps VG_ToolKeyBinding syn keyword cType VG_ToolMouseBinding VG_Color VG_Point VG_Line syn keyword cType VG_Circle VG_Arc VG_Text VG_Polygon syn keyword cType VG_IndexedColor VG_Grid VG_CircleTool syn keyword cType VG_LineTool VG_ArcTool VG_PointTool syn keyword cType VG_TextTool VG_PolygonTool VG_ToolCommand syn keyword cType VG_SelectTool endif " For the Agar-RG library (http://libagar.org/) if !exists("c_no_agar_rg") || exists("c_agar_rg_typedefs") syn keyword cType RG_Anim RG_AnimFrame RG_AnimInsn syn keyword cType RG_Feature RG_FeatureOps RG_FeatureSketch syn keyword cType RG_FeaturePixmap RG_Pixmap RG_Sketch RG_Brush syn keyword cType RG_TextureSelector RG_Texture syn keyword cType RG_Tileset RG_Tile RG_TileElement syn keyword cType RG_TileviewCtrl RG_TileviewToolOps syn keyword cType RG_TileviewTool RG_TileviewBitmapToolOps syn keyword cType RG_TileviewSketchToolOps RG_Tileview syn keyword cType RG_TileviewHandle syn keyword cType RG_Animview RG_PixmapUndoBlk RG_PixmapMod syn keyword cType RG_SketchMod RG_SketchUndoBlk RG_Transform syn keyword cType RG_TransformChain RG_TileVariant RG_AnimVariant endif " For the Agar-MAP library (http://libagar.org/) if !exists("c_no_agar_map") || exists("c_agar_map_typedefs") syn keyword cType MAP MAP_View MAP_Node MAP_Item MAP_Tool syn keyword cType MAP_View MAP_ViewDrawCb MAP_Editor syn keyword cType MAP_Mod MAP_ModBlk MAP_Layer MAP_Camera syn keyword cType MAP_ToolKeyBinding MAP_ToolMouseBinding syn keyword cType MAP_ToolOps MAP_Actor MAP_ActorClass syn keyword cType MAP_NodeMask MAP_NodeMaskQ endif " For the SDL library (http://libsdl.org/) if !exists("c_no_sdl") || exists("c_sdl_typedefs") syn keyword cType Uint8 Sint8 Uint16 Sint16 Uint32 Sint32 syn keyword cType Uint64 Sint64 syn keyword cType SDL_Surface SDL_Rect SDL_Event SDL_Color syn keyword cType SDL_TimerID SDL_Palette SDL_Joystick syn keyword cType SDLKey SDLMod SDL_AudioSpec SDL_AudioCVT syn keyword cType SDL_PixelFormat SDL_Cursor SDL_VideoInfo syn keyword cType SDL_ActiveEvent SDL_KeyboardEvent syn keyword cType SDL_MouseMotionEvent SDL_MouseButtonEvent syn keyword cType SDL_JoyAxisEvent SDL_JoyBallEvent syn keyword cType SDL_JoyHatEvent SDL_JoyButtonEvent syn keyword cType SDL_ResizeEvent SDL_ExposeEvent syn keyword cType SDL_QuitEvent SDL_UserEvent syn keyword cType SDL_SysWMEvent endif " For OpenGL (http://opengl.org/) if !exists("c_no_gl") || exists("c_gl_typedefs") syn keyword cType GLbyte GLshort GLint GLsizei syn keyword cType GLfloat GLclampf syn keyword cType GLdouble GLclampd syn keyword cType GLubyte GLboolean GLushort GLuint syn keyword cType GLenum GLbitfield GLvoid endif " For the GLU library (http://opengl.org/) if !exists("c_no_glu") || exists("c_glu_typedefs") syn keyword cType GLUnurbs GLUquadric GLUtesselator syn keyword cType GLUnurbsObj GLUquadricObj GLUtesselatorObj syn keyword cType GLUtriangulatorObj endif " For POSIX threads if !exists("c_no_pthread") || exists("c_pthread_typedefs") syn keyword cType pthread_mutex_t pthread_mutexattr_t syn keyword cType pthread_rwlock_t pthread_rwlockattr_t syn keyword cType pthread_cond_t pthread_condattr_t syn keyword cType pthread_key_t pthread_t syn keyword cType rwlock_t rwlockattr_t pthread_attr_t endif " For BSD types if !exists("c_no_bsdsys") || exists("c_bsdsys_typedefs") syn keyword cType u_char u_short u_int u_long register_t syn keyword cType u_int8_t u_int16_t u_int32_t u_int64_t syn keyword cType u_quad_t quad_t fixpt_t syn keyword cType mode_t uid_t gid_t sigset_t pid_t syn keyword cType ssize_t off_t in_addr_t in_port_t sa_family_t syn keyword cType socklen_t bitstr_t syn keyword cType bus_space_tag_t bus_addr_t bus_space_handle_t endif " For csoft-cgi (http://hypertriton.com/csoft-cgi/) if !exists("c_no_csoftcgi") || exists("c_csoftcgi_typedefs") syn keyword cType VAR CGI_Query CGI_Session syn keyword cType HTML_Notebook HTML_NotebookTab syn keyword cType AUTH_Sess AUTH_SessVar syn keyword cType IndexEntry PartInfo endif " For mailprocd structures (http://hypertriton.com/mailprocd/) if !exists("c_no_mailprocd") || exists("c_mailprocd_typedefs") syn keyword cType SF_LogicOp SF_MsgStatus SF_Message SF_Rule syn keyword cType SF_Ruleset POL_Attrib POL_Request SF_Recipient syn keyword cType SMTP_Session ML_MailListReq CTL_Session syn keyword cType QMGR_MetaData endif " For OpenMGI structures (http://hypertriton.com/openmgi/) if !exists("c_no_openmgi") || exists("c_openmgi_typedefs") syn keyword cType MGI_Library MGI MGI_List MGI_Data syn keyword cType CLI_Command MGI_Library CLI_Module CLI_List syn keyword cType MGI_MailAddress MGI_MailInsn MGI_MailMacro syn keyword cType MGI_MailCond MGI_MailDeliveryCfg syn keyword cType MGI_MailListCfg MGI_MailSubscriber endif " For AgarWM (http://libagar.org/agarwm/) if !exists("c_no_agarwm") || exists("c_agarwm_typedefs") syn keyword cType WM_Client endif " For FabBSD (http://FabBSD.org/) if !exists("c_no_fabbsd") || exists("c_fabbsd_typedefs") syn keyword cType cnc_real_t cnc_step_t cnc_pos_t cnc_time_t syn keyword cType cnc_utime_t cnc_vec_t cnc_dist_t cnc_vel_t syn keyword cType ngc_real_t ngc_vec_t endif