implement a setting for smart indent.