Here you go. With some examples:
extends Node
tool
var first : int = 1
var second : int = 2
var ingroup_more : int = 3
var ingroup_numbers : int = 4
var half : float = 0.5
var quarter : float = 0.25
func _get_property_list() -> Array:
return [{
name = "Integers",
type = TYPE_NIL,
usage = PROPERTY_USAGE_CATEGORY
},{
name = "first",
type = TYPE_INT,
usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_SCRIPT_VARIABLE
},{
name = "second",
type = TYPE_INT,
usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_SCRIPT_VARIABLE
},{
name = "Group",
type = TYPE_NIL,
hint_string = "ingroup_",
usage = PROPERTY_USAGE_GROUP
},{
name = "ingroup_more",
type = TYPE_INT,
usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_SCRIPT_VARIABLE
},{
name = "ingroup_numbers",
type = TYPE_INT,
usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_SCRIPT_VARIABLE
},{
name = "Floats",
type = TYPE_NIL,
usage = PROPERTY_USAGE_CATEGORY
},{
name = "half",
type = TYPE_REAL,
hint = PROPERTY_HINT_RANGE,
hint_string = "0.4, 0.6",
usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_SCRIPT_VARIABLE
},{
name = "quarter",
type = TYPE_REAL,
hint = PROPERTY_HINT_EXP_EASING,
usage = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_SCRIPT_VARIABLE
}]