From db979de520715ac7bf78c047c657e65b8246ff2e Mon Sep 17 00:00:00 2001 From: rebornix Date: Fri, 2 Dec 2016 10:54:45 -0800 Subject: [PATCH] apply decreaseIndent for ruby code --- extensions/ruby/package.json | 8 +++++++- extensions/ruby/src/rubyMain.ts | 16 ++++++++++++++++ extensions/ruby/src/typings/ref.d.ts | 10 ++++++++++ extensions/ruby/tsconfig.json | 12 ++++++++++++ 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 extensions/ruby/src/rubyMain.ts create mode 100644 extensions/ruby/src/typings/ref.d.ts create mode 100644 extensions/ruby/tsconfig.json diff --git a/extensions/ruby/package.json b/extensions/ruby/package.json index 2782d12525e..c3ee021e795 100644 --- a/extensions/ruby/package.json +++ b/extensions/ruby/package.json @@ -1,8 +1,10 @@ { "name": "ruby", - "version": "0.1.0", + "version": "0.2.0", "publisher": "vscode", "engines": { "vscode": "*" }, + "activationEvents": ["onLanguage:ruby"], + "main": "./out/rubyMain", "contributes": { "languages": [{ "id": "ruby", @@ -17,5 +19,9 @@ "scopeName": "source.ruby", "path": "./syntaxes/Ruby.plist" }] + }, + "scripts": { + "compile": "gulp compile-extension:ruby", + "watch": "gulp watch-extension:ruby" } } diff --git a/extensions/ruby/src/rubyMain.ts b/extensions/ruby/src/rubyMain.ts new file mode 100644 index 00000000000..2151fe80f52 --- /dev/null +++ b/extensions/ruby/src/rubyMain.ts @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +'use strict'; +import { ExtensionContext, languages } from 'vscode'; + +export function activate(context: ExtensionContext): any { + languages.setLanguageConfiguration('ruby', { + indentationRules: { + increaseIndentPattern: /^\s*((begin|class|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while)|(.*\sdo\b))\b[^\{;]*$/, + decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif|when)\b)/ + }, + wordPattern: /(-?\d+(?:\.\d+))|(:?[A-Za-z][^-`~@#%^&()=+[{}|;:'",<>/.*\]\s\\!?]*[!?]?)/ + }); +} diff --git a/extensions/ruby/src/typings/ref.d.ts b/extensions/ruby/src/typings/ref.d.ts new file mode 100644 index 00000000000..7f4835e6747 --- /dev/null +++ b/extensions/ruby/src/typings/ref.d.ts @@ -0,0 +1,10 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +/// +/// +/// +/// +/// \ No newline at end of file diff --git a/extensions/ruby/tsconfig.json b/extensions/ruby/tsconfig.json new file mode 100644 index 00000000000..a20cb4ee941 --- /dev/null +++ b/extensions/ruby/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "outDir": "./out", + "noLib": true, + "sourceMap": true + }, + "exclude": [ + "node_modules" + ] +} \ No newline at end of file