vim/UltiSnips/cmake.snippets
Kenneth Benzie (Benie) b7bedfe837 Add '.vim/UltiSnips/' from commit '84cd9817817a28d58e92eb715273479509e51187'
git-subtree-dir: .vim/UltiSnips
git-subtree-mainline: f258dd00078a9aebb235c358b6048aac250d445a
git-subtree-split: 84cd9817817a28d58e92eb715273479509e51187
2016-02-11 14:35:59 +00:00

175 lines
4.5 KiB
Plaintext

global !p
def complete(t, opts):
if t:
opts = [m[len(t):] for m in opts if m.startswith(t)]
if len(opts) == 1:
return opts[0]
elif len(opts) == 0:
return ""
return '[' + '|'.join(opts) + ']'
endglobal
snippet add_compile_options "add_compile_options"
add_compile_options($1)
endsnippet
snippet add_custom_command "add_custom_command OUTPUT"
add_custom_command(OUTPUT ${1:outputs...}
COMMAND ${2:command}${3:
COMMAND ${4:command}}${5:
MAIN_DEPENDENCY ${6:depend}}${7:
DEPENDS ${8:depends...}}${9:
IMPLICIT_DEPENDS ${10:lang} ${11:depend}}${12:
WORKING_DIRECTORY ${13:dir}}${14:
COMMENT "${15:comment}"}${16: VERBATIM}${17: APPEND})
endsnippet
snippet add_custom_command "add_custom_command TARGET"
add_custom_command(TARGET ${1:target} $2`!p snip.rv=complete(t[2], ['PRE_BUILD', 'PRE_LINK', 'POST_BUILD'])`
COMMAND ${3:command}${4:
COMMAND ${5:command}}${6:
WORKING_DIRECTORY ${7:directory}}${8:
COMMENT "${9:comment}"}${10: VERBATIM})
endsnippet
snippet add_custom_target "add_custom_target"
add_custom_target(${1:target} ${2:ALL}
${3:command}${4:
COMMAND ${5:command}}${6:
DEPENDS ${7:depends...}}${8:
WORKING_DIRECTORY ${9:directory}}${10:
COMMENT "${11:comment}"}${12: VERBATIM}${13:
SOURCES ${14:sources}})
endsnippet
snippet add_definitions "add_definitions"
add_definitions(-D${1:MACRO}$2)
endsnippet
snippet add_dependencies "add_dependencies"
add_dependencies(${1:target} ${2:dependencies...})
endsnippet
snippet add_executable "add_executable"
add_executable(${1:target}${2: WIN32}${3: MACOSX_BUNDLE}${4:
EXCLUDE_FROM_ALL}
${0:sources...})
endsnippet
snippet add_library "add_library"
add_library(${1:target} $2`!p snip.rv=complete(t[2], ['STATIC', 'SHARED', 'MODULE'])`${4:
EXCLUDE_FROM_ALL}
${0:sources...})
endsnippet
snippet add_subdirectory "add_subdirectory"
add_subdirectory(${1:source_dir} ${2:binary_dir}${3: EXCLUDE_FROM_ALL})
endsnippet
snippet add_test "add_test"
add_test(NAME ${1:name}
COMMAND ${2:command}${3:
CONFIGURATIONS ${4:config}}${5:
WORKING_DIRECTORY ${6:directory}})
endsnippet
snippet aux_source_directory "aux_source_directory"
aux_source_directory(${1:directory} ${2:variable})
endsnippet
snippet break "break"
break()
endsnippet
snippet build_command "build_command"
build_command(${1:variable}${2:
CONFIGURATION ${3:config}}${4:
TARGET ${6:target}})
endsnippet
snippet cmake_host_system_information "cmake_host_system_information"
cmake_host_system_information(RESULT ${1:variable} QUERY $2`!p snip.rv=complete(t[2], ['NUMBER_OF_LOGICAL_CORES', 'NUMBER_OF_PHYSICAL_CORES', 'HOSTNAME', 'FQDN', 'TOTAL_VIRTUAL_MEMORY', 'AVAILABLE_VIRTUAL_MEMORY', 'TOTAL_PHYSICAL_MEMORY', 'AVAILABLE_PHYSICAL_MEMORY'])`)
endsnippet
snippet cmake_minimum_required "cmake_minimum_required"
cmake_minimum_required(VERSION $1${2: FATAL_ERROR})
endsnippet
snippet cmake_policy "cmake_policy VERSION"
cmake_policy(VERSION ${1:version})
endsnippet
snippet cmake_policy "cmake_policy SET"
cmake_policy(SET CMP${1:0000} $2`!p snip.rv=complete(t[2], ['OLD', 'NEW'])`)
endsnippet
snippet cmake_policy "cmake_policy GET"
cmake_policy(GET CMP${1:0000} ${2:variable})
endsnippet
snippet cmake_policy "cmake_policy PUSH/POP"
cmake_policy($1`!p snip.rv=complete(t[1], ['PUSH', 'POP'])`)
endsnippet
# TODO: file()
# TODO: find_file()
# TODO: find_package()
# TODO: find_path()
# TODO: find_program()
snippet foreach "foreach"
foreach(${1:ITEM} \$\{${2:LIST}\})
$0
endforeach()
endsnippet
snippet function "function"
function(${1:NAME} ${2:...})
$0
endfunction()
endsnippet
global !p
def if_completion_list():
return ['NOT', 'COMMAND', 'POLICY', 'TARGET', 'EXISTS', 'IS_DIRECTORY', 'IS_SYMLINK', 'IS_ABSOLUTE', 'DEFINED']
endglobal
snippet if "if"
if($1`!p snip.rv=complete(t[1], if_completion_list()) + ' '`$2)
$0
endif()
endsnippet
snippet elseif "elseif"
elseif($1`!p snip.rv=complete(t[1], if_completion_list()) + ' '`$0)
endsnippet
snippet include_directories "include_directories"
include_directories(\$\{${1:CMAKE_CURRENT_SOURCE_DIR}\}/$0)
endsnippet
# TODO: install()
# TODO: list()
snippet message "message"
message($1`!p snip.rv=complete(t[1], ['STATUS', 'WARNING', 'AUTHOR_WARNING', 'SEND_ERROR', 'FATAL_ERROR', 'DEPRECATION'])` "$2")
endsnippet
snippet set "set"
set(${1:VARIABLE} ${2:VALUE})
endsnippet
# TODO: set_property()
# TODO: set_target_properties()
# TODO: string()
snippet option "option"
option(${1:OPTION} "${2:Description}." $3`!p snip.rv=complete(t[3], ['ON', 'OFF'])`)
endsnippet
# TODO: target_include_directories()
snippet target_link_libraries "target_link_libraries"
target_link_libraries(${1:TARGET} ${2:LIBRARIES})
endsnippet