From 5668e6480499d3ecdc7e22aeda1e4b769625a96e Mon Sep 17 00:00:00 2001 From: TeeSeal Date: Tue, 12 Dec 2017 13:20:46 +0200 Subject: [PATCH 1/7] Update indent pattern --- src/ruby.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ruby.ts b/src/ruby.ts index cb03de6fe..cdc6a47c9 100644 --- a/src/ruby.ts +++ b/src/ruby.ts @@ -15,7 +15,7 @@ export function activate(context: ExtensionContext) { // register language config vscode.languages.setLanguageConfiguration('ruby', { indentationRules: { - increaseIndentPattern: /^\s*((begin|class|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while)|(.*\sdo\b))\b[^\{;]*$/, + increaseIndentPattern: /^\s*((begin|class|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|(.*\sdo\b)|(.*=\s*(case|if|unless)))\b[^\{;]*$/, decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ }, wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/ From 6f11eed39617cbb789082b0a24742fd4d6634513 Mon Sep 17 00:00:00 2001 From: TeeSeal Date: Fri, 15 Dec 2017 12:41:35 +0200 Subject: [PATCH 2/7] Update indent pattern for private and protected defs --- src/ruby.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ruby.ts b/src/ruby.ts index cdc6a47c9..5a47e18f7 100644 --- a/src/ruby.ts +++ b/src/ruby.ts @@ -15,7 +15,7 @@ export function activate(context: ExtensionContext) { // register language config vscode.languages.setLanguageConfiguration('ruby', { indentationRules: { - increaseIndentPattern: /^\s*((begin|class|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|(.*\sdo\b)|(.*=\s*(case|if|unless)))\b[^\{;]*$/, + increaseIndentPattern: /^\s*((begin|class|(private|protected)\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|(.*\sdo\b)|(.*=\s*(case|if|unless)))\b[^;]*$/, decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ }, wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/ From 2d7fc8822bd84752e66ca44f8f157c3c4d1d47c8 Mon Sep 17 00:00:00 2001 From: TeeSeal Date: Fri, 15 Dec 2017 13:23:07 +0200 Subject: [PATCH 3/7] More updates --- src/ruby.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ruby.ts b/src/ruby.ts index 5a47e18f7..ccb8dfbae 100644 --- a/src/ruby.ts +++ b/src/ruby.ts @@ -13,13 +13,13 @@ import { registerTaskProvider } from './task/rake'; export function activate(context: ExtensionContext) { const subs = context.subscriptions; // register language config - vscode.languages.setLanguageConfiguration('ruby', { - indentationRules: { - increaseIndentPattern: /^\s*((begin|class|(private|protected)\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|(.*\sdo\b)|(.*=\s*(case|if|unless)))\b[^;]*$/, - decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ - }, - wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/ - }); + vscode.languages.setLanguageConfiguration("ruby", { + indentationRules: { + increaseIndentPattern: /^\s*((begin|class|((private|protected)\s+)?def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^\{;]|("|'|\/).+\4)*$/, + decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ + }, + wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/ + }) registerHighlightProvider(context); registerLinters(context); From 353e3629d9f73a86a2449c336a7e159d1eb953e3 Mon Sep 17 00:00:00 2001 From: TeeSeal Date: Fri, 15 Dec 2017 13:23:57 +0200 Subject: [PATCH 4/7] Single quote and tabs --- src/ruby.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ruby.ts b/src/ruby.ts index ccb8dfbae..11ff82d79 100644 --- a/src/ruby.ts +++ b/src/ruby.ts @@ -13,13 +13,13 @@ import { registerTaskProvider } from './task/rake'; export function activate(context: ExtensionContext) { const subs = context.subscriptions; // register language config - vscode.languages.setLanguageConfiguration("ruby", { - indentationRules: { - increaseIndentPattern: /^\s*((begin|class|((private|protected)\s+)?def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^\{;]|("|'|\/).+\4)*$/, - decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ - }, - wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/ - }) + vscode.languages.setLanguageConfiguration('ruby', { + indentationRules: { + increaseIndentPattern: /^\s*((begin|class|((private|protected)\s+)?def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^\{;]|("|'|\/).+\4)*$/, + decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ + }, + wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/ + }); registerHighlightProvider(context); registerLinters(context); From 90b44c1823b5c232ca338b1835962a72d24ff31e Mon Sep 17 00:00:00 2001 From: TeeSeal Date: Fri, 15 Dec 2017 13:30:27 +0200 Subject: [PATCH 5/7] Use * --- src/ruby.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ruby.ts b/src/ruby.ts index 11ff82d79..5c92e81a3 100644 --- a/src/ruby.ts +++ b/src/ruby.ts @@ -15,7 +15,7 @@ export function activate(context: ExtensionContext) { // register language config vscode.languages.setLanguageConfiguration('ruby', { indentationRules: { - increaseIndentPattern: /^\s*((begin|class|((private|protected)\s+)?def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^\{;]|("|'|\/).+\4)*$/, + increaseIndentPattern: /^\s*((begin|class|((private|protected)\s+)?def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^\{;]|("|'|\/).*\4)*$/, decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ }, wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/ From 2c0865118b645943fd4f4491b1b69f542c02fbd6 Mon Sep 17 00:00:00 2001 From: TeeSeal Date: Fri, 15 Dec 2017 14:36:02 +0200 Subject: [PATCH 6/7] Also ignore special characters inside comments --- src/ruby.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ruby.ts b/src/ruby.ts index 5c92e81a3..69c2d7b2c 100644 --- a/src/ruby.ts +++ b/src/ruby.ts @@ -15,7 +15,7 @@ export function activate(context: ExtensionContext) { // register language config vscode.languages.setLanguageConfiguration('ruby', { indentationRules: { - increaseIndentPattern: /^\s*((begin|class|((private|protected)\s+)?def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^\{;]|("|'|\/).*\4)*$/, + increaseIndentPattern: /^\s*((begin|class|((private|protected)\s+)?def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^#\{;]|("|'|\/).*\4)*(#.*)$/, decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ }, wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/ From 09f1975ad43252ec90bee774902c02d2941ca6ff Mon Sep 17 00:00:00 2001 From: TeeSeal Date: Mon, 18 Dec 2017 16:35:43 +0200 Subject: [PATCH 7/7] Forgot the ? --- src/ruby.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ruby.ts b/src/ruby.ts index 69c2d7b2c..dd1d8a0b6 100644 --- a/src/ruby.ts +++ b/src/ruby.ts @@ -15,7 +15,7 @@ export function activate(context: ExtensionContext) { // register language config vscode.languages.setLanguageConfiguration('ruby', { indentationRules: { - increaseIndentPattern: /^\s*((begin|class|((private|protected)\s+)?def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^#\{;]|("|'|\/).*\4)*(#.*)$/, + increaseIndentPattern: /^\s*((begin|class|((private|protected)\s+)?def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^#\{;]|("|'|\/).*\4)*(#.*)?$/, decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ }, wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/