diff --git a/config/nvim/UltiSnips/pro.snippets b/config/nvim/UltiSnips/pro.snippets
index 85b94c1042db26df46a1637a8feb22e7fb1e8aa6..ae3431a12e61ff25987bb831948b2d1826707d6b 100644
--- a/config/nvim/UltiSnips/pro.snippets
+++ b/config/nvim/UltiSnips/pro.snippets
@@ -2,36 +2,127 @@
 # Single Lines #
 ################
 
-#include
 snippet inc "Include" b
 Include "$1.${2:pro}";
 endsnippet
 
-#region
 snippet reg "Define Region"
 $1 = Region[ $2 ];
 endsnippet
 
+snippet term "Term"
+Term { [$1]; In $2; Jacobian $3; }
+endsnippet
+
+snippet local "Local"
+Local { [$1]; In $2; Jacobian $3; }
+endsnippet
+
+snippet pprint "PostOp Print"
+Print[ $1, OnElementsOf $2, File $3 ];
+endsnippet
+
 #################
 # Curly entries #
 #################
 
 snippet na "Name"
-{ Name $1;${2: Type $3;}
+{ Name $1;
+  $0
+}
+endsnippet
+
+snippet ty "Type"
+{ Type $1;
+  $0
+}
+endsnippet
+
+snippet naty "Name Type"
+{ Name $1; Type $2;
   $0
 }
 endsnippet
 
+snippet nava "Name Value"
+{ Name $1; Value {
+    $0
+  }
+}
+endsnippet
+
+snippet nafo "Name NameOfFormulation"
+{ Name $1; NameOfFormulation $2; ${3:
+  $0
+}}
+endsnippet
+
 snippet ca "Case"
 Case {
   $0
 }
 endsnippet
 
-snippet jca "Jac Case"
+snippet jca "Jacobian Case"
 { Region $1; Jacobian $2; }$0
 endsnippet
 
+snippet ica "Integration Case"
+{ GeoElement $1; NumberOfPoints $2; }$0
+endsnippet
+
+snippet cca "Constraint Case"
+{ Region $1; SubRegion $2; Value $3}$0
+endsnippet
+
+snippet bf "BasisFunction"
+BasisFunction {
+	${0}
+}
+endsnippet
+
+snippet bfe "BasisFunction Entry"
+{ Name $1; NameOfCoef $2; Function $3;
+  Support $4; Entity $5; }$0
+endsnippet
+
+snippet coe "Constraint Entry"
+{ NameOfCoef $1; EntityType ${2:Auto}; NameOfConstraint $3; }$0
+endsnippet
+
+snippet qua "Quantity"
+Quantity {
+  $0
+}
+endsnippet
+
+snippet que "Quantity Entry"
+{ Name $1; Type $2; NameOfSpace $3; }
+endsnippet
+
+snippet eq "Equation"
+Equation {
+  $0
+}
+endsnippet
+
+snippet ine "Integral Entry"
+Integral { [ $0, {${1:test_function}} ];
+  In $2; Jacobian $3; Integration ${4:Int}; }
+endsnippet
+
+snippet sy "System"
+System {
+  $0
+}
+endsnippet
+
+snippet op "Operation"
+Operation {
+  $0
+}
+endsnippet
+
 ################
 # Environments #
 ################
@@ -61,7 +152,7 @@ Function {
 }
 endsnippet
 
-snippet con "Constraint" b
+snippet con "Constraint"
 Constraint {
 	$0
 }
@@ -85,13 +176,13 @@ Resolution {
 }
 endsnippet
 
-snippet ppr "PostProcessing" b
+snippet posp "PostProcessing" b
 PostProcessing {
 	$0
 }
 endsnippet
 
-snippet pop "PostOperation" b
+snippet poso "PostOperation" b
 PostOperation {
 	$0
 }
@@ -101,7 +192,13 @@ endsnippet
 # Macros #
 ##########
 
-snippet if "If Else EndIf"
+snippet if "If EndIf"
+If ($1)
+	$0
+EndIf
+endsnippet
+
+snippet ife "If Else EndIf"
 If ($1)
 	$0${2:
 Else
@@ -120,3 +217,18 @@ Else
 	}
 EndIf
 endsnippet
+
+snippet while "While"
+While [$1] {
+  $0
+}
+endsnippet
+
+###########
+# Inlines #
+###########
+
+snippet scat "StrCat"
+StrCat[$1, $2]
+endsnippet
+
diff --git a/config/nvim/UltiSnips/snippets.snippets b/config/nvim/UltiSnips/snippets.snippets
new file mode 100644
index 0000000000000000000000000000000000000000..f5a27ace2f958e2232ab488ceef0dff4a84fd760
--- /dev/null
+++ b/config/nvim/UltiSnips/snippets.snippets
@@ -0,0 +1,6 @@
+snippet s "snippet" b
+snippet ${1:Trigger} "${2:Description}" ${3:Options}
+${4}
+`echo endsnippet`
+$0
+endsnippet