{ "name": "ruby", "displayName": "Ruby", "version": "0.20.0", "publisher": "rebornix", "description": "Provides Ruby language and debugging support for Visual Studio Code", "author": { "name": "Stafford Brunk" }, "contributors": [ { "name": "Peng Lyu", "url": "https://github.com/rebornix" }, { "name": "Bryan Hoekstra", "url": "https://github.com/HookyQR" }, { "name": "Drew Cain", "url": "https://github.com/groksrc" }, { "name": "Lex Li", "url": "https://github.com/lextm" }, { "name": "Stafford Brunk", "url": "https://github.com/wingrunr21" } ], "engines": { "vscode": "^1.25.0" }, "license": "MIT", "icon": "images/ruby.png", "categories": [ "Languages", "Debuggers", "Linters", "Snippets", "Formatters" ], "private": false, "repository": { "type": "git", "url": "https://github.com/rubyide/vscode-ruby.git" }, "bugs": { "url": "https://github.com/rubyide/vscode-ruby/issues" }, "dependencies": { "async": "^2.3.0", "lodash": "^4.17.3", "minimatch": "^3.0.3", "ruby-method-locate": "*", "vscode": "^1.1.4", "vscode-debugadapter": "^1.19.0", "vscode-debugprotocol": "^1.19.0", "xmldom": "^0.1.19" }, "devDependencies": { "@types/mocha": "^2.2.33", "@types/node": "^6.0.50", "cson-parser": "^2.0.1", "mocha": "^2.4.5", "prettier": "^1.11.1", "run-sequence": "*", "tslint": "^5.9.1", "tslint-config-prettier": "^1.10.0", "tslint-microsoft-contrib": "^5.0.3", "typescript": "^2.9.2", "vscode-debugadapter-testsupport": "^1.19.0" }, "scripts": { "vscode:prepublish": "npm run clean:server && npm run compile", "clean:server": "cd server && npm run remove-binaries", "compile:legacy": "rm -rf out && tsc -p ./src", "compile:client": "rm -rf ./client/out && tsc -p ./client/tsconfig.json", "compile:server": "rm -rf ./server/out && tsc -p ./server/tsconfig.json", "watch": "tsc -w -p ./src", "watch:client": "tsc -w -p ./client/tsconfig.json", "watch:server": "tsc -w -p ./server/tsconfig.json", "compile": "npm run compile:legacy && npm run compile:client && npm run compile:server", "test": "node ./node_modules/mocha/bin/mocha --recursive ./out/*.test.js", "test-debugger": "node ./node_modules/mocha/bin/mocha --timeout 15000 -u tdd ./out/debugger/tests/*.js", "postinstall": "node ./node_modules/vscode/bin/install", "update-all-grammars": "node scripts/update-all-grammars", "update-grammar": "node scripts/update-grammar atom/language-ruby", "lint": "tslint -c tslint.json 'src/**/*.ts'" }, "activationEvents": [ "onLanguage:ruby", "onLanguage:erb", "onCommand:workbench.action.tasks.runTask" ], "main": "./out/ruby.js", "contributes": { "snippets": [ { "language": "ruby", "path": "./snippets/ruby.json" }, { "language": "erb", "path": "./snippets/erb.json" } ], "commands": [ { "command": "ruby.reloadProject", "title": "Ruby: Reload Project" } ], "configuration": { "title": "ruby language settings", "properties": { "ruby.locate": { "type": "object", "description": "Defines where the Ruby extension will look to find Modules, Classes and methods.", "default": { "exclude": "{**/@(test|spec|tmp|.*),**/@(test|spec|tmp|.*)/**,**/*_spec.rb}", "include": "**/*.rb" }, "properties": { "include": { "type": "string", "description": "glob pattern to select files to parse. Matches are performed against the path relative to the workspace root", "default": "**/*.rb" }, "exclude": { "type": "string", "description": "glob pattern to select files to ignore, this is also run against paths for exclusion from walking. Matches are performed against the path relative to the workspace root", "default": "{**/@(test|spec|tmp|.*),**/@(test|spec|tmp|.*)/**,**/*_spec.rb}" } } }, "ruby.interpreter.commandPath": { "type": "string", "default": "ruby", "description": "Path to the Ruby interpreter. Set this to an absolute path to select from multiple installed Ruby versions.", "isExecutable": true }, "ruby.useLanguageServer": { "type": "boolean", "default": false, "description": "Use built-in language server" }, "ruby.codeCompletion": { "type": [ "boolean", "string" ], "enum": [ false, "rcodetools" ], "default": false, "description": "Method to use for code completion. Use `false` to disable or if another extension provides this feature." }, "ruby.intellisense": { "type": [ "boolean", "string" ], "enum": [ false, "rubyLocate" ], "default": false, "description": "Method to use for intellisense (go to definition, etc.). Use `false` to disable or if another extension provides this feature." }, "ruby.useBundler": { "type": "boolean", "default": false, "description": "Whether ruby tools should be started using Bundler" }, "ruby.pathToBundler": { "type": "string", "default": "bundle", "description": "Path to the bundler executable (used if useBundler is true)" }, "ruby.rctComplete.commandPath": { "type": "string", "default": "rct-complete", "description": "Path to the rct-complete command. Set this to an absolute path to select from multiple installed Ruby versions.", "isExecutable": true }, "ruby.lintDebounceTime": { "type": "integer", "default": 500, "description": "Time (ms) to wait after keypress before running enabled linters. Ensures linters are only run when typing has finished and not for every keypress" }, "ruby.lint": { "type": "object", "description": "Set individual ruby linters to use", "properties": { "ruby": { "type": [ "boolean", "object" ], "default": false, "description": "Use ruby -wc to lint" }, "debride": { "type": [ "boolean", "object" ], "default": false, "properties": { "rails": { "type": "boolean", "default": "true", "description": "Add some rails call conversions" } }, "description": "Use debride to lint" }, "fasterer": { "type": "boolean", "default": false, "description": "Use fasterer to lint" }, "reek": { "type": "boolean", "default": false, "description": "Use reek to lint" }, "rubocop": { "type": [ "boolean", "object" ], "default": false, "description": "Use RuboCop to lint", "properties": { "lint": { "type": "boolean", "default": false, "description": "Enable Lint cops: Lint cops check for possible errors and very bad practices in your code. RuboCop implements in a portable way all built-in MRI lint checks (ruby -wc) and adds a lot of extra lint checks of its own." }, "only": { "type": "array", "description": "Run only the specified cop(s) and/or cops in the specified departments", "items": { "type": "string" } }, "except": { "type": "array", "description": "Run all cops enabled by configuration except the specified cop(s) and/or departments", "items": { "type": "string" } }, "require": { "type": "array", "description": "Require Ruby files", "items": { "type": "string" } }, "rails": { "type": "boolean", "default": false, "description": "Rails cops are specific to the Ruby on Rails framework" } } }, "ruby-lint": { "type": [ "boolean", "object" ], "default": false, "description": "Use ruby-lint to lint", "properties": { "levels": { "type": "array", "description": "Level of offenses to show", "items": { "type": "string", "enum": [ "error", "warning", "info" ] } }, "classes": { "type": "array", "description": "Classes of offenses to show", "items": { "type": "string", "enum": [ "argument_amount", "loop_keywords", "pedantics", "shadowing_variables", "undefined_methods", "undefined_variables", "unused_variables", "useless_equality_checks" ] } } } } } }, "ruby.format": { "type": [ "boolean", "string" ], "enum": [ false, "rubocop" ], "default": false, "description": "Which system to use for formatting. Use `false` to disable or if another extension provides this feature." } } }, "languages": [ { "id": "ruby", "aliases": [ "Ruby", "ruby" ], "firstLine": "^#!\\s*/.*(?:ruby|rbx|rake)\\b", "extensions": [ ".arb", ".builder", ".cgi", ".fcgi", ".gemspec", ".god", ".irbrc", ".jbuilder", ".mspec", ".pluginspec", ".podspec", ".prawn", ".pryrc", ".rabl", ".rake", ".rb", ".rbuild", ".rbw", ".rbx", ".rjs", ".ru", ".ruby", ".spec", ".thor", ".watchr" ], "filenames": [ "appfile", "appraisals", "berksfile", "brewfile", "capfile", "fastfile", "guardfile", "podfile", "puppetfile", "rakefile", "snapfile", "thorfile", "vagrantfile", "dangerfile" ], "configuration": "./language-configuration-ruby.json" }, { "id": "erb", "aliases": [ "erb", "Encapsulated Ruby" ], "extensions": [ ".erb", ".rhtml", ".rhtm" ], "configuration": "./language-configuration-erb.json" }, { "id": "gemfile", "aliases": [ "Gemfile", "Bundler", "bundler" ], "filenames": [ "Gemfile" ], "configuration": "./language-configuration-ruby.json" } ], "grammars": [ { "language": "ruby", "scopeName": "source.ruby", "path": "./syntaxes/ruby.cson.json" }, { "language": "erb", "scopeName": "text.html.erb", "path": "./syntaxes/erb.cson.json", "embeddedLanguages": { "source.css": "css", "source.js": "javascript", "source.ruby": "ruby" } }, { "language": "gemfile", "scopeName": "source.ruby.gemfile", "path": "./syntaxes/gemfile.cson.json" } ], "debuggers": [ { "type": "Ruby", "label": "Ruby", "enableBreakpointsFor": { "languageIds": [ "ruby", "erb" ] }, "program": "./out/debugger/main.js", "runtime": "node", "configurationAttributes": { "launch": { "required": [ "program" ], "properties": { "program": { "type": "string", "description": "Absolute path to the program.", "default": "${workspaceRoot}/main.rb" }, "stopOnEntry": { "type": "boolean", "description": "Automatically stop after launch.", "default": true }, "showDebuggerOutput": { "type": "boolean", "description": "Show output of the debugger in the console.", "default": false }, "args": { "type": "array", "description": "Command line arguments passed to the program.", "items": { "type": "string" }, "default": [] }, "env": { "type": "object", "description": "Additional environment variables to pass to the debugging (and debugged) process.", "default": {} }, "cwd": { "type": "string", "description": "Absolute path to the working directory of the program being debugged.", "default": "${workspaceRoot}" }, "useBundler": { "type": "boolean", "description": "Use `bundle exec` to run rdebug-ide. Enable this option if you have used bundle install --path with rdebug-ide as a bundled gem.", "default": false }, "pathToRuby": { "type": "string", "description": "Path to the Ruby executable if it is not 'ruby', used to run the program without the debugger (under CTRL+F5)", "default": "ruby" }, "pathToBundler": { "type": "string", "description": "If you use the `useBunder` option, and `bundle` is not in your path, provide the absolute path to `bundle` (eg. \"/usr/bin/bundle\" )", "default": "bundle" }, "pathToRDebugIDE": { "type": "string", "description": "If `rdebug-ide` is not in your path, provide the absolute path to `rdebug-ide` (eg. \"c:\\ruby\\rdebug-ide.bat\" )", "default": "rdebug-ide" }, "debuggerPort": { "type": "string", "description": "If you want to run more than one debugger, you can specify the port here.", "default": "1234" }, "includes": { "type": "array", "description": "Additional paths to be added to Ruby's include path", "default": [] } } }, "attach": { "required": [ "cwd", "remoteHost", "remotePort", "remoteWorkspaceRoot" ], "properties": { "cwd": { "type": "string", "description": "Absolute path to the working directory of the program being debugged.", "default": "${workspaceRoot}" }, "remoteHost": { "type": "string", "description": "Host address for remote debugging.", "default": "127.0.0.1" }, "remotePort": { "type": "string", "description": "Port for remote debugging.", "default": "1234" }, "remoteWorkspaceRoot": { "type": "string", "description": "Remote workspace root, this parameter is required for remote debugging.", "default": "${workspaceRoot}" }, "showDebuggerOutput": { "type": "boolean", "description": "Show output of the debugger in the console.", "default": false } } } }, "initialConfigurations": [ { "name": "Debug Local File", "type": "Ruby", "request": "launch", "cwd": "${workspaceRoot}", "program": "${workspaceRoot}/main.rb" }, { "name": "Listen for rdebug-ide", "type": "Ruby", "request": "attach", "cwd": "${workspaceRoot}", "remoteHost": "127.0.0.1", "remotePort": "1234", "remoteWorkspaceRoot": "${workspaceRoot}" }, { "name": "Rails server", "type": "Ruby", "request": "launch", "cwd": "${workspaceRoot}", "program": "${workspaceRoot}/bin/rails", "args": [ "server" ] }, { "name": "RSpec - all", "type": "Ruby", "request": "launch", "cwd": "${workspaceRoot}", "program": "${workspaceRoot}/bin/rspec", "args": [ "-I", "${workspaceRoot}" ] }, { "name": "RSpec - active spec file only", "type": "Ruby", "request": "launch", "cwd": "${workspaceRoot}", "program": "${workspaceRoot}/bin/rspec", "args": [ "-I", "${workspaceRoot}", "${file}" ] }, { "name": "Cucumber", "type": "Ruby", "request": "launch", "cwd": "${workspaceRoot}", "program": "${workspaceRoot}/bin/cucumber" } ] } ] }, "__metadata": { "id": "ae062c8a-c68e-4b92-9ecf-8f1d4288b05d", "publisherId": "d30b9513-547b-4112-9c9c-0fcffa960258", "publisherDisplayName": "Peng Lv" } }