Add setting to control markdown LS log level (#176472)

This commit is contained in:
Matt Bierner
2023-03-07 23:00:34 -08:00
committed by GitHub
parent b2ea6aa9fc
commit da15b03a10
5 changed files with 58 additions and 22 deletions

View File

@@ -22,7 +22,8 @@ interface MdServerInitializationOptions extends LsConfiguration { }
const organizeLinkDefKind = 'source.organizeLinkDefinitions';
export async function startVsCodeServer(connection: Connection) {
const logger = new LogFunctionLogger(connection.console.log.bind(connection.console));
const configurationManager = new ConfigurationManager(connection);
const logger = new LogFunctionLogger(connection.console.log.bind(connection.console), configurationManager);
const parser = new class implements md.IMdParser {
slugifier = md.githubSlugifier;
@@ -41,7 +42,7 @@ export async function startVsCodeServer(connection: Connection) {
return workspace;
};
return startServer(connection, { documents, notebooks, logger, parser, workspaceFactory });
return startServer(connection, { documents, notebooks, configurationManager, logger, parser, workspaceFactory });
}
type WorkspaceFactory = (config: {
@@ -53,6 +54,7 @@ type WorkspaceFactory = (config: {
export async function startServer(connection: Connection, serverConfig: {
documents: TextDocuments<md.ITextDocument>;
notebooks?: NotebookDocuments<md.ITextDocument>;
configurationManager: ConfigurationManager;
logger: md.ILogger;
parser: md.IMdParser;
workspaceFactory: WorkspaceFactory;
@@ -62,7 +64,6 @@ export async function startServer(connection: Connection, serverConfig: {
let mdLs: md.IMdLanguageService | undefined;
connection.onInitialize((params: InitializeParams): InitializeResult => {
const configurationManager = new ConfigurationManager(connection);
const initOptions = params.initializationOptions as MdServerInitializationOptions | undefined;
const mdConfig = getLsConfiguration(initOptions ?? {});
@@ -74,7 +75,7 @@ export async function startServer(connection: Connection, serverConfig: {
logger: serverConfig.logger,
...mdConfig,
get preferredMdPathExtensionStyle() {
switch (configurationManager.getSettings()?.markdown.preferredMdPathExtensionStyle) {
switch (serverConfig.configurationManager.getSettings()?.markdown.preferredMdPathExtensionStyle) {
case 'includeExtension': return md.PreferredMdPathExtensionStyle.includeExtension;
case 'removeExtension': return md.PreferredMdPathExtensionStyle.removeExtension;
case 'auto':
@@ -84,9 +85,9 @@ export async function startServer(connection: Connection, serverConfig: {
}
});
registerCompletionsSupport(connection, documents, mdLs, configurationManager);
registerDocumentHighlightSupport(connection, documents, mdLs, configurationManager);
registerValidateSupport(connection, workspace, documents, mdLs, configurationManager, serverConfig.logger);
registerCompletionsSupport(connection, documents, mdLs, serverConfig.configurationManager);
registerDocumentHighlightSupport(connection, documents, mdLs, serverConfig.configurationManager);
registerValidateSupport(connection, workspace, documents, mdLs, serverConfig.configurationManager, serverConfig.logger);
return {
capabilities: {