File tree Expand file tree Collapse file tree
src/main/java/com/hubspot/jinjava Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -308,19 +308,31 @@ private String getTagSnippet(Tag tag) {
308308 snippet .append (tag .getName ());
309309 int i = 1 ;
310310 for (JinjavaParam param : docAnnotation .input ()) {
311- snippet .append (" ${" + i + ":" + param .value () + "}" );
311+ String inputValue = "${" + i + ":" + param .value () + "}" ;
312+ if (param .value ().equalsIgnoreCase ("path" )) {
313+ inputValue = "'" + inputValue + "'" ;
314+ } else if (param .value ().equalsIgnoreCase ("argument_names" )) {
315+ inputValue = "(" + inputValue + ")" ;
316+ }
317+ snippet .append (" " + inputValue );
312318 i ++;
313319 }
314320
315321 for (JinjavaParam param : docAnnotation .params ()) {
316- snippet .append (" ${" + i + ":" + param .value () + "}" );
322+ String paramValue = "${" + i + ":" + param .value () + "}" ;
323+ if (param .value ().equalsIgnoreCase ("path" )) {
324+ paramValue = "'" + paramValue + "'" ;
325+ } else if (param .value ().equalsIgnoreCase ("argument_names" )) {
326+ paramValue = "(" + paramValue + ")" ;
327+ }
328+ snippet .append (" " + paramValue );
317329 i ++;
318330 }
319331
320332 snippet .append (" %}" );
321333
322334 if (tag .getClass ().getAnnotation (JinjavaHasCodeBody .class ) != null ) {
323- snippet .append ("\n ${" + i + ":Code} " );
335+ snippet .append ("\n $0 " );
324336 }
325337 if (tag .getEndTagName () != null ) {
326338 snippet .append ("\n {% " + tag .getEndTagName () + " %}" );
Original file line number Diff line number Diff line change 1616package com .hubspot .jinjava .lib .tag ;
1717
1818import com .hubspot .jinjava .doc .annotations .JinjavaDoc ;
19+ import com .hubspot .jinjava .doc .annotations .JinjavaHasCodeBody ;
1920import com .hubspot .jinjava .doc .annotations .JinjavaParam ;
2021import com .hubspot .jinjava .doc .annotations .JinjavaSnippet ;
2122import com .hubspot .jinjava .interpret .JinjavaInterpreter ;
4849 )
4950 }
5051)
52+ @ JinjavaHasCodeBody
5153public class BlockTag implements Tag {
5254 public static final String TAG_NAME = "block" ;
5355
Original file line number Diff line number Diff line change 22
33import com .hubspot .jinjava .doc .annotations .JinjavaDoc ;
44import com .hubspot .jinjava .doc .annotations .JinjavaSnippet ;
5+ import com .hubspot .jinjava .doc .annotations .JinjavaTextMateSnippet ;
56import com .hubspot .jinjava .interpret .JinjavaInterpreter ;
67import com .hubspot .jinjava .interpret .JinjavaInterpreter .InterpreterScopeClosable ;
78import com .hubspot .jinjava .lib .fn .MacroFunction ;
4849 )
4950 }
5051)
52+ @ JinjavaTextMateSnippet (
53+ code = "{% call ${1:macro_name}(${2:argument_names}) %}\n " + "$0\n " + "{% endcall %}"
54+ )
5155public class CallTag implements Tag {
5256 public static final String TAG_NAME = "call" ;
5357
Original file line number Diff line number Diff line change 22
33import com .hubspot .jinjava .doc .annotations .JinjavaDoc ;
44import com .hubspot .jinjava .doc .annotations .JinjavaSnippet ;
5+ import com .hubspot .jinjava .doc .annotations .JinjavaTextMateSnippet ;
56import com .hubspot .jinjava .interpret .JinjavaInterpreter ;
67import com .hubspot .jinjava .interpret .TemplateSyntaxException ;
78import com .hubspot .jinjava .tree .TagNode ;
1112 value = "Evaluates expression without printing out result." ,
1213 snippets = { @ JinjavaSnippet (code = "{% do list.append('value 2') %}" ) }
1314)
15+ @ JinjavaTextMateSnippet (code = "{% do ${1:expr} %}" )
1416public class DoTag implements Tag {
1517 public static final String TAG_NAME = "do" ;
1618
Original file line number Diff line number Diff line change 2020import com .hubspot .jinjava .doc .annotations .JinjavaHasCodeBody ;
2121import com .hubspot .jinjava .doc .annotations .JinjavaParam ;
2222import com .hubspot .jinjava .doc .annotations .JinjavaSnippet ;
23+ import com .hubspot .jinjava .doc .annotations .JinjavaTextMateSnippet ;
2324import com .hubspot .jinjava .interpret .DeferredValueException ;
2425import com .hubspot .jinjava .interpret .InterpretException ;
2526import com .hubspot .jinjava .interpret .JinjavaInterpreter ;
8182 }
8283)
8384@ JinjavaHasCodeBody
85+ @ JinjavaTextMateSnippet (
86+ code = "{% for ${1:items} in ${2:list} %}\n " + "{{ ${1} }}$0\n " + "{% endfor %}"
87+ )
8488public class ForTag implements Tag {
8589 public static final String TAG_NAME = "for" ;
8690
Original file line number Diff line number Diff line change 66import com .hubspot .jinjava .doc .annotations .JinjavaDoc ;
77import com .hubspot .jinjava .doc .annotations .JinjavaParam ;
88import com .hubspot .jinjava .doc .annotations .JinjavaSnippet ;
9+ import com .hubspot .jinjava .doc .annotations .JinjavaTextMateSnippet ;
910import com .hubspot .jinjava .interpret .Context ;
1011import com .hubspot .jinjava .interpret .DeferredValue ;
1112import com .hubspot .jinjava .interpret .DeferredValueException ;
5556 )
5657 }
5758)
59+ @ JinjavaTextMateSnippet (code = "{% from '${1:path}' import ${2:macro_name} %}" )
5860public class FromTag implements Tag {
5961 public static final String TAG_NAME = "from" ;
6062
Original file line number Diff line number Diff line change 44import com .hubspot .jinjava .doc .annotations .JinjavaDoc ;
55import com .hubspot .jinjava .doc .annotations .JinjavaParam ;
66import com .hubspot .jinjava .doc .annotations .JinjavaSnippet ;
7+ import com .hubspot .jinjava .doc .annotations .JinjavaTextMateSnippet ;
78import com .hubspot .jinjava .interpret .Context ;
89import com .hubspot .jinjava .interpret .DeferredValue ;
910import com .hubspot .jinjava .interpret .DeferredValueException ;
6162 )
6263 }
6364)
65+ @ JinjavaTextMateSnippet (code = "{% import '${1:path}' ${2: as ${3:import_name}} %}" )
6466public class ImportTag implements Tag {
6567 public static final String TAG_NAME = "import" ;
6668
You can’t perform that action at this time.
0 commit comments