summaryrefslogtreecommitdiff
path: root/luasnip_snippets/cpp.json
diff options
context:
space:
mode:
Diffstat (limited to 'luasnip_snippets/cpp.json')
-rw-r--r--luasnip_snippets/cpp.json328
1 files changed, 231 insertions, 97 deletions
diff --git a/luasnip_snippets/cpp.json b/luasnip_snippets/cpp.json
index d9b0ba0..4e4f6b8 100644
--- a/luasnip_snippets/cpp.json
+++ b/luasnip_snippets/cpp.json
@@ -1,120 +1,254 @@
{
- "main": {
- "prefix": "main",
+ "for": {
+ "prefix": "for",
"body": [
- "int main(int argc, char *argv[])",
- "{",
+ "for (${1:size_t} ${2:i} = ${3:0}; $2 < ${4:length}; $2++) {",
"\t$0",
- "\treturn 0;",
- "\\}"
+ "}"
],
- "luasnip": {
- "priority": -49
- }
+ "description": "Code snippet for 'for' loop"
},
- "readfile": {
- "prefix": "readfile",
- "description": "read file (readF)",
- "body": [
- "std::vector<char> v;",
- "if (FILE *fp = fopen(${1:\"filename\"}, \"r\"))",
- "{",
- "\tchar buf[1024];",
- "\twhile(size_t len = fread(buf, 1, sizeof(buf), fp))",
- "\t\tv.insert(v.end(), buf, buf + len);",
- "\tfclose(fp);",
- "\\}"
- ]
- },
- "map": {
- "prefix": "map",
- "description": "std::map (map)",
- "body": "std::map<${1:key}, ${2:value}> map$0;"
- },
- "vector": {
- "prefix": "vector",
- "description": "std::vector (v)",
- "body": "std::vector<${1:char}> v$0;"
- },
- "tp": {
- "prefix": "tp",
- "description": "template <typename ..> (template)",
- "body": "template <typename ${1:_InputIter}>"
- },
- "boost_test": {
- "prefix": "boost_test",
- "description": "Boost test module",
+ "forr": {
+ "prefix": "forr",
"body": [
- "#define BOOST_TEST_MODULE ${1:TestModuleName}",
- "#include <boost/test/included/unit_test.hpp>",
- "",
- "BOOST_AUTO_TEST_CASE(${2:TestCaseName})",
- "{",
- "\t${0:TestDefinition}",
- "\\}",
- ""
- ]
+ "for (${1:size_t} ${2:i} = ${3:length} - 1; $2 >= ${4:0}; $2--) {",
+ "\t$0",
+ "}"
+ ],
+ "description": "Code snippet for reverse 'for' loop"
+ },
+ "do": {
+ "prefix": "do",
+ "body": ["do", "{", "\t$0", "} while($1);"],
+ "description": "Code snippet for do...while loop"
+ },
+ "while": {
+ "prefix": "while",
+ "body": ["while ($1)", "{", "\t$2", "}"],
+ "description": ""
+ },
+ "foreach": {
+ "prefix": "foreach",
+ "body": ["for(${1:auto} ${2:var} : ${3:collection_to_loop})", "{", "\t$0", "}"],
+ "description": "Code snippet for range-based for loop (c++11) statement"
+ },
+ "if": {
+ "prefix": "if",
+ "body": ["if ($1) {", "\t$0", "}"],
+ "description": "Code snippet for if statement"
+ },
+ "else": {
+ "prefix": "else",
+ "body": ["else {", "\t$0", "}"],
+ "description": "Code snippet for else statement"
+ },
+ "else if": {
+ "prefix": "else if",
+ "body": ["else if ($1) {", "\t$0", "}"],
+ "description": "Code snippet for else-if statement"
},
- "boost_suite": {
- "prefix": "boost_suite",
- "description": "Boost test suite module",
+ "enum": {
+ "prefix": "enum",
+ "body": ["enum ${1:MyEnum} {", "\t$0", "};"],
+ "description": "Code snippet for enum"
+ },
+ "enum class": {
+ "prefix": "enum class",
+ "body": ["enum class ${1:MyClass} {$0};"],
+ "description": "Code snippet for enum class (c++11)"
+ },
+ "class": {
+ "prefix": "class",
"body": [
- "#define BOOST_TEST_MODULE ${1:TestModuleName}",
- "#include <boost/test/included/unit_test.hpp>",
+ "class ${1:MyClass}",
+ "{",
+ "public:",
+ "\t$1();",
+ "\t$1($1 &&) = default;",
+ "\t$1(const $1 &) = default;",
+ "\t$1 &operator=($1 &&) = default;",
+ "\t$1 &operator=(const $1 &) = default;",
+ "\t~$1();",
"",
- "BOOST_AUTO_TEST_SUITE(${2:SuiteName})",
+ "private:",
+ "\t$2",
+ "};",
"",
- "BOOST_AUTO_TEST_CASE(${3:TestCaseName})",
+ "$1::$1()",
"{",
- "\t${0:TestDefinition}",
- "\\}",
+ "}",
"",
- "BOOST_AUTO_TEST_SUITE_END()",
- ""
- ]
+ "$1::~$1()",
+ "{",
+ "}"
+ ],
+ "description": "Code snippet for class"
},
- "boost_test_fixture": {
- "prefix": "boost_test_fixture",
- "description": "Boost test module with fixture",
+ "eclass": {
+ "prefix": "eclass",
"body": [
- "#define BOOST_TEST_MODULE ${1:TestModuleName}",
- "#include <boost/test/included/unit_test.hpp>",
- "",
- "struct ${2:FixtureName} {",
- "\t$2() {\\}",
- "\tvirtual ~$2() {\\}",
- "\t/* define members here */",
- "\\};",
- "",
- "BOOST_FIXTURE_TEST_CASE(${3:SuiteName}, $2)",
+ "class ${1:MyClass}",
"{",
- "\t${0:TestDefinition}",
- "\\}",
+ "public:",
+ "\t$2",
+ "private:",
+ "\t$3",
+ "};",
""
- ]
+ ],
+ "description": "Code snippet for empty class"
},
- "boost_suite_fixture": {
- "prefix": "boost_suite_fixture",
- "description": "Boost test suite with fixture",
+ "qclass": {
+ "prefix": "qclass",
"body": [
- "#define BOOST_TEST_MODULE ${1:TestModuleName}",
- "#include <boost/test/included/unit_test.hpp>",
- "",
- "struct ${2:FixtureName} {",
- "\t$2() {\\}",
- "\tvirtual ~$2() {\\}",
- "\t/* define members here */",
- "\\};",
- "",
- "BOOST_FIXTURE_TEST_SUITE(${3:SuiteName}, $2)",
- "",
- "BOOST_AUTO_TEST_CASE(${4:TestCaseName})",
+ "class ${1:MyClass} : public QObject",
"{",
- "\t${0:TestDefinition}",
- "\\}",
+ "\tQ_OBJECT;",
+ "public:",
+ "\nexplicit $1(QObject *parent = nullptr);",
+ "\t$2",
+ "signals:",
"",
- "BOOST_AUTO_TEST_SUITE_END()",
+ "public slots:",
+ "};",
""
- ]
+ ],
+ "description": "Code snippet for empty Qt class"
+ },
+ "classi": {
+ "prefix": "classi",
+ "body": [
+ "class ${1:MyClass}",
+ "{",
+ "public:",
+ "\t$1() = default;",
+ "\t$1($1 &&) = default;",
+ "\t$1(const $1 &) = default;",
+ "\t$1 &operator=($1 &&) = default;",
+ "\t$1 &operator=(const $1 &) = default;",
+ "\t~$1() = default;",
+ "",
+ "private:",
+ "\t$2",
+ "};"
+ ],
+ "description": "Code snippet for class with inline constructor/destructor"
+ },
+ "interface": {
+ "prefix": "interface",
+ "body": ["__interface I${1:Interface}", "{", "\t$0", "};"],
+ "description": "Code snippet for interface (Visual C++)"
+ },
+ "namespace": {
+ "prefix": "namespace",
+ "body": ["namespace ${1:MyNamespace}", "{", "\t$0", "}"]
+ },
+ "#ifdef": {
+ "prefix": "#ifdef",
+ "body": ["#ifdef ${1:DEBUG}", "$0", "#endif // ${DEBUG}"],
+ "description": "Code snippet for #ifdef"
+ },
+ "#ifndef": {
+ "prefix": "#ifndef",
+ "body": ["#ifndef ${1:DEBUG}", "$0", "#endif // !$1"],
+ "description": "Code snippet for #ifndef"
+ },
+ "#if": {
+ "prefix": "#if",
+ "body": ["#if ${1:0}", "$0", "#endif // $1"],
+ "description": "Code snippet for #if"
+ },
+ "struct": {
+ "prefix": "struct",
+ "body": ["struct ${1:MyStruct}", "{", "\t$0", "};"],
+ "description": "Code snippet for struct"
+ },
+ "switch": {
+ "prefix": "switch",
+ "body": ["switch (${1:switch_on}) {", "\tdefault:", "\t\t$0", "\t\tbreak;", "}"],
+ "description": "Code snippet for switch statement"
+ },
+ "try": {
+ "prefix": "try",
+ "body": [
+ "try {",
+ "\t",
+ "}",
+ "catch (const std::exception&) {",
+ "\t$1",
+ "}"
+ ],
+ "description": "Code snippet for try catch"
+ },
+ "union": {
+ "prefix": "union",
+ "body": ["union ${1:MyUnion}", "{", "\t$0", "};"],
+ "description": "Code snippet for union"
+ },
+ "cout": {
+ "prefix": "cout",
+ "body": ["std::cout << \"${1:message}\" << std::endl;"],
+ "description": "Code snippet for printing to std::cout, provided the header is set"
+ },
+ "cin": {
+ "prefix": "cin",
+ "body": ["std::cin >> $1;"],
+ "description": "Code snippet for std::cin, provided the header is set"
+ },
+ "printf": {
+ "prefix": "printf",
+ "body": ["printf(\"$1\\n\"$0);"],
+ "description": "Generic printf() snippet"
+ },
+ "sprintf": {
+ "prefix": "sprintf",
+ "body": ["sprintf($1, \"$2\\n\"$0);"],
+ "description": "Generic sprintf() snippet"
+ },
+ "fprintf": {
+ "prefix": "fprintf",
+ "body": ["fprintf(${1:stderr}, \"$2\\n\"$0);"],
+ "description": "Generic fprintf() snippet"
+ },
+ "scanf": {
+ "prefix": "scanf",
+ "body": ["scanf(\"$1\"$0);"],
+ "description": "Generic scanf() snippet"
+ },
+ "sscanf": {
+ "prefix": "sscanf",
+ "body": ["sscanf($1, \"$2\"$0);"],
+ "description": "Generic sscanf() snippet"
+ },
+ "fscanf": {
+ "prefix": "fscanf",
+ "body": ["fscanf($1, \"$2\"$0);"],
+ "description": "Generic fscanf() snippet"
+ },
+ "#inc": {
+ "prefix": "#inc",
+ "body": ["#include \"$0\""],
+ "description": "Code snippet for #include \" \""
+ },
+ "#inc<": {
+ "prefix": "#inc<",
+ "body": ["#include <$0>"],
+ "description": "Code snippet for #include < >"
+ },
+ "#def": {
+ "prefix": "def",
+ "body": ["#define $0"],
+ "description": "Code snippet for #define \" \""
+ },
+ "Main function template": {
+ "prefix": "main",
+ "body": [
+ "int main (int argc, char *argv[])",
+ "{",
+ "\t$1",
+ "\treturn 0;",
+ "}"
+ ],
+ "description": "A standard main function for a C++ program"
}
}