Upsilon-VsCode/UpsilonLanguageServer/UpsilonLanguageServer/Utility.cs

35 lines
942 B
C#

using System;
using System.Threading.Tasks;
using LanguageServer.VsCode.Contracts;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using Upsilon.Text;
namespace UpsilonLanguageServer
{
public static class Utility
{
public static readonly JsonSerializer CamelCaseJsonSerializer = new JsonSerializer
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
public static string GetTimeStamp()
{
return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
}
public static async Task WaitForDocumentBound(this SessionDocument doc)
{
while (doc.IsChanging)
{
await Task.Delay(20);
}
}
public static Range ToRange(this TextSpan span)
{
return new Range(span.StartLine, span.StartPosition, span.EndLine, span.EndPosition);
}
}
}