Skip to content

Commit

Permalink
more_snippets_in_stdlib (#16)
Browse files Browse the repository at this point in the history
* Move block to core.json

* Add several snippet definitions
  • Loading branch information
Ahhhhmed committed Apr 16, 2018
1 parent 9e787ec commit 14e993e
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 5 deletions.
4 changes: 4 additions & 0 deletions homotopy/stdlib/core.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[
{"name": "block","language": "all","snippet": ">>>{{opt_block}}"},
{"name": "opt_block","language": "all","snippet": "\n>>>{{opt_block}}"}
]
12 changes: 8 additions & 4 deletions homotopy/stdlib/cpp.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
{"name": "for","language": "C++","snippet": "for(### $$$; $$$<%%%; $$$++){\n{{inside_block}}\n}"},
{"name": "forr","language": "C++","snippet": "for(### $$$=%%%; $$$>=0; $$$--){\n{{inside_block}}\n}"},
{"name": "forin","language": "C++","snippet": "for(auto&& $$$: %%%){\n{{inside_block}}\n}"},
{"name": "if","language": "C++","snippet": "if(###){\n{{inside_block}}\n}"},
{"name": "if","language": "C++","snippet": "if($$$){\n{{inside_block}}\n}"},
{"name": "while","language": "C++","snippet": "while($$$){\n{{inside_block}}\n}"},
{"name": "inside_block","language": "C++","snippet": "\t>>>{{opt_inside_block}}"},
{"name": "opt_inside_block","language": "C++","snippet": "\n\t>>>{{opt_inside_block}}"},
{"name": "switch","language": "C++","snippet": "switch($$$){\n{{inside_block}}\n}"},
Expand All @@ -13,9 +14,12 @@
{"name": "pub_extend","language": "C++","snippet": ": public :::"},
{"name": "priv_extend","language": "C++","snippet": ": private ~~~"},
{"name": "prot_extend","language": "C++","snippet": ": protected %%%"},
{"name": "method","language": "C++","snippet": "public: ### $$$({{params}}){\n{{inside_block}}\n}"},
{"name": "pmethod","language": "C++","snippet": "private: ### $$$({{params}}){\n{{inside_block}}\n}"},
{"name": "amethod","language": "C++","snippet": "private: ### $$$({{params}}) = 0;"},
{"name": "constr","language": "C++","snippet": "public: {{?###}}({{params}}){\n{{inside_block}}\n}"},
{"name": "pconstr","language": "C++","snippet": "private: {{?###}}({{params}}){\n{{inside_block}}\n}"},
{"name": "func","language": "C++","snippet": "### $$$({{params}}){\n{{inside_block}}\n}"},
{"name": "params","language": "C++","snippet": "### $$${{opt_params}}"},
{"name": "opt_params","language": "C++","snippet": ", ### $$${{opt_params}}"},
{"name": "block","language": "C++","snippet": ">>>{{opt_block}}"},
{"name": "opt_block","language": "C++","snippet": "\n>>>{{opt_block}}"}
{"name": "opt_params","language": "C++","snippet": ", ### $$${{opt_params}}"}
]
55 changes: 54 additions & 1 deletion test/testStdlib.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,19 @@ def testCpp(self):
}
""")

self.singleSnippet('if#i==3>return 5;', """
self.singleSnippet('if$i==3>return 5;', """
if(i==3){
\treturn 5;
\t[{cursor_marker}]
}
""")
self.singleSnippet('while$i==3>return 5;', """
while(i==3){
\treturn 5;
\t[{cursor_marker}]
}
""")
self.singleSnippet('forr#int$i%n>printf("hello");', """
for(int i=n; i>=0; i--){
Expand Down Expand Up @@ -101,4 +108,50 @@ class A: private B {
\t[{cursor_marker}]
};
""")
self.singleSnippet('class#A>constr#int$i&constr#int$i#int$j', """
class A {
\tpublic: A(int i){
}
\tpublic: A(int i, int j){
}
\t[{cursor_marker}]
};
""")
self.singleSnippet('class#A:B>pconstr#int$i', """
class A: public B {
\tprivate: A(int i){
}
\t[{cursor_marker}]
};
""")
self.singleSnippet('class#A:B>pconstr#int$i&method#void$test#int$value', """
class A: public B {
\tprivate: A(int i){
}
\tpublic: void test(int value){
}
\t[{cursor_marker}]
};
""")
self.singleSnippet('class#A:B>pconstr#int$i>// c++ comment&pmethod#int$five>return 5', """
class A: public B {
\tprivate: A(int i){
\t// c++ comment
\tprivate: int five(){
\treturn 5
\t[{cursor_marker}]
}
}
};
""")
self.singleSnippet('class#A:B>amethod#void$name', """
class A: public B {
\tprivate: void name() = 0;
\t[{cursor_marker}]
};
""")

0 comments on commit 14e993e

Please sign in to comment.