From 755abaf2b7623f60005207e41bb7a687cb276e20 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 08:58:48 -0700 Subject: [PATCH 01/36] Break out package dependencies into separate section --- package.json | 109 ++++++++++++++++++++++++++------------------------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/package.json b/package.json index 712ebe34a..68b53a0c9 100644 --- a/package.json +++ b/package.json @@ -39,8 +39,30 @@ "space-pen": "2.0.0", "telepath": "0.8.1", "temp": "0.5.0", - "underscore-plus": "0.2.0", - + "underscore-plus": "0.2.0" + }, + "devDependencies": { + "biscotto": "0.0.17", + "formidable": "~1.0.14", + "fstream": "0.1.24", + "grunt": "~0.4.1", + "grunt-cli": "~0.1.9", + "grunt-coffeelint": "0.0.6", + "grunt-lesslint": "0.13.0", + "grunt-cson": "0.5.0", + "grunt-contrib-csslint": "~0.1.2", + "grunt-contrib-coffee": "~0.7.0", + "grunt-contrib-less": "~0.6.4", + "walkdir": "0.0.7", + "ws": "0.4.27", + "js-yaml": "~2.1.0", + "grunt-markdown": "~0.4.0", + "json-front-matter": "~0.1.3", + "grunt-shell": "~0.3.1", + "jasmine-node": "git://github.com/kevinsawicki/jasmine-node.git#short-stacks", + "request": "~2.27.0" + }, + "packageDependencies" : { "atom-light-ui": "0.4.0", "atom-light-syntax": "0.4.0", "atom-dark-ui": "0.4.0", @@ -88,58 +110,37 @@ "whitespace": "0.7.0", "wrap-guide": "0.4.0", - "c-tmbundle": "1.0.0", - "coffee-script-tmbundle": "1.0.0", - "css-tmbundle": "1.0.0", - "git-tmbundle": "1.0.0", - "go-tmbundle": "1.0.0", - "html-tmbundle": "1.0.0", - "hyperlink-helper-tmbundle": "1.0.0", - "java-tmbundle": "1.0.0", - "javascript-tmbundle": "2.0.0", - "json-tmbundle": "1.0.0", - "less-tmbundle": "1.0.0", - "make-tmbundle": "1.0.0", - "mustache-tmbundle": "1.0.0", - "objective-c-tmbundle": "1.0.0", - "pegjs-tmbundle": "1.0.0", - "perl-tmbundle": "1.0.0", - "php-tmbundle": "1.0.0", - "property-list-tmbundle": "1.0.0", - "puppet-textmate-tmbundle": "1.0.0", - "python-tmbundle": "1.0.0", - "ruby-on-rails-tmbundle": "1.0.0", - "ruby-tmbundle": "1.0.0", - "sass-tmbundle": "1.0.0", - "shellscript-tmbundle": "1.0.0", - "source-tmbundle": "1.0.0", - "sql-tmbundle": "1.0.0", - "text-tmbundle": "1.0.0", - "textmate-clojure": "1.0.0", - "todo-tmbundle": "1.0.0", - "xml-tmbundle": "1.0.0", - "yaml-tmbundle": "1.0.0" - }, - "devDependencies": { - "biscotto": "0.0.17", - "formidable": "~1.0.14", - "fstream": "0.1.24", - "grunt": "~0.4.1", - "grunt-cli": "~0.1.9", - "grunt-coffeelint": "0.0.6", - "grunt-lesslint": "0.13.0", - "grunt-cson": "0.5.0", - "grunt-contrib-csslint": "~0.1.2", - "grunt-contrib-coffee": "~0.7.0", - "grunt-contrib-less": "~0.6.4", - "walkdir": "0.0.7", - "ws": "0.4.27", - "js-yaml": "~2.1.0", - "grunt-markdown": "~0.4.0", - "json-front-matter": "~0.1.3", - "grunt-shell": "~0.3.1", - "jasmine-node": "git://github.com/kevinsawicki/jasmine-node.git#short-stacks", - "request": "~2.27.0" + "language-c": "1.0.0", + "language-coffee-script": "1.0.0", + "language-css": "1.0.0", + "language-git": "1.0.0", + "language-go": "1.0.0", + "language-html": "1.0.0", + "language-hyperlink": "1.0.0", + "language-java": "1.0.0", + "language-javascript": "1.0.0", + "language-json": "1.0.0", + "language-less": "1.0.0", + "language-make": "1.0.0", + "language-mustache": "1.0.0", + "language-objective-c": "1.0.0", + "language-pegjs": "1.0.0", + "language-perl": "1.0.0", + "language-php": "1.0.0", + "language-property-list": "1.0.0", + "language-puppet": "1.0.0", + "language-python": "1.0.0", + "language-ruby-on-rails": "1.0.0", + "language-ruby": "1.0.0", + "language-sass": "1.0.0", + "language-shellscript": "1.0.0", + "language-source": "1.0.0", + "language-sql": "1.0.0", + "language-text": "1.0.0", + "language-clojure": "1.0.0", + "language-todo": "1.0.0", + "language-xml": "1.0.0", + "language-yaml": "1.0.0" }, "private": true, "scripts": { From ceffb23431c27008c47a918dda2759994ac07bf0 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 09:31:39 -0700 Subject: [PATCH 02/36] Put clojure with the other c packages --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 68b53a0c9..d56b93146 100644 --- a/package.json +++ b/package.json @@ -111,6 +111,7 @@ "wrap-guide": "0.4.0", "language-c": "1.0.0", + "language-clojure": "1.0.0", "language-coffee-script": "1.0.0", "language-css": "1.0.0", "language-git": "1.0.0", @@ -137,7 +138,6 @@ "language-source": "1.0.0", "language-sql": "1.0.0", "language-text": "1.0.0", - "language-clojure": "1.0.0", "language-todo": "1.0.0", "language-xml": "1.0.0", "language-yaml": "1.0.0" From d765880f749868d1ff075556719a74200ef9e613 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 16:19:53 -0700 Subject: [PATCH 03/36] Upgrade core themes for versions with a README --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index d56b93146..61377216d 100644 --- a/package.json +++ b/package.json @@ -63,10 +63,10 @@ "request": "~2.27.0" }, "packageDependencies" : { - "atom-light-ui": "0.4.0", - "atom-light-syntax": "0.4.0", - "atom-dark-ui": "0.4.0", - "atom-dark-syntax": "0.4.0", + "atom-light-ui": "0.5.0", + "atom-light-syntax": "0.5.0", + "atom-dark-ui": "0.5.0", + "atom-dark-syntax": "0.5.0", "base16-tomorrow-dark-theme": "0.2.0", "solarized-dark-syntax": "0.3.0", From f01d006e251b649e4d794b63e8262a0377ae848d Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 16:23:52 -0700 Subject: [PATCH 04/36] Add task to publish packages --- tasks/publish-packages.coffee | 97 +++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 tasks/publish-packages.coffee diff --git a/tasks/publish-packages.coffee b/tasks/publish-packages.coffee new file mode 100644 index 000000000..61bc06b7a --- /dev/null +++ b/tasks/publish-packages.coffee @@ -0,0 +1,97 @@ +async = require 'async' +request = require 'request' + +# Configure and publish all packages in package.json to atom.io +# +# This task should be run whenever you want to be sure that atom.io contains +# all the packages and versions referenced in Atom's package.json file. +module.exports = (grunt) -> + baseUrl = "https://github-atom-io.herokuapp.com/api/packages" + + packageExists = (packageName, token, callback) -> + requestSettings = + url: "#{baseUrl}/#{packageName}" + json: true + headers: + authorization: token + request.get requestSettings, (error, response, body={}) -> + if error? + callback(error) + else + callback(null, response.statusCode is 404) + + createPackage = (packageName, token, callback) -> + requestSettings = + url: baseUrl + json: true + headers: + authorization: token + method: 'POST' + body: + repository: "atom/#{packageName}" + + request.get requestSettings, (error, response, body={}) -> + if error? + callback(error) + else if response.statusCode isnt 200 + message = body.message ? body.error ? body + callback(new Error("Creating package failed: #{message}")) + else + callback() + + createPackageVersion = (packageName, tag, token, callback) -> + requestSettings = + url: "#{baseUrl}/#{packageName}/versions" + json: true + method: 'POST' + body: + tag: tag + headers: + authorization: token + request.get requestSettings, (error, response, body={}) -> + if error? + callback(error) + else if response.statusCode isnt 200 + message = body.message ? body.error ? body + if message is 'Version exists' + callback() + else + callback(new Error("Creating new version failed: #{message}")) + else + callback() + + grunt.registerTask 'publish-packages', 'Publish all bundled packages', -> + token = process.env.ATOM_ACCESS_TOKEN + unless token + grunt.log.error('Must set ATOM_ACCESS_TOKEN environment variable') + return false + + {packageDependencies} = grunt.file.readJSON('package.json') ? {} + done = @async() + + tasks = [] + for name, version of packageDependencies + do (name, version) -> + tasks.push (callback) -> + grunt.log.writeln("Publishing #{name}@#{version}") + tag = "v#{version}" + packageExists name, token, (error, exists) -> + if error? + callback(error) + return + + if exists + createPackage name, token, (error) -> + if error? + callback(error) + else + createPackageVersion(name, tag, token, callback) + else + createPackageVersion(name, tag, token, callback) + + async.waterfall tasks, (error) -> + if error? + grunt.log.error(error.message) + done(false) + else + done() From 3b05b40d66a7803b9dd83e5144aae642e1def3a3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:08:31 -0700 Subject: [PATCH 05/36] Update package names for new language- prefix --- spec/atom-spec.coffee | 12 +++---- spec/display-buffer-spec.coffee | 2 +- spec/edit-session-spec.coffee | 2 +- spec/editor-spec.coffee | 4 +-- spec/language-mode-spec.coffee | 18 +++++----- spec/syntax-spec.coffee | 12 +++---- spec/text-mate-grammar-spec.coffee | 56 +++++++++++++++--------------- spec/tokenized-buffer-spec.coffee | 12 +++---- 8 files changed, 59 insertions(+), 59 deletions(-) diff --git a/spec/atom-spec.coffee b/spec/atom-spec.coffee index ed357c0fe..65eda00c0 100644 --- a/spec/atom-spec.coffee +++ b/spec/atom-spec.coffee @@ -239,12 +239,12 @@ describe "the `atom` global", -> describe "textmate packages", -> it "loads the package's grammars", -> expect(syntax.selectGrammar("file.rb").name).toBe "Null Grammar" - atom.activatePackage('ruby-tmbundle', sync: true) + atom.activatePackage('language-ruby', sync: true) expect(syntax.selectGrammar("file.rb").name).toBe "Ruby" it "translates the package's scoped properties to Atom terms", -> expect(syntax.getProperty(['.source.ruby'], 'editor.commentStart')).toBeUndefined() - atom.activatePackage('ruby-tmbundle', sync: true) + atom.activatePackage('language-ruby', sync: true) expect(syntax.getProperty(['.source.ruby'], 'editor.commentStart')).toBe '# ' describe "when the package has no grammars but does have preferences", -> @@ -327,12 +327,12 @@ describe "the `atom` global", -> describe "textmate packages", -> it "removes the package's grammars", -> expect(syntax.selectGrammar("file.rb").name).toBe "Null Grammar" - atom.activatePackage('ruby-tmbundle', sync: true) + atom.activatePackage('language-ruby', sync: true) expect(syntax.selectGrammar("file.rb").name).toBe "Ruby" - atom.deactivatePackage('ruby-tmbundle') + atom.deactivatePackage('language-ruby') expect(syntax.selectGrammar("file.rb").name).toBe "Null Grammar" it "removes the package's scoped properties", -> - atom.activatePackage('ruby-tmbundle', sync: true) - atom.deactivatePackage('ruby-tmbundle') + atom.activatePackage('language-ruby', sync: true) + atom.deactivatePackage('language-ruby') expect(syntax.getProperty(['.source.ruby'], 'editor.commentStart')).toBeUndefined() diff --git a/spec/display-buffer-spec.coffee b/spec/display-buffer-spec.coffee index 6b7c699df..d2d18e646 100644 --- a/spec/display-buffer-spec.coffee +++ b/spec/display-buffer-spec.coffee @@ -5,7 +5,7 @@ describe "DisplayBuffer", -> [displayBuffer, buffer, changeHandler, tabLength] = [] beforeEach -> tabLength = 2 - atom.activatePackage('javascript-tmbundle', sync: true) + atom.activatePackage('language-javascript', sync: true) buffer = project.bufferForPathSync('sample.js') displayBuffer = new DisplayBuffer({buffer, tabLength}) changeHandler = jasmine.createSpy 'changeHandler' diff --git a/spec/edit-session-spec.coffee b/spec/edit-session-spec.coffee index 4c6320e53..9ecb7fed9 100644 --- a/spec/edit-session-spec.coffee +++ b/spec/edit-session-spec.coffee @@ -16,7 +16,7 @@ describe "EditSession", -> describe "with default options", -> beforeEach -> - atom.activatePackage('javascript-tmbundle', sync: true) + atom.activatePackage('language-javascript', sync: true) editSession = project.openSync('sample.js', autoIndent: false) buffer = editSession.buffer lineLengths = buffer.getLines().map (line) -> line.length diff --git a/spec/editor-spec.coffee b/spec/editor-spec.coffee index 595e025dd..42d37f382 100644 --- a/spec/editor-spec.coffee +++ b/spec/editor-spec.coffee @@ -6,8 +6,8 @@ describe "Editor", -> [buffer, editor, editSession, cachedLineHeight, cachedCharWidth] = [] beforeEach -> - atom.activatePackage('text-tmbundle', sync: true) - atom.activatePackage('javascript-tmbundle', sync: true) + atom.activatePackage('language-text', sync: true) + atom.activatePackage('language-javascript', sync: true) editSession = project.openSync('sample.js') buffer = editSession.buffer editor = new Editor(editSession) diff --git a/spec/language-mode-spec.coffee b/spec/language-mode-spec.coffee index 6dd7d54f9..37b268840 100644 --- a/spec/language-mode-spec.coffee +++ b/spec/language-mode-spec.coffee @@ -6,7 +6,7 @@ describe "LanguageMode", -> describe "javascript", -> beforeEach -> - atom.activatePackage('javascript-tmbundle', sync: true) + atom.activatePackage('language-javascript', sync: true) editSession = project.openSync('sample.js', autoIndent: false) {buffer, languageMode} = editSession @@ -97,7 +97,7 @@ describe "LanguageMode", -> describe "coffeescript", -> beforeEach -> - atom.activatePackage('coffee-script-tmbundle', sync: true) + atom.activatePackage('language-coffee-script', sync: true) editSession = project.openSync('coffee.coffee', autoIndent: false) {buffer, languageMode} = editSession @@ -144,7 +144,7 @@ describe "LanguageMode", -> describe "css", -> beforeEach -> - atom.activatePackage('css-tmbundle', sync: true) + atom.activatePackage('language-css', sync: true) editSession = project.openSync('css.css', autoIndent: false) {buffer, languageMode} = editSession @@ -185,8 +185,8 @@ describe "LanguageMode", -> describe "less", -> beforeEach -> - atom.activatePackage('less-tmbundle', sync: true) - atom.activatePackage('css-tmbundle', sync: true) + atom.activatePackage('language-less', sync: true) + atom.activatePackage('language-css', sync: true) editSession = project.openSync('sample.less', autoIndent: false) {buffer, languageMode} = editSession @@ -197,7 +197,7 @@ describe "LanguageMode", -> describe "folding", -> beforeEach -> - atom.activatePackage('javascript-tmbundle', sync: true) + atom.activatePackage('language-javascript', sync: true) editSession = project.openSync('sample.js', autoIndent: false) {buffer, languageMode} = editSession @@ -287,7 +287,7 @@ describe "LanguageMode", -> describe "folding with comments", -> beforeEach -> - atom.activatePackage('javascript-tmbundle', sync: true) + atom.activatePackage('language-javascript', sync: true) editSession = project.openSync('sample-with-comments.js', autoIndent: false) {buffer, languageMode} = editSession @@ -340,8 +340,8 @@ describe "LanguageMode", -> describe "css", -> beforeEach -> - atom.activatePackage('source-tmbundle', sync: true) - atom.activatePackage('css-tmbundle', sync: true) + atom.activatePackage('language-source', sync: true) + atom.activatePackage('language-css', sync: true) editSession = project.openSync('css.css', autoIndent: true) describe "suggestedIndentForBufferRow", -> diff --git a/spec/syntax-spec.coffee b/spec/syntax-spec.coffee index b3e46ff38..3d95ad0df 100644 --- a/spec/syntax-spec.coffee +++ b/spec/syntax-spec.coffee @@ -5,10 +5,10 @@ TextMateGrammar = require '../src/text-mate-grammar' describe "the `syntax` global", -> beforeEach -> - atom.activatePackage('text-tmbundle', sync: true) - atom.activatePackage('javascript-tmbundle', sync: true) - atom.activatePackage('coffee-script-tmbundle', sync: true) - atom.activatePackage('ruby-tmbundle', sync: true) + atom.activatePackage('language-text', sync: true) + atom.activatePackage('language-javascript', sync: true) + atom.activatePackage('language-coffee-script', sync: true) + atom.activatePackage('language-ruby', sync: true) describe "serialization", -> it "remembers grammar overrides by path", -> @@ -21,7 +21,7 @@ describe "the `syntax` global", -> describe ".selectGrammar(filePath)", -> it "can use the filePath to load the correct grammar based on the grammar's filetype", -> - atom.activatePackage('git-tmbundle', sync: true) + atom.activatePackage('language-git', sync: true) expect(syntax.selectGrammar("file.js").name).toBe "JavaScript" # based on extension (.js) expect(syntax.selectGrammar(path.join(temp.dir, '.git', 'config')).name).toBe "Git Config" # based on end of the path (.git/config) @@ -34,7 +34,7 @@ describe "the `syntax` global", -> expect(syntax.selectGrammar(filePath).name).toBe "Ruby" it "uses the number of newlines in the first line regex to determine the number of lines to test against", -> - atom.activatePackage('property-list-tmbundle', sync: true) + atom.activatePackage('language-property-list', sync: true) fileContent = "first-line\n" expect(syntax.selectGrammar("dummy.coffee", fileContent).name).toBe "CoffeeScript" diff --git a/spec/text-mate-grammar-spec.coffee b/spec/text-mate-grammar-spec.coffee index 5b898bc52..840423cfb 100644 --- a/spec/text-mate-grammar-spec.coffee +++ b/spec/text-mate-grammar-spec.coffee @@ -6,13 +6,13 @@ describe "TextMateGrammar", -> grammar = null beforeEach -> - atom.activatePackage('text-tmbundle', sync: true) - atom.activatePackage('javascript-tmbundle', sync: true) - atom.activatePackage('coffee-script-tmbundle', sync: true) - atom.activatePackage('ruby-tmbundle', sync: true) - atom.activatePackage('html-tmbundle', sync: true) - atom.activatePackage('php-tmbundle', sync: true) - atom.activatePackage('python-tmbundle', sync: true) + atom.activatePackage('language-text', sync: true) + atom.activatePackage('language-javascript', sync: true) + atom.activatePackage('language-coffee-script', sync: true) + atom.activatePackage('language-ruby', sync: true) + atom.activatePackage('language-html', sync: true) + atom.activatePackage('language-php', sync: true) + atom.activatePackage('language-python', sync: true) grammar = syntax.selectGrammar("hello.coffee") describe "@loadSync(path)", -> @@ -211,8 +211,8 @@ describe "TextMateGrammar", -> describe "when the pattern includes rules from another grammar", -> describe "when a grammar matching the desired scope is available", -> it "parses tokens inside the begin/end patterns based on the included grammar's rules", -> - atom.activatePackage('html-tmbundle', sync: true) - atom.activatePackage('ruby-on-rails-tmbundle', sync: true) + atom.activatePackage('language-html', sync: true) + atom.activatePackage('language-ruby-on-rails', sync: true) grammar = syntax.grammarForScopeName('text.html.ruby') {tokens} = grammar.tokenizeLine("
<%= User.find(2).full_name %>
") @@ -242,8 +242,8 @@ describe "TextMateGrammar", -> expect(tokens[22]).toEqual value: '>', scopes: ["text.html.ruby","meta.tag.block.any.html","punctuation.definition.tag.end.html"] it "updates the grammar if the included grammar is updated later", -> - atom.activatePackage('html-tmbundle', sync: true) - atom.activatePackage('ruby-on-rails-tmbundle', sync: true) + atom.activatePackage('language-html', sync: true) + atom.activatePackage('language-ruby-on-rails', sync: true) grammar = syntax.selectGrammar('foo.html.erb') grammarUpdatedHandler = jasmine.createSpy("grammarUpdatedHandler") @@ -252,7 +252,7 @@ describe "TextMateGrammar", -> {tokens} = grammar.tokenizeLine("
<% <<-SQL select * from users;") expect(tokens[12].value).toBe " select * from users;" - atom.activatePackage('sql-tmbundle', sync: true) + atom.activatePackage('language-sql', sync: true) expect(grammarUpdatedHandler).toHaveBeenCalled() {tokens} = grammar.tokenizeLine("
<% <<-SQL select * from users;") expect(tokens[12].value).toBe " " @@ -260,8 +260,8 @@ describe "TextMateGrammar", -> describe "when a grammar matching the desired scope is unavailable", -> it "updates the grammar if a matching grammar is added later", -> - atom.deactivatePackage('html-tmbundle') - atom.activatePackage('ruby-on-rails-tmbundle', sync: true) + atom.deactivatePackage('language-html') + atom.activatePackage('language-ruby-on-rails', sync: true) grammar = syntax.grammarForScopeName('text.html.ruby') {tokens} = grammar.tokenizeLine("
<%= User.find(2).full_name %>
") @@ -270,7 +270,7 @@ describe "TextMateGrammar", -> expect(tokens[2]).toEqual value: ' ', scopes: ["text.html.ruby","source.ruby.rails.embedded.html"] expect(tokens[3]).toEqual value: 'User', scopes: ["text.html.ruby","source.ruby.rails.embedded.html","support.class.ruby"] - atom.activatePackage('html-tmbundle', sync: true) + atom.activatePackage('language-html', sync: true) {tokens} = grammar.tokenizeLine("
<%= User.find(2).full_name %>
") expect(tokens[0]).toEqual value: '<', scopes: ["text.html.ruby","meta.tag.block.any.html","punctuation.definition.tag.begin.html"] expect(tokens[1]).toEqual value: 'div', scopes: ["text.html.ruby","meta.tag.block.any.html","entity.name.tag.block.any.html"] @@ -314,7 +314,7 @@ describe "TextMateGrammar", -> describe "when inside a C block", -> beforeEach -> - atom.activatePackage('c-tmbundle', sync: true) + atom.activatePackage('language-c', sync: true) it "correctly parses a method. (regression)", -> grammar = syntax.selectGrammar("hello.c") @@ -339,7 +339,7 @@ describe "TextMateGrammar", -> describe "when a grammar has a pattern that has back references in the match value", -> it "does not special handle the back references and instead allows oniguruma to resolve them", -> - atom.activatePackage('sass-tmbundle', sync: true) + atom.activatePackage('language-sass', sync: true) grammar = syntax.selectGrammar("style.scss") {tokens} = grammar.tokenizeLine("@mixin x() { -moz-selector: whatever; }") expect(tokens[9]).toEqual value: "-moz-selector", scopes: ["source.css.scss", "meta.property-list.scss", "meta.property-name.scss"] @@ -428,14 +428,14 @@ describe "TextMateGrammar", -> describe "when the grammar's pattern name has a group number in it", -> it "replaces the group number with the matched captured text", -> - atom.activatePackage('hyperlink-helper-tmbundle', sync: true) + atom.activatePackage('language-hyperlink', sync: true) grammar = syntax.grammarForScopeName("text.hyperlink") {tokens} = grammar.tokenizeLine("https://github.com") expect(tokens[0].scopes).toEqual ["text.hyperlink", "markup.underline.link.https.hyperlink"] describe "when the grammar has an injection selector", -> it "includes the grammar's patterns when the selector matches the current scope in other grammars", -> - atom.activatePackage('hyperlink-helper-tmbundle', sync: true) + atom.activatePackage('language-hyperlink', sync: true) grammar = syntax.selectGrammar("text.js") {tokens} = grammar.tokenizeLine("var i; // http://github.com") @@ -454,7 +454,7 @@ describe "TextMateGrammar", -> expect(tokens[1].value).toBe " http://github.com" expect(tokens[1].scopes).toEqual ["source.js", "comment.line.double-slash.js"] - atom.activatePackage('hyperlink-helper-tmbundle', sync: true) + atom.activatePackage('language-hyperlink-helper', sync: true) {tokens} = editSession.lineForScreenRow(0) expect(tokens[2].value).toBe "http://github.com" @@ -481,7 +481,7 @@ describe "TextMateGrammar", -> expect(tokens[1].value).toBe " SELECT * FROM OCTOCATS" expect(tokens[1].scopes).toEqual ["source.js", "comment.line.double-slash.js"] - atom.activatePackage('sql-tmbundle', sync: true) + atom.activatePackage('language-sql', sync: true) {tokens} = editSession.lineForScreenRow(0) expect(tokens[2].value).toBe "SELECT" @@ -514,7 +514,7 @@ describe "TextMateGrammar", -> lines = null beforeEach -> - atom.activatePackage('todo-tmbundle', sync: true) + atom.activatePackage('language-todo', sync: true) grammar = syntax.selectGrammar('main.rb') lines = grammar.tokenizeLines "# TODO be nicer" @@ -528,7 +528,7 @@ describe "TextMateGrammar", -> describe "Git commit messages", -> beforeEach -> - atom.activatePackage('git-tmbundle', sync: true) + atom.activatePackage('language-git', sync: true) grammar = syntax.selectGrammar('COMMIT_EDITMSG') lines = grammar.tokenizeLines """ longggggggggggggggggggggggggggggggggggggggggggggggg @@ -547,7 +547,7 @@ describe "TextMateGrammar", -> describe "C++", -> beforeEach -> - atom.activatePackage('c-tmbundle', sync: true) + atom.activatePackage('language-c', sync: true) grammar = syntax.selectGrammar('includes.cc') lines = grammar.tokenizeLines """ #include "a.h" @@ -585,8 +585,8 @@ describe "TextMateGrammar", -> describe "Objective-C", -> beforeEach -> - atom.activatePackage('c-tmbundle', sync: true) - atom.activatePackage('objective-c-tmbundle', sync: true) + atom.activatePackage('language-c', sync: true) + atom.activatePackage('language-objective-c', sync: true) grammar = syntax.selectGrammar('function.mm') lines = grammar.tokenizeLines """ void test() { @@ -612,7 +612,7 @@ describe "TextMateGrammar", -> describe "Java", -> beforeEach -> - atom.activatePackage('java-tmbundle', sync: true) + atom.activatePackage('language-java', sync: true) grammar = syntax.selectGrammar('Function.java') it "correctly parses single line comments", -> @@ -664,7 +664,7 @@ describe "TextMateGrammar", -> describe "when the line contains unicode characters", -> it "correctly parses tokens starting after them", -> - atom.activatePackage('json-tmbundle', sync: true) + atom.activatePackage('language-json', sync: true) grammar = syntax.selectGrammar('package.json') {tokens} = grammar.tokenizeLine '{"\u2026": 1}' diff --git a/spec/tokenized-buffer-spec.coffee b/spec/tokenized-buffer-spec.coffee index 70159ce7a..dd36ec316 100644 --- a/spec/tokenized-buffer-spec.coffee +++ b/spec/tokenized-buffer-spec.coffee @@ -5,7 +5,7 @@ describe "TokenizedBuffer", -> [tokenizedBuffer, buffer, changeHandler] = [] beforeEach -> - atom.activatePackage('javascript-tmbundle', sync: true) + atom.activatePackage('language-javascript', sync: true) # enable async tokenization TokenizedBuffer.prototype.chunkSize = 5 jasmine.unspy(TokenizedBuffer.prototype, 'tokenizeInBackground') @@ -319,7 +319,7 @@ describe "TokenizedBuffer", -> describe "when the buffer contains hard-tabs", -> beforeEach -> - atom.activatePackage('coffee-script-tmbundle', sync: true) + atom.activatePackage('language-coffee-script', sync: true) buffer = project.bufferForPathSync('sample-with-tabs.coffee') tokenizedBuffer = new TokenizedBuffer({buffer}) startTokenizing(tokenizedBuffer) @@ -349,7 +349,7 @@ describe "TokenizedBuffer", -> describe "when the buffer contains surrogate pairs", -> beforeEach -> - atom.activatePackage('javascript-tmbundle', sync: true) + atom.activatePackage('language-javascript', sync: true) buffer = project.buildBufferSync 'sample-with-pairs.js', """ 'abc\uD835\uDF97def' //\uD835\uDF97xyz @@ -386,8 +386,8 @@ describe "TokenizedBuffer", -> describe "when the grammar is updated because a grammar it includes is activated", -> it "retokenizes the buffer", -> - atom.activatePackage('ruby-on-rails-tmbundle', sync: true) - atom.activatePackage('ruby-tmbundle', sync: true) + atom.activatePackage('language-ruby-on-rails', sync: true) + atom.activatePackage('language-ruby', sync: true) buffer = project.bufferForPathSync(null, "
<%= User.find(2).full_name %>
") tokenizedBuffer = new TokenizedBuffer({buffer}) @@ -397,7 +397,7 @@ describe "TokenizedBuffer", -> {tokens} = tokenizedBuffer.lineForScreenRow(0) expect(tokens[0]).toEqual value: "
", scopes: ["text.html.ruby"] - atom.activatePackage('html-tmbundle', sync: true) + atom.activatePackage('language-html', sync: true) fullyTokenize(tokenizedBuffer) {tokens} = tokenizedBuffer.lineForScreenRow(0) expect(tokens[0]).toEqual value: '<', scopes: ["text.html.ruby","meta.tag.block.any.html","punctuation.definition.tag.begin.html"] From eeebaba3508957bc7a3735b54bc42fedf4dbbb9f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:09:08 -0700 Subject: [PATCH 06/36] Add language- prefix to package name regex --- src/text-mate-package.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/text-mate-package.coffee b/src/text-mate-package.coffee index 8e7013d88..832a985e7 100644 --- a/src/text-mate-package.coffee +++ b/src/text-mate-package.coffee @@ -10,7 +10,7 @@ async = require 'async' module.exports = class TextMatePackage extends Package @testName: (packageName) -> - /(\.|_|-)tmbundle$/.test(packageName) + /(^language-.*)|((\.|_|-)tmbundle$)/.test(packageName) @getLoadQueue: -> return @loadQueue if @loadQueue From 4fae98d049dae72a22288cf5179fa53b7e140474 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:09:45 -0700 Subject: [PATCH 07/36] Use atom.io URL --- tasks/publish-packages.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/publish-packages.coffee b/tasks/publish-packages.coffee index 61bc06b7a..c1f3b1727 100644 --- a/tasks/publish-packages.coffee +++ b/tasks/publish-packages.coffee @@ -6,7 +6,7 @@ request = require 'request' # This task should be run whenever you want to be sure that atom.io contains # all the packages and versions referenced in Atom's package.json file. module.exports = (grunt) -> - baseUrl = "https://github-atom-io.herokuapp.com/api/packages" + baseUrl = "https://www.atom.io/api/packages" packageExists = (packageName, token, callback) -> requestSettings = From 03f6461dec8f72ef59afaa906c819cf6f386c316 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:12:51 -0700 Subject: [PATCH 08/36] Reset language packages versions --- package.json | 62 ++++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 61377216d..d1c8a3830 100644 --- a/package.json +++ b/package.json @@ -110,37 +110,37 @@ "whitespace": "0.7.0", "wrap-guide": "0.4.0", - "language-c": "1.0.0", - "language-clojure": "1.0.0", - "language-coffee-script": "1.0.0", - "language-css": "1.0.0", - "language-git": "1.0.0", - "language-go": "1.0.0", - "language-html": "1.0.0", - "language-hyperlink": "1.0.0", - "language-java": "1.0.0", - "language-javascript": "1.0.0", - "language-json": "1.0.0", - "language-less": "1.0.0", - "language-make": "1.0.0", - "language-mustache": "1.0.0", - "language-objective-c": "1.0.0", - "language-pegjs": "1.0.0", - "language-perl": "1.0.0", - "language-php": "1.0.0", - "language-property-list": "1.0.0", - "language-puppet": "1.0.0", - "language-python": "1.0.0", - "language-ruby-on-rails": "1.0.0", - "language-ruby": "1.0.0", - "language-sass": "1.0.0", - "language-shellscript": "1.0.0", - "language-source": "1.0.0", - "language-sql": "1.0.0", - "language-text": "1.0.0", - "language-todo": "1.0.0", - "language-xml": "1.0.0", - "language-yaml": "1.0.0" + "language-c": "0.1.0", + "language-clojure": "0.1.0", + "language-coffee-script": "0.1.0", + "language-css": "0.1.0", + "language-git": "0.1.0", + "language-go": "0.2.0", + "language-html": "0.1.0", + "language-hyperlink": "0.1.0", + "language-java": "0.1.0", + "language-javascript": "0.1.0", + "language-json": "0.1.0", + "language-less": "0.1.0", + "language-make": "0.1.0", + "language-mustache": "0.1.0", + "language-objective-c": "0.1.0", + "language-pegjs": "0.1.0", + "language-perl": "0.1.0", + "language-php": "0.1.0", + "language-property-list": "0.1.0", + "language-puppet": "0.1.0", + "language-python": "0.1.0", + "language-ruby-on-rails": "0.1.0", + "language-ruby": "0.1.0", + "language-sass": "0.1.0", + "language-shellscript": "0.1.0", + "language-source": "0.1.0", + "language-sql": "0.1.0", + "language-text": "0.1.0", + "language-todo": "0.1.0", + "language-xml": "0.1.0", + "language-yaml": "0.1.0" }, "private": true, "scripts": { From dd51a08d540de763a0503d022c9936f9dfe3449d Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:19:12 -0700 Subject: [PATCH 09/36] Upgrade to language-hyperlink@0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d1c8a3830..fde0c2d9d 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,7 @@ "language-git": "0.1.0", "language-go": "0.2.0", "language-html": "0.1.0", - "language-hyperlink": "0.1.0", + "language-hyperlink": "0.2.0", "language-java": "0.1.0", "language-javascript": "0.1.0", "language-json": "0.1.0", From 23158261b2a24d17a910b8f5ee7be778b7a27c8f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:22:38 -0700 Subject: [PATCH 10/36] Upgrade to language-property-list@0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fde0c2d9d..a60130b54 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "language-pegjs": "0.1.0", "language-perl": "0.1.0", "language-php": "0.1.0", - "language-property-list": "0.1.0", + "language-property-list": "0.2.0", "language-puppet": "0.1.0", "language-python": "0.1.0", "language-ruby-on-rails": "0.1.0", From 1c16f4fb731d331be19850b9277b1159e3024de7 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:24:43 -0700 Subject: [PATCH 11/36] Upgrade to language-ruby-on-rails@0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a60130b54..c70ac6b53 100644 --- a/package.json +++ b/package.json @@ -131,7 +131,7 @@ "language-property-list": "0.2.0", "language-puppet": "0.1.0", "language-python": "0.1.0", - "language-ruby-on-rails": "0.1.0", + "language-ruby-on-rails": "0.2.0", "language-ruby": "0.1.0", "language-sass": "0.1.0", "language-shellscript": "0.1.0", From efbddc7339db055d2ef5b3232fecfac9a7171904 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:31:33 -0700 Subject: [PATCH 12/36] Upgrade to language-ruby@0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c70ac6b53..fa9c3ffea 100644 --- a/package.json +++ b/package.json @@ -132,7 +132,7 @@ "language-puppet": "0.1.0", "language-python": "0.1.0", "language-ruby-on-rails": "0.2.0", - "language-ruby": "0.1.0", + "language-ruby": "0.2.0", "language-sass": "0.1.0", "language-shellscript": "0.1.0", "language-source": "0.1.0", From ee2e5bb2b08cb7cc1de85c545ce7fb753b51a0f8 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:31:39 -0700 Subject: [PATCH 13/36] Upgrade to language-sass@0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fa9c3ffea..ca74f4f32 100644 --- a/package.json +++ b/package.json @@ -133,7 +133,7 @@ "language-python": "0.1.0", "language-ruby-on-rails": "0.2.0", "language-ruby": "0.2.0", - "language-sass": "0.1.0", + "language-sass": "0.2.0", "language-shellscript": "0.1.0", "language-source": "0.1.0", "language-sql": "0.1.0", From 575a13957ba2e1bdde83b43777b887aa96a6c980 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:31:46 -0700 Subject: [PATCH 14/36] Upgrade to language-todo@0.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ca74f4f32..b6e09bbb9 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ "language-source": "0.1.0", "language-sql": "0.1.0", "language-text": "0.1.0", - "language-todo": "0.1.0", + "language-todo": "0.2.0", "language-xml": "0.1.0", "language-yaml": "0.1.0" }, From e7fc879a57097518d8ae6bdb4ff0559b05e0e794 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:33:24 -0700 Subject: [PATCH 15/36] Upgrade apm for new atom.io installation --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index 6ef00ae8b..32e6b251d 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit 6ef00ae8b1fc7c6ca96f6ce38859cd31db1f7430 +Subproject commit 32e6b251d52d07cb8c2bb4feb11ffe6b17c98d9f From 656bee7f56b8c8e16e888cd77cce61df35bc5a3e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:38:04 -0700 Subject: [PATCH 16/36] Upgrade apm for ATOM_ACCESS_TOKEN fix --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index 32e6b251d..db3ed3f9e 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit 32e6b251d52d07cb8c2bb4feb11ffe6b17c98d9f +Subproject commit db3ed3f9ec85d578c04ae4bdae2223058968d0ca From 351035e540de8ec1f9b30badf811b560bd5f52df Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:47:29 -0700 Subject: [PATCH 17/36] Upgrade apm for clean command fix --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index db3ed3f9e..abe77f589 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit db3ed3f9ec85d578c04ae4bdae2223058968d0ca +Subproject commit abe77f58955bfd0c164a903cdc9060c1f38dd6ad From 91f33de04e9c3a37450d63e8cde8069878ff274f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:56:05 -0700 Subject: [PATCH 18/36] Upgrade apm for another clean fix --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index abe77f589..f02c7fc6c 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit abe77f58955bfd0c164a903cdc9060c1f38dd6ad +Subproject commit f02c7fc6cb8de523ef6c4bc559dd780cf864d2cb From 927279cd9d8706409bffc5667e09a7794b1a5efe Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 17:59:25 -0700 Subject: [PATCH 19/36] Require language suffix to be non-empty --- src/text-mate-package.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/text-mate-package.coffee b/src/text-mate-package.coffee index 832a985e7..38a78822a 100644 --- a/src/text-mate-package.coffee +++ b/src/text-mate-package.coffee @@ -10,7 +10,7 @@ async = require 'async' module.exports = class TextMatePackage extends Package @testName: (packageName) -> - /(^language-.*)|((\.|_|-)tmbundle$)/.test(packageName) + /(^language-.+)|((\.|_|-)tmbundle$)/.test(packageName) @getLoadQueue: -> return @loadQueue if @loadQueue From 7bee816c19dc96163c3a9348437c73495db23e02 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 18:02:31 -0700 Subject: [PATCH 20/36] Upgrade apm for install fix --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index f02c7fc6c..bcdfed39d 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit f02c7fc6cb8de523ef6c4bc559dd780cf864d2cb +Subproject commit bcdfed39df35e48136f6d5c2c463ac8f30904703 From 4d035b148d393738ea9edd2b834132b3ca534dce Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 20:11:04 -0700 Subject: [PATCH 21/36] :lipstick: --- tasks/publish-packages.coffee | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tasks/publish-packages.coffee b/tasks/publish-packages.coffee index c1f3b1727..439ccf623 100644 --- a/tasks/publish-packages.coffee +++ b/tasks/publish-packages.coffee @@ -44,10 +44,11 @@ module.exports = (grunt) -> url: "#{baseUrl}/#{packageName}/versions" json: true method: 'POST' - body: - tag: tag headers: authorization: token + body: + tag: tag + request.get requestSettings, (error, response, body={}) -> if error? callback(error) From 0aae15e4c1f627e7274bca331a76a3e664b52d17 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 21 Oct 2013 20:47:01 -0700 Subject: [PATCH 22/36] Upgrade apm for class renames --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index bcdfed39d..6a7bc0fcf 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit bcdfed39df35e48136f6d5c2c463ac8f30904703 +Subproject commit 6a7bc0fcf2b0d73e8ad1d6f9bdc1870c90c2789c From bb19821c5cce3fca21575d5663a1cd6860dd93eb Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 10:15:54 -0700 Subject: [PATCH 23/36] Upgrade apm --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index 6a7bc0fcf..cd80fb3d7 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit 6a7bc0fcf2b0d73e8ad1d6f9bdc1870c90c2789c +Subproject commit cd80fb3d7b1f40626e24c5f04997a6f2c0b923af From 2254a6e33beb42b15f17fb1e55505f218eadd2c8 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 10:34:34 -0700 Subject: [PATCH 24/36] Set environment variables before bootstrapping The environment variables are required by bootstrap now for installing packages via atom.io --- script/cibuild | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/script/cibuild b/script/cibuild index 9a749de51..4b2c78c99 100755 --- a/script/cibuild +++ b/script/cibuild @@ -27,15 +27,14 @@ function readEnvironmentVariables(callback) { }); } -cp.safeExec('node script/bootstrap', function() { - var async = require('async'); - async.series([ - readEnvironmentVariables, - require('rimraf').bind(global, path.join(homeDir, '.atom')), - cp.safeExec.bind(global, 'git clean -dff'), - cp.safeExec.bind(global, 'node node_modules/.bin/apm clean'), - cp.safeExec.bind(global, 'node node_modules/.bin/grunt ci --stack --no-color'), - ], function(error) { - process.exit(error ? 1 : 0); - }); +var async = require('async'); +async.series([ + readEnvironmentVariables, + cp.safeExec.bind(global, 'node script/bootstrap'), + require('rimraf').bind(global, path.join(homeDir, '.atom')), + cp.safeExec.bind(global, 'git clean -dff'), + cp.safeExec.bind(global, 'node node_modules/.bin/apm clean'), + cp.safeExec.bind(global, 'node node_modules/.bin/grunt ci --stack --no-color'), +], function(error) { + process.exit(error ? 1 : 0); }); From c66b478c63b0e319c18aa43fb3216bfcdb2cd30f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 11:04:32 -0700 Subject: [PATCH 25/36] Upgrade apm for progress tweak --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index cd80fb3d7..f96281ed0 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit cd80fb3d7b1f40626e24c5f04997a6f2c0b923af +Subproject commit f96281ed04a0650ebca8c637c130aa79384615d2 From 73f0f2930fb3b31147b02418ffcf84dbbc9fc51d Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 11:19:15 -0700 Subject: [PATCH 26/36] Ensure package basename is used --- src/text-mate-package.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/src/text-mate-package.coffee b/src/text-mate-package.coffee index 38a78822a..0ab3500b3 100644 --- a/src/text-mate-package.coffee +++ b/src/text-mate-package.coffee @@ -10,6 +10,7 @@ async = require 'async' module.exports = class TextMatePackage extends Package @testName: (packageName) -> + packageName = path.basename(packageName) /(^language-.+)|((\.|_|-)tmbundle$)/.test(packageName) @getLoadQueue: -> From 620b939a4630e41f68091f1499caf82273d02ff2 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 11:25:38 -0700 Subject: [PATCH 27/36] Upgrade apm for install check --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index f96281ed0..7e3bc9198 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit f96281ed04a0650ebca8c637c130aa79384615d2 +Subproject commit 7e3bc91989efa7ffd46a7467e5feb893d835b115 From 931ac5d0296c1e707b018f7c6064f82e95fb979a Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 11:35:42 -0700 Subject: [PATCH 28/36] Upgrade apm to error passthrough fix --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index 7e3bc9198..967551bd5 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit 7e3bc91989efa7ffd46a7467e5feb893d835b115 +Subproject commit 967551bd501ed251588df03d8392ea1d31eebf18 From b2dae8be6cc90c815a2e9316f374236a24612ab9 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 11:38:10 -0700 Subject: [PATCH 29/36] Update package for new name --- spec/text-mate-grammar-spec.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/text-mate-grammar-spec.coffee b/spec/text-mate-grammar-spec.coffee index 840423cfb..2c76a9796 100644 --- a/spec/text-mate-grammar-spec.coffee +++ b/spec/text-mate-grammar-spec.coffee @@ -454,7 +454,7 @@ describe "TextMateGrammar", -> expect(tokens[1].value).toBe " http://github.com" expect(tokens[1].scopes).toEqual ["source.js", "comment.line.double-slash.js"] - atom.activatePackage('language-hyperlink-helper', sync: true) + atom.activatePackage('language-hyperlink', sync: true) {tokens} = editSession.lineForScreenRow(0) expect(tokens[2].value).toBe "http://github.com" From 40ab5938f2e57beb0c8a3bd2944c2b08fecef029 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 11:54:19 -0700 Subject: [PATCH 30/36] Convert old bundle names until specs are updated --- src/package-manager.coffee | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/package-manager.coffee b/src/package-manager.coffee index 66f06d2ef..7e6647bb3 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -94,6 +94,10 @@ class PackageManager packagePath = path.join(@resourcePath, 'node_modules', name) return packagePath if @isInternalPackage(packagePath) + #TODO Remove once all package specs have been updated + if match = /(.+)-tmbundle$/.exec(name) + @resolvePackagePath("language-#{match[1]}") + isInternalPackage: (packagePath) -> {engines} = Package.loadMetadata(packagePath, true) engines?.atom? From c1fae082b4efe46046ef532d319cb657e5988765 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 12:04:39 -0700 Subject: [PATCH 31/36] Add shim for hyperlink bundle rename --- src/package-manager.coffee | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/package-manager.coffee b/src/package-manager.coffee index 7e6647bb3..3105791ad 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -96,7 +96,10 @@ class PackageManager #TODO Remove once all package specs have been updated if match = /(.+)-tmbundle$/.exec(name) - @resolvePackagePath("language-#{match[1]}") + if name is 'hyperlink-helper-tmbundle' + @resolvePackagePath('language-hyperlink') + else + @resolvePackagePath("language-#{match[1]}") isInternalPackage: (packagePath) -> {engines} = Package.loadMetadata(packagePath, true) From abf570ebf577d6f57d39183a84e6b88b52a7789b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 12:27:33 -0700 Subject: [PATCH 32/36] Upgrade to collaboration@0.28.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b6e09bbb9..5538e8880 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "autoflow": "0.5.0", "bookmarks": "0.8.0", "bracket-matcher": "0.7.0", - "collaboration": "0.26.0", + "collaboration": "0.28.0", "command-logger": "0.6.0", "command-palette": "0.5.0", "dev-live-reload": "0.8.0", From a7d2c14364951cb4e1fcc0f67f47e19c9d505247 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 12:31:12 -0700 Subject: [PATCH 33/36] Expect 201 when creating package/version --- tasks/publish-packages.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/publish-packages.coffee b/tasks/publish-packages.coffee index 439ccf623..3f274919c 100644 --- a/tasks/publish-packages.coffee +++ b/tasks/publish-packages.coffee @@ -33,7 +33,7 @@ module.exports = (grunt) -> request.get requestSettings, (error, response, body={}) -> if error? callback(error) - else if response.statusCode isnt 200 + else if response.statusCode isnt 201 message = body.message ? body.error ? body callback(new Error("Creating package failed: #{message}")) else @@ -52,7 +52,7 @@ module.exports = (grunt) -> request.get requestSettings, (error, response, body={}) -> if error? callback(error) - else if response.statusCode isnt 200 + else if response.statusCode isnt 201 message = body.message ? body.error ? body if message is 'Version exists' callback() From 1e4041d7cf409c1c35c91f0ff1618a4731e017de Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 12:31:44 -0700 Subject: [PATCH 34/36] Upgrade apm for create fixes --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index 967551bd5..1493f71ff 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit 967551bd501ed251588df03d8392ea1d31eebf18 +Subproject commit 1493f71ff72f984f8a2db21c6adbb18008ab27a0 From fa5f88cf05eeb98b19ed16643c7f5a811badf8ff Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 12:40:46 -0700 Subject: [PATCH 35/36] Upgrade apm for atom.io integration --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index 1493f71ff..ca1a44b0f 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit 1493f71ff72f984f8a2db21c6adbb18008ab27a0 +Subproject commit ca1a44b0f9783ddadfc1d70efb3331d8eeaed893 From beda7030017347ae3944fc89f429e4dd613dde81 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 22 Oct 2013 12:56:30 -0700 Subject: [PATCH 36/36] Upgrade to latest apm master --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index ca1a44b0f..3d64c688c 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit ca1a44b0f9783ddadfc1d70efb3331d8eeaed893 +Subproject commit 3d64c688c59769ef707533b8002c0f3b3c1578d8