{
	".source.solidity": {
		"pragma solidity":{
			"prefix": "pra",
			"body": "pragma solidity ${1:version};"
		},
		"import contract": {
			"prefix": "im",
			"body": "import '${1:contract}';"
		},
        "contract declaration": {
			"prefix": "con",
			"body": "contract ${1:Name} {\n\t$0\n}"
		},
		"library declaration": {
			"prefix": "lib",
			"body": "library ${1:Name} {\n\t$0\n}"
		},
		"interface declaration": {
			"prefix": "interf",
			"body": "interface ${1:Name} {\n\t$0\n}"
		},
		"enum declaration": {
			"prefix": "enum",
			"body": "enum ${1:Name} {${2:item1}, ${3:item2} }"
		},
        "mapping declaration":{
            "prefix": "map",
			"body": "mapping (${1:type1}=>${2:type2}) ${3:name};"
		},
		"constructor declaration": {
			"prefix": "const",
			"body": "constructor (${1:type} ${2:name}) public {\n\t$0\n}"
		},
        "function declaration": {
			"prefix": "func",
			"body": "function ${1:name}(${2:type} ${3:name}) {\n\t$0\n}"
		},
        "function return declaration": {
			"prefix": "funcr",
			"body": "function ${1:name}(${2:type} ${3:name}) returns (${4:type} ${5:name}) {\n\t$0\n}"
		}
        ,
        "function view declaration": {
			"prefix": "funcrview",
			"body": "function ${1:name}(${2:type} ${3:name}) view public returns (${4:type} ${5:name}) {\n\t$0\n}"
        },
        "event declaration": {
			"prefix": "ev",
			"body": "event ${1:name}(${2:type} ${3:name} $0);"
        },
        "modifier declaration": {
			"prefix": "mod",
			"body": "modifier ${1:name}($2) {\n\t$0_\n}"
        },
        "if else statement": {
			"prefix": "ife",
			"body": "if (${1:condition}) {\n\t$2\n} else {\n\t$0\n}"
		},
        "for statement": {
			"prefix": "for",
			"body": "for (var ${1:index} = 0; $1 < ${2:array}.length; $1${3:++}) {\n\t$0\n}"
        }
    }
}