示例#1
0
        /// <summary>
        ///     Create a new <see cref="LanguageClient"/>.
        /// </summary>
        /// <param name="logger">
        ///     The logger to use.
        /// </param>
        LanguageClient(ILogger logger)
        {
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            Log          = logger.ForSourceContext <LanguageClient>();
            Workspace    = new WorkspaceClient(this);
            Window       = new WindowClient(this);
            TextDocument = new TextDocumentClient(this);

            _dispatcher.RegisterHandler(_dynamicRegistrationHandler);
        }
        /// <summary>
        ///     Create a new <see cref="LanguageClient"/>.
        /// </summary>
        /// <param name="loggerFactory">
        ///     The logger to use.
        /// </param>
        LanguageClient(ILoggerFactory loggerFactory)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            LoggerFactory = loggerFactory;
            Log           = LoggerFactory.CreateLogger <LanguageClient>();
            Workspace     = new WorkspaceClient(this);
            Window        = new WindowClient(this);
            TextDocument  = new TextDocumentClient(this);

            _dispatcher.RegisterHandler(_dynamicRegistrationHandler);
        }