From 2d9d187f5bf2522aa2b4af99082cd89ab578cac6 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Mon, 17 Oct 2016 15:30:11 +0200 Subject: [PATCH] html.format.enable --- extensions/html/client/src/htmlMain.ts | 3 +- extensions/html/package.json | 59 +++++++++++++++----- extensions/html/server/src/htmlServerMain.ts | 8 +-- 3 files changed, 48 insertions(+), 22 deletions(-) diff --git a/extensions/html/client/src/htmlMain.ts b/extensions/html/client/src/htmlMain.ts index 8b3dcf33e4f..dbca27b6bf3 100644 --- a/extensions/html/client/src/htmlMain.ts +++ b/extensions/html/client/src/htmlMain.ts @@ -6,7 +6,7 @@ import * as path from 'path'; -import { languages, ExtensionContext, IndentAction } from 'vscode'; +import { languages, workspace, ExtensionContext, IndentAction } from 'vscode'; import { LanguageClient, LanguageClientOptions, ServerOptions, TransportKind } from 'vscode-languageclient'; import { EMPTY_ELEMENTS } from './htmlEmptyTagsShared'; @@ -36,6 +36,7 @@ export function activate(context: ExtensionContext) { configurationSection: ['html'], }, initializationOptions: { + ['format.enable']: workspace.getConfiguration('html').get('format.enable') } }; diff --git a/extensions/html/package.json b/extensions/html/package.json index 468878ad63d..c8b7c47a9ff 100644 --- a/extensions/html/package.json +++ b/extensions/html/package.json @@ -18,25 +18,56 @@ "install-client-next": "npm install vscode-languageclient@next -f -S", "install-client-local": "npm install ../../../vscode-languageserver-node/client -f -S" }, - "contributes": { - "languages": [{ - "id": "html", - "extensions": [ ".html", ".htm", ".shtml", ".xhtml", ".mdoc", ".jsp", ".asp", ".aspx", ".jshtm", ".vue" ], - "aliases": [ "HTML", "htm", "html", "xhtml" ], - "mimetypes": ["text/html", "text/x-jshtm", "text/template", "text/ng-template", "application/xhtml+xml"], - "configuration": "./language-configuration.json" - }], - "grammars": [{ - "language": "html", - "scopeName": "text.html.basic", - "path": "./syntaxes/html.json" - }], + "contributes": { + "languages": [ + { + "id": "html", + "extensions": [ + ".html", + ".htm", + ".shtml", + ".xhtml", + ".mdoc", + ".jsp", + ".asp", + ".aspx", + ".jshtm", + ".vue" + ], + "aliases": [ + "HTML", + "htm", + "html", + "xhtml" + ], + "mimetypes": [ + "text/html", + "text/x-jshtm", + "text/template", + "text/ng-template", + "application/xhtml+xml" + ], + "configuration": "./language-configuration.json" + } + ], + "grammars": [ + { + "language": "html", + "scopeName": "text.html.basic", + "path": "./syntaxes/html.json" + } + ], "configuration": { "id": "html", "order": 20, "type": "object", "title": "HTML", "properties": { + "html.format.enable": { + "type": "boolean", + "default": true, + "description": "Enable/disable default HTML formatter" + }, "html.format.wrapLineLength": { "type": "integer", "default": 120, @@ -108,4 +139,4 @@ "vscode-languageclient": "^2.6.0-next.1", "vscode-nls": "^1.0.7" } -} +} \ No newline at end of file diff --git a/extensions/html/server/src/htmlServerMain.ts b/extensions/html/server/src/htmlServerMain.ts index 557bbfa1c57..93b73b6929f 100644 --- a/extensions/html/server/src/htmlServerMain.ts +++ b/extensions/html/server/src/htmlServerMain.ts @@ -48,8 +48,7 @@ connection.onInitialize((params: InitializeParams): InitializeResult => { textDocumentSync: documents.syncKind, completionProvider: { resolveProvider: false, triggerCharacters: ['.', ':', '<', '"', '=', '/'] }, documentHighlightProvider: true, - documentRangeFormattingProvider: true, - documentFormattingProvider: true, + documentRangeFormattingProvider: params.initializationOptions['format.enable'], documentLinkProvider: true } }; @@ -106,11 +105,6 @@ function getFormattingOptions(formatParams: FormattingOptions) { return merge(formatParams, merge(formatSettings, {})); } -connection.onDocumentFormatting(formatParams => { - let document = documents.get(formatParams.textDocument.uri); - return languageService.format(document, null, getFormattingOptions(formatParams.options)); -}); - connection.onDocumentRangeFormatting(formatParams => { let document = documents.get(formatParams.textDocument.uri); return languageService.format(document, formatParams.range, getFormattingOptions(formatParams.options));