switch to using OutliningSpan instead of TextSpan to better support language service