
Previously, we were at an ACE editor published between 1.1.8 and 1.1.9. This caused multiple issues and was especially a problem for the upcoming pair programming feature. Further, updating ace is a long-time priority, see https://github.com/openHPI/codeocean/issues/250. Now, we are not yet updating to the latest version, but rather to the next minor version. This already contains breaking changes, and we are currently interested to keep the number of changes as low as possible. Further updating ACE might be still a future task. The new ACE version 1.2.0 is taken from this tag: https://github.com/ajaxorg/ace-builds/releases/tag/v1.2.0. We are using the src build (not minified, not in the noconflict version), since the same was used before as well. Further, we need to change our migration for storing editor events. Since the table is not yet used (in production), we also update the enum.
139 lines
2.9 KiB
JavaScript
139 lines
2.9 KiB
JavaScript
define("ace/snippets/c_cpp",["require","exports","module"], function(require, exports, module) {
|
|
"use strict";
|
|
|
|
exports.snippetText = "## STL Collections\n\
|
|
# std::array\n\
|
|
snippet array\n\
|
|
std::array<${1:T}, ${2:N}> ${3};${4}\n\
|
|
# std::vector\n\
|
|
snippet vector\n\
|
|
std::vector<${1:T}> ${2};${3}\n\
|
|
# std::deque\n\
|
|
snippet deque\n\
|
|
std::deque<${1:T}> ${2};${3}\n\
|
|
# std::forward_list\n\
|
|
snippet flist\n\
|
|
std::forward_list<${1:T}> ${2};${3}\n\
|
|
# std::list\n\
|
|
snippet list\n\
|
|
std::list<${1:T}> ${2};${3}\n\
|
|
# std::set\n\
|
|
snippet set\n\
|
|
std::set<${1:T}> ${2};${3}\n\
|
|
# std::map\n\
|
|
snippet map\n\
|
|
std::map<${1:Key}, ${2:T}> ${3};${4}\n\
|
|
# std::multiset\n\
|
|
snippet mset\n\
|
|
std::multiset<${1:T}> ${2};${3}\n\
|
|
# std::multimap\n\
|
|
snippet mmap\n\
|
|
std::multimap<${1:Key}, ${2:T}> ${3};${4}\n\
|
|
# std::unordered_set\n\
|
|
snippet uset\n\
|
|
std::unordered_set<${1:T}> ${2};${3}\n\
|
|
# std::unordered_map\n\
|
|
snippet umap\n\
|
|
std::unordered_map<${1:Key}, ${2:T}> ${3};${4}\n\
|
|
# std::unordered_multiset\n\
|
|
snippet umset\n\
|
|
std::unordered_multiset<${1:T}> ${2};${3}\n\
|
|
# std::unordered_multimap\n\
|
|
snippet ummap\n\
|
|
std::unordered_multimap<${1:Key}, ${2:T}> ${3};${4}\n\
|
|
# std::stack\n\
|
|
snippet stack\n\
|
|
std::stack<${1:T}> ${2};${3}\n\
|
|
# std::queue\n\
|
|
snippet queue\n\
|
|
std::queue<${1:T}> ${2};${3}\n\
|
|
# std::priority_queue\n\
|
|
snippet pqueue\n\
|
|
std::priority_queue<${1:T}> ${2};${3}\n\
|
|
##\n\
|
|
## Access Modifiers\n\
|
|
# private\n\
|
|
snippet pri\n\
|
|
private\n\
|
|
# protected\n\
|
|
snippet pro\n\
|
|
protected\n\
|
|
# public\n\
|
|
snippet pub\n\
|
|
public\n\
|
|
# friend\n\
|
|
snippet fr\n\
|
|
friend\n\
|
|
# mutable\n\
|
|
snippet mu\n\
|
|
mutable\n\
|
|
## \n\
|
|
## Class\n\
|
|
# class\n\
|
|
snippet cl\n\
|
|
class ${1:`Filename('$1', 'name')`} \n\
|
|
{\n\
|
|
public:\n\
|
|
$1(${2});\n\
|
|
~$1();\n\
|
|
\n\
|
|
private:\n\
|
|
${3:/* data */}\n\
|
|
};\n\
|
|
# member function implementation\n\
|
|
snippet mfun\n\
|
|
${4:void} ${1:`Filename('$1', 'ClassName')`}::${2:memberFunction}(${3}) {\n\
|
|
${5:/* code */}\n\
|
|
}\n\
|
|
# namespace\n\
|
|
snippet ns\n\
|
|
namespace ${1:`Filename('', 'my')`} {\n\
|
|
${2}\n\
|
|
} /* namespace $1 */\n\
|
|
##\n\
|
|
## Input/Output\n\
|
|
# std::cout\n\
|
|
snippet cout\n\
|
|
std::cout << ${1} << std::endl;${2}\n\
|
|
# std::cin\n\
|
|
snippet cin\n\
|
|
std::cin >> ${1};${2}\n\
|
|
##\n\
|
|
## Iteration\n\
|
|
# for i \n\
|
|
snippet fori\n\
|
|
for (int ${2:i} = 0; $2 < ${1:count}; $2${3:++}) {\n\
|
|
${4:/* code */}\n\
|
|
}${5}\n\
|
|
\n\
|
|
# foreach\n\
|
|
snippet fore\n\
|
|
for (${1:auto} ${2:i} : ${3:container}) {\n\
|
|
${4:/* code */}\n\
|
|
}${5}\n\
|
|
# iterator\n\
|
|
snippet iter\n\
|
|
for (${1:std::vector}<${2:type}>::${3:const_iterator} ${4:i} = ${5:container}.begin(); $4 != $5.end(); ++$4) {\n\
|
|
${6}\n\
|
|
}${7}\n\
|
|
\n\
|
|
# auto iterator\n\
|
|
snippet itera\n\
|
|
for (auto ${1:i} = $1.begin(); $1 != $1.end(); ++$1) {\n\
|
|
${2:std::cout << *$1 << std::endl;}\n\
|
|
}${3}\n\
|
|
##\n\
|
|
## Lambdas\n\
|
|
# lamda (one line)\n\
|
|
snippet ld\n\
|
|
[${1}](${2}){${3:/* code */}}${4}\n\
|
|
# lambda (multi-line)\n\
|
|
snippet lld\n\
|
|
[${1}](${2}){\n\
|
|
${3:/* code */}\n\
|
|
}${4}\n\
|
|
";
|
|
exports.scope = "c_cpp";
|
|
|
|
});
|