]> git.rmz.io Git - dotfiles.git/blob - vim/syntax/qmake.vim
nvim: introduce a rmz module for my utilities
[dotfiles.git] / vim / syntax / qmake.vim
1 "" qmake.vim
2 "" Description: syntax file for qmake tool from QT lib
3 "" Author: Makoto Nokata <nokatamakoto@gmail.com>
4 "" Version: 0.1
5 ""
6
7 if version < 600
8 syntax clear
9 elseif exists("b:current_syntax")
10 finish
11 endif
12
13 let b:current_syntax = "qmake"
14
15 syn case ignore
16 syn keyword qmakeFunctionConst contained basename CONFIG count dirname error eval exists find for
17 \ include infile isEmpty join member message prompt quote replace
18 \ sprintf system unique warning contains
19
20 syn match qmakeFunction "\w\+\s*("he=e-1 contains=qmakeFunctionConst,qmakeOperator,qmakeVariableValue
21 syn match qmakeCONFIGFunction "CONFIG\s*(.*)" contains=qmakeFunctionConst,qmakeOperator,
22 \ qmakeVariableValue,qmakeOptionsCONFIGConst
23
24 syn match qmakeOperator .[\.,!@#\$%\^&\*(){}\=:;|+\-/\]\[].
25 syn match qmakeComment /#.*$/
26 syn match qmakeVariableValue /\$\{1,2\}[{(\[]\{0,1\}\w\+[})\]]\{0,1\}/ contains=qmakeVariable
27 syn match qmakeVariableDefine /\w\+\s*\(\|[+\-~*]\)=/he=e-1 contains=qmakeVariable,qmakeOperator
28
29 syn match qmakeNumber .\d\+.
30 syn match qmakePath "\(\.\|\w\)*/\(\(\.\|\w\)*\(\|/\)\)*"
31 syn region qmakeString start=.". skip=.\\". end=.". oneline
32
33 syn region qmakeOptionsQT start=.QT\s*\(\|[+\-~*]\)=. skip=.\\\s*$. end=.$. keepend
34 \ contains=qmakeOptionsQTConst,qmakeOperator,qmakeVariable
35 syn keyword qmakeOptionsQTConst core gui network opengl sql svg xml xmlpatterns qt3support contained
36
37 syn region qmakeOptionsTEMPLATE start=.TEMPLATE\s*\(\|[+\-~*]\)=. skip=.\\\s*$. end=.$. keepend
38 \ contains=qmakeOptionsTEMPLATEConst,qmakeOperator,qmakeVariable
39 syn keyword qmakeOptionsTEMPLATEConst app lib subdirs vcapp vclib contained
40
41 syn region qmakeOptionsCONFIG start=.CONFIG\s*\(\|[+\-~*]\)=. skip=.\\\s*$. end=.$. keepend
42 \ contains=qmakeOptionsCONFIGConst,qmakeOperator,qmakeVariable
43 syn keyword qmakeOptionsCONFIGConst release debug debug_and_release build_all ordered precompile_header
44 \ warn_on warn_off create_prl link_prl qt thread x11 windows console
45 \ shared dll dylib static staticlib plugin designer uic3
46 \ no_lflags_merge resources 3dnow exceptions mmx rtti stl sse sse2
47 \ flat embed_manifest_dll embed_manifest_exe incremental
48 \ ppc x86 app_bundle lib_bundle largefile separate_debug_info contained
49
50 syn keyword qmakeVariable CONFIG DEFINES DEF_FILE DEPENDPATH DEPLOYMENT DEPLOYMENT_PLUGIN
51 \ DESTDIR DESTDIR_TARGET DLLDESTDIR DISTFILES DSP_TEMPLATE FORMS
52 \ FORMS3 GUID HEADERS INCLUDEPATH INSTALLS LEXIMPLS LEXOBJECTS
53 \ LEXSOURCES LIBS LITERAL_HASH MAKEFILE MAKEFILE_GENERATOR MOC_DIR
54 \ OBJECTS OBJECTS_DIR OBJMOC POST_TARGETDEPS PRE_TARGETDEPS
55 \ PRECOMPILED_HEADER PWD OUT_PWD QMAKE QMAKESPEC QMAKE_APP_FLAG
56 \ QMAKE_APP_OR_DLL QMAKE_AR_CMD QMAKE_BUNDLE_DATA
57 \ QMAKE_BUNDLE_EXTENSION QMAKE_CC QMAKE_CFLAGS_DEBUG QMAKE_CFLAGS_MT
58 \ QMAKE_CFLAGS_MT_DBG QMAKE_CFLAGS_MT_DLL QMAKE_CFLAGS_MT_DLLDBG
59 \ QMAKE_CFLAGS_RELEASE QMAKE_CFLAGS_SHLIB QMAKE_CFLAGS_THREAD
60 \ QMAKE_CFLAGS_WARN_OFF QMAKE_CFLAGS_WARN_ON QMAKE_CLEAN QMAKE_CXX
61 \ QMAKE_CXXFLAGS QMAKE_CXXFLAGS_DEBUG QMAKE_CXXFLAGS_MT
62 \ QMAKE_CXXFLAGS_MT_DBG QMAKE_CXXFLAGS_MT_DLL
63 \ QMAKE_CXXFLAGS_MT_DLLDBG QMAKE_CXXFLAGS_RELEASE QMAKE_CXXFLAGS_SHLIB
64 \ QMAKE_CXXFLAGS_THREAD QMAKE_CXXFLAGS_WARN_OFF QMAKE_CXXFLAGS_WARN_ON
65 \ QMAKE_DISTCLEAN QMAKE_EXTENSION_SHLIB QMAKE_EXT_MOC QMAKE_EXT_UI
66 \ QMAKE_EXT_PRL QMAKE_EXT_LEX QMAKE_EXT_YACC QMAKE_EXT_OBJ
67 \ QMAKE_EXT_CPP QMAKE_EXT_H QMAKE_EXTRA_COMPILERS QMAKE_EXTRA_TARGETS
68 \ QMAKE_FAILED_REQUIREMENTS QMAKE_FILETAGS QMAKE_FRAMEWORK_BUNDLE_NAME
69 \ QMAKE_FRAMEWORK_VERSION QMAKE_INCDIR QMAKE_INCDIR_OPENGL
70 \ QMAKE_INCDIR_QT QMAKE_INCDIR_THREAD QMAKE_INCDIR_X11 QMAKE_INFO_PLIST
71 \ QMAKE_LFLAGS QMAKE_LFLAGS_CONSOLE QMAKE_LFLAGS_CONSOLE_DLL
72 \ QMAKE_LFLAGS_DEBUG QMAKE_LFLAGS_PLUGIN QMAKE_LFLAGS_QT_DLL
73 \ QMAKE_LFLAGS_RELEASE QMAKE_LFLAGS_SHAPP QMAKE_LFLAGS_SHLIB
74 \ QMAKE_LFLAGS_SONAME QMAKE_LFLAGS_THREAD QMAKE_LFLAGS_WINDOWS
75 \ QMAKE_LFLAGS_WINDOWS_DLL QMAKE_LIBDIR QMAKE_LIBDIR_FLAGS
76 \ QMAKE_LIBDIR_OPENGL QMAKE_LIBDIR_QT QMAKE_LIBDIR_X11 QMAKE_LIBS
77 \ QMAKE_LIBS_CONSOLE QMAKE_LIBS_OPENGL QMAKE_LIBS_OPENGL_QT
78 \ QMAKE_LIBS_QT QMAKE_LIBS_QT_DLL QMAKE_LIBS_QT_OPENGL
79 \ QMAKE_LIBS_QT_THREAD QMAKE_LIBS_RT QMAKE_LIBS_RTMT
80 \ QMAKE_LIBS_THREAD QMAKE_LIBS_WINDOWS QMAKE_LIBS_X11 QMAKE_LIBS_X11SM
81 \ QMAKE_LIB_FLAG QMAKE_LINK_SHLIB_CMD QMAKE_POST_LINK QMAKE_PRE_LINK
82 \ QMAKE_LN_SHLIB QMAKE_MAC_SDK QMAKE_MACOSX_DEPLOYMENT_TARGET
83 \ QMAKE_MAKEFILE QMAKE_MOC_SRC QMAKE_QMAKE QMAKE_QT_DLL
84 \ QMAKE_RESOURCE_FLAGS QMAKE_RUN_CC QMAKE_RUN_CC_IMP QMAKE_RUN_CXX
85 \ QMAKE_RUN_CXX_IMP QMAKE_TARGET QMAKE_UIC QT QTPLUGIN QT_VERSION
86 \ QT_MAJOR_VERSION QT_MINOR_VERSION QT_PATCH_VERSION RC_FILE RCC_DIR
87 \ REQUIRES RESOURCES RES_FILE SIGNATURE_FILE SOURCES SRCMOC SUBDIRS
88 \ TARGET TARGET_EXT TEMPLATE TRANSLATIONS UICIMPLS UICOBJECTS UI_DIR
89 \ UI_HEADERS_DIR UI_SOURCES_DIR VERSION VER_MAJ VER_MIN VER_PAT VPATH
90 \ YACCIMPLS YACCOBJECTS YACCSOURCES _PRO_FILE_ _PRO_FILE_PWD_ contained
91
92 syn match qmakeVariable .TARGET_\d\+\(\|\.\d\+\.\d\+\). contained
93
94 hi def link qmakeVariable Statement
95 hi def link qmakeVariableValue Type
96 hi def link qmakeVariableDefine Type
97 hi def link qmakeComment Comment
98 hi def link qmakeString String
99 hi def link qmakeFunctionConst Function
100 hi def link qmakeOperator Operator
101 hi def link qmakeNumber Number
102 hi def link qmakePath qmakeString
103 hi def link qmakeOptionsQTConst Constant
104 hi def link qmakeOptionsTEMPLATEConst Constant
105 hi def link qmakeOptionsCONFIGConst Constant