public DelegatingHandler(
     Func <DocumentOnTypeFormattingParams, CancellationToken, Task <TextEditContainer> > handler,
     Action <DocumentOnTypeFormattingCapability> setCapability,
     DocumentOnTypeFormattingRegistrationOptions registrationOptions) : base(registrationOptions)
 {
     _handler       = handler;
     _setCapability = setCapability;
 }
 public static IDisposable OnDocumentOnTypeFormat(
     this ILanguageServerRegistry registry,
     Func <DocumentOnTypeFormattingParams, CancellationToken, Task <TextEditContainer> > handler,
     DocumentOnTypeFormattingRegistrationOptions registrationOptions = null,
     Action <DocumentOnTypeFormattingCapability> setCapability       = null)
 {
     registrationOptions = registrationOptions ?? new DocumentOnTypeFormattingRegistrationOptions();
     return(registry.AddHandlers(new DelegatingHandler(handler, setCapability, registrationOptions)));
 }
        public void SimpleTest(string expected)
        {
            var model = new DocumentOnTypeFormattingRegistrationOptions()
            {
                DocumentSelector = new DocumentSelector(new DocumentFilter()
                {
                    Language = "csharp"
                }),
                FirstTriggerCharacter = "1",
                MoreTriggerCharacter  = new [] { "1", "2" }
            };
            var result = Fixture.SerializeObject(model);

            result.Should().Be(expected);

            var deresult = new Serializer(ClientVersion.Lsp3).DeserializeObject <DocumentOnTypeFormattingRegistrationOptions>(expected);

            deresult.ShouldBeEquivalentTo(model);
        }
示例#4
0
        public DocumentOnTypeFormattingRegistrationOptions GetRegistrationOptions()
        {
            var registrationOptions = new DocumentOnTypeFormattingRegistrationOptions()
            {
                DocumentSelector = RazorDefaults.Selector,
            };

            if (_razorFormattingService.OnTypeTriggerHandlers.Count == 0)
            {
                return(registrationOptions);
            }

            var firstTriggerCharacter = _razorFormattingService.OnTypeTriggerHandlers[0];

            registrationOptions.FirstTriggerCharacter = firstTriggerCharacter;

            var moreTriggerCharacters = _razorFormattingService.OnTypeTriggerHandlers.Skip(1).ToArray();

            registrationOptions.MoreTriggerCharacter = moreTriggerCharacters;

            return(registrationOptions);
        }
 public DocumentOnTypeFormattingHandler(DocumentOnTypeFormattingRegistrationOptions registrationOptions)
 {
     _options = registrationOptions;
 }