From 968df593e37420d2cc48e6781a3826b7cfe311bd Mon Sep 17 00:00:00 2001 From: Hans Raaf Date: Sat, 27 Feb 2016 00:48:56 +0100 Subject: [PATCH] Experimental Indent settings still buggy. --- README.md | 9 ++++-- extension.ts | 28 +++++++++++------- ...ow-0.3.1.vsix => indent-rainbow-0.3.2.vsix | Bin 80797 -> 80817 bytes package.json | 2 +- 4 files changed, 26 insertions(+), 13 deletions(-) rename indent-rainbow-0.3.1.vsix => indent-rainbow-0.3.2.vsix (92%) diff --git a/README.md b/README.md index 5270bd4..28b616d 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,14 @@ Although you can just use it as it is there is the possibility to configure some // The delay in ms until the editor gets updated. "indentRainbow.updateDelay": 100 // 10 makes it super fast but may cost more resources +``` + +*Notice: Defining both `includedLanguages` and `excludedLanguages` does not make much sense. Use one of both!* + +The following is experimental and still buggy (do not use it :) + +``` // Automatically change indent setting (tabSize / insertSpaces) for a language. "indentRainbow.indentSetter": {} // do nothing as default @@ -35,8 +42,6 @@ Although you can just use it as it is there is the possibility to configure some ``` -*Notice: Defining both `includedLanguages` and `excludedLanguages` does not make much sense. Use one of both!* - Build with: ``` diff --git a/extension.ts b/extension.ts index 9c729b1..b5a2007 100644 --- a/extension.ts +++ b/extension.ts @@ -29,18 +29,30 @@ export function activate(context: vscode.ExtensionContext) { var activeEditor = vscode.window.activeTextEditor; + if(activeEditor) { + indentConfig() + } + if (activeEditor && checkLanguage()) { triggerUpdateDecorations(); } vscode.window.onDidChangeActiveTextEditor(editor => { activeEditor = editor; + if (editor) { + indentConfig() + } + if (editor && checkLanguage()) { triggerUpdateDecorations(); } }, null, context.subscriptions); vscode.workspace.onDidChangeTextDocument(event => { + if(activeEditor) { + indentConfig() + } + if (activeEditor && event.document === activeEditor.document && checkLanguage()) { triggerUpdateDecorations(); } @@ -49,20 +61,16 @@ export function activate(context: vscode.ExtensionContext) { function indentConfig() { // Set tabSize and insertSpaces from the config if specified for this languageId var indentSetter = vscode.workspace.getConfiguration('indentRainbow')['indentSetter'] || {}; - var langCfg = indentSetter[ activeEditor.document.languageId ]; - // we do nothing if we have {} to not interrupt other extensions for indent settings if( indentSetter != {} ) { + var langCfg = indentSetter[ activeEditor.document.languageId ]; if( langCfg == undefined ) { // if we do not have any defaults get those from the editor config itself langCfg = vscode.workspace.getConfiguration('editor'); } - var opts = vscode.window.activeTextEditor.options; - if( opts.tabSize != langCfg.tabSize || opts.insertSpaces != langCfg.insertSpaces) { - vscode.window.activeTextEditor.options = { - "tabSize": langCfg.tabSize, - "insertSpaces": langCfg.insertSpaces - } + vscode.window.activeTextEditor.options = { + "tabSize": langCfg.tabSize, + "insertSpaces": langCfg.insertSpaces } } } @@ -73,8 +81,6 @@ export function activate(context: vscode.ExtensionContext) { var inclang = vscode.workspace.getConfiguration('indentRainbow')['includedLanguages'] || []; var exclang = vscode.workspace.getConfiguration('indentRainbow')['excludedLanguages'] || []; - indentConfig(); - currentLanguageId = activeEditor.document.languageId; doIt = true; if(inclang.length != 0) { @@ -102,6 +108,8 @@ export function activate(context: vscode.ExtensionContext) { clearMe = false; } + indentConfig(); + return doIt; } diff --git a/indent-rainbow-0.3.1.vsix b/indent-rainbow-0.3.2.vsix similarity index 92% rename from indent-rainbow-0.3.1.vsix rename to indent-rainbow-0.3.2.vsix index d83da0101e25ca84de21c6459a8627b33b8bca2d..c57562eee243297ef791f4d9a7774ba67faaa1bc 100644 GIT binary patch delta 4208 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 W5XFC*>VpyJa2UXeZzKu)Q~n>1GtNT* diff --git a/package.json b/package.json index d9dad82..9f28367 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "indent-rainbow", "description": "Makes indentation easier to read", - "version": "0.3.1", + "version": "0.3.2", "publisher": "oderwat", "author": { "name": "Hans Raaf"