From eb985a988070ab1a23af6ba48499beaaf7497585 Mon Sep 17 00:00:00 2001 From: probablycorey Date: Thu, 21 Nov 2013 13:14:27 -0800 Subject: [PATCH 01/49] Remove report issue menu --- menus/win32.cson | 1 - 1 file changed, 1 deletion(-) diff --git a/menus/win32.cson b/menus/win32.cson index 2c9024401..e0e8d9a34 100644 --- a/menus/win32.cson +++ b/menus/win32.cson @@ -165,7 +165,6 @@ { label: "Install &update", command: 'application:install-update', visible: false } { type: 'separator' } { label: '&Documentation', command: 'application:open-documentation' } - { label: 'Report an &Issue', command: 'application:report-issue' } { type: 'separator' } ] } From a0ceb786277bfc0ed43672b74c77c554fbb059ab Mon Sep 17 00:00:00 2001 From: probablycorey Date: Fri, 22 Nov 2013 14:38:13 -0800 Subject: [PATCH 02/49] Move snapshot code to package --- spec/editor-view-spec.coffee | 15 --------------- src/display-buffer.coffee | 6 ------ src/editor-view.coffee | 20 -------------------- src/editor.coffee | 7 ------- src/text-buffer.coffee | 6 ------ src/tokenized-buffer.coffee | 6 ------ 6 files changed, 60 deletions(-) diff --git a/spec/editor-view-spec.coffee b/spec/editor-view-spec.coffee index 34445a661..6afc45683 100644 --- a/spec/editor-view-spec.coffee +++ b/spec/editor-view-spec.coffee @@ -2706,21 +2706,6 @@ describe "EditorView", -> expect(buffer.lineForRow(15)).toBeUndefined() expect(editorView.getCursorBufferPosition()).toEqual [13, 0] - describe "editor:save-debug-snapshot", -> - it "saves the state of the rendered lines, the display buffer, and the buffer to a file of the user's choosing", -> - saveDialogCallback = null - spyOn(atom, 'showSaveDialog').andCallFake (callback) -> saveDialogCallback = callback - spyOn(fs, 'writeFileSync') - - editorView.trigger 'editor:save-debug-snapshot' - - statePath = path.join(temp.dir, 'state') - expect(atom.showSaveDialog).toHaveBeenCalled() - saveDialogCallback(statePath) - expect(fs.writeFileSync).toHaveBeenCalled() - expect(fs.writeFileSync.argsForCall[0][0]).toBe statePath - expect(typeof fs.writeFileSync.argsForCall[0][1]).toBe 'string' - describe "when the escape key is pressed on the editor view", -> it "clears multiple selections if there are any, and otherwise allows other bindings to be handled", -> atom.keymap.bindKeys 'name', '.editor', 'escape': 'test-event' diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index 9ffadc5ed..938551e85 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -584,12 +584,6 @@ class DisplayBuffer line = @lineForRow(row).text console.log row, line, line.length - getDebugSnapshot: -> - lines = ["Display Buffer:"] - for screenLine, row in @linesForRows(0, @getLastRow()) - lines.push "#{row}: #{screenLine.text}" - lines.join('\n') - ### Internal ### handleTokenizedBufferChange: (tokenizedBufferChange) => diff --git a/src/editor-view.coffee b/src/editor-view.coffee index c3e85cdf3..46f4e2285 100644 --- a/src/editor-view.coffee +++ b/src/editor-view.coffee @@ -205,7 +205,6 @@ class EditorView extends View 'editor:duplicate-line': @duplicateLine 'editor:join-line': @joinLine 'editor:toggle-indent-guide': => atom.config.toggle('editor.showIndentGuide') - 'editor:save-debug-snapshot': @saveDebugSnapshot 'editor:toggle-line-numbers': => atom.config.toggle('editor.showLineNumbers') 'editor:scroll-to-cursor': @scrollToCursorPosition @@ -1827,25 +1826,6 @@ class EditorView extends View commitTransaction: -> @activeEditSession.commitTransaction() abortTransaction: -> @activeEditSession.abortTransaction() - saveDebugSnapshot: -> - atom.showSaveDialog (path) => - fs.writeFileSync(path, @getDebugSnapshot()) if path - - getDebugSnapshot: -> - [ - "Debug Snapshot: #{@getPath()}" - @getRenderedLinesDebugSnapshot() - @activeEditSession.getDebugSnapshot() - @getBuffer().getDebugSnapshot() - ].join('\n\n') - - getRenderedLinesDebugSnapshot: -> - lines = ['Rendered Lines:'] - firstRenderedScreenRow = @firstRenderedScreenRow - @renderedLines.find('.line').each (n) -> - lines.push "#{firstRenderedScreenRow + n}: #{$(this).text()}" - lines.join('\n') - logScreenLines: (start, end) -> @activeEditSession.logScreenLines(start, end) diff --git a/src/editor.coffee b/src/editor.coffee index df85e3835..84f1bacdf 100644 --- a/src/editor.coffee +++ b/src/editor.coffee @@ -1437,10 +1437,3 @@ class Editor # Private: getSelectionMarkerAttributes: -> type: 'selection', editorId: @id, invalidate: 'never' - - # Private: - getDebugSnapshot: -> - [ - @displayBuffer.getDebugSnapshot() - @displayBuffer.tokenizedBuffer.getDebugSnapshot() - ].join('\n\n') diff --git a/src/text-buffer.coffee b/src/text-buffer.coffee index d669b5075..d3f9eac9f 100644 --- a/src/text-buffer.coffee +++ b/src/text-buffer.coffee @@ -670,9 +670,3 @@ class TextBuffer extends telepath.Model for row in [start..end] line = @lineForRow(row) console.log row, line, line.length - - getDebugSnapshot: -> - lines = ['TextBuffer:'] - for row in [0..@getLastRow()] - lines.push "#{row}: #{@lineForRow(row)}" - lines.join('\n') diff --git a/src/tokenized-buffer.coffee b/src/tokenized-buffer.coffee index 599b660ab..0b6ba31dd 100644 --- a/src/tokenized-buffer.coffee +++ b/src/tokenized-buffer.coffee @@ -322,9 +322,3 @@ class TokenizedBuffer for row in [start..end] line = @lineForScreenRow(row).text console.log row, line, line.length - - getDebugSnapshot: -> - lines = ["Tokenized Buffer:"] - for screenLine, row in @linesForScreenRows(0, @getLastRow()) - lines.push "#{row}: #{screenLine.text}" - lines.join('\n') From e42079c76248afe517c6a37215dbf2085aa0f365 Mon Sep 17 00:00:00 2001 From: probablycorey Date: Fri, 22 Nov 2013 16:13:09 -0800 Subject: [PATCH 03/49] Update Atom Shell --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 50293055d..3182b3cd5 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "bugs": { "url": "https://github.com/atom/atom/issues" }, - "atomShellVersion": "0.6.11", + "atomShellVersion": "0.6.12", "dependencies": { "async": "0.2.6", "bootstrap": "git://github.com/benogle/bootstrap.git", From 1bdfb004efcf5f74c01deb5bbeed517824dc5f46 Mon Sep 17 00:00:00 2001 From: probablycorey Date: Tue, 26 Nov 2013 11:23:36 -0800 Subject: [PATCH 04/49] Add feedback package --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 3182b3cd5..850524cc3 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,7 @@ "dev-live-reload": "0.17.0", "editor-stats": "0.7.0", "exception-reporting": "0.8.0", + "feedback": "0.5.0", "find-and-replace": "0.49.0", "fuzzy-finder": "0.25.0", "gists": "0.11.0", From 8472ac4fc88a0297fa7c6b33bd33eae01d169a8c Mon Sep 17 00:00:00 2001 From: probablycorey Date: Tue, 26 Nov 2013 11:29:36 -0800 Subject: [PATCH 05/49] Bump feedback version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 850524cc3..e7bc3c7b2 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "dev-live-reload": "0.17.0", "editor-stats": "0.7.0", "exception-reporting": "0.8.0", - "feedback": "0.5.0", + "feedback": "0.6.0", "find-and-replace": "0.49.0", "fuzzy-finder": "0.25.0", "gists": "0.11.0", From e7e0f081f47900be082ead29c3dcc8af5ea745c8 Mon Sep 17 00:00:00 2001 From: probablycorey Date: Tue, 26 Nov 2013 17:00:45 -0800 Subject: [PATCH 06/49] Update feedback package --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f14f65579..0ad5d174d 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "dev-live-reload": "0.18.0", "editor-stats": "0.8.0", "exception-reporting": "0.8.0", - "feedback": "0.6.0", + "feedback": "0.7.0", "image-view": "0.9.0", "keybinding-resolver": "0.6.0", "link": "0.10.0", From a8f7c5201b50f1a4f821d1ba5ac3566ed061b8f1 Mon Sep 17 00:00:00 2001 From: probablycorey Date: Wed, 27 Nov 2013 14:20:45 -0800 Subject: [PATCH 07/49] Add more keystrokes to .native-key-bindings --- keymaps/base.cson | 11 ++++++++--- keymaps/darwin.cson | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/keymaps/base.cson b/keymaps/base.cson index ba4a71e08..e4e6faab7 100644 --- a/keymaps/base.cson +++ b/keymaps/base.cson @@ -37,13 +37,18 @@ 'input:not(.hidden-input), .native-key-bindings': 'tab': 'core:focus-next' 'shift-tab': 'core:focus-previous' + 'enter': 'native!' + 'backspace': 'native!' + 'shift-backspace': 'native!' + 'delete': 'native!' 'left': 'native!' 'right': 'native!' 'shift-left': 'native!' 'shift-right': 'native!' - 'backspace': 'native!' - 'shift-backspace': 'native!' - 'delete': 'native!' + 'alt-left': 'native!' + 'alt-right': 'native!' + 'alt-shift-left': 'native!' + 'alt-shift-right': 'native!' 'ctrl-b': 'native!' 'ctrl-f': 'native!' 'ctrl-F': 'native!' diff --git a/keymaps/darwin.cson b/keymaps/darwin.cson index ddddc5783..d19ae9ac3 100644 --- a/keymaps/darwin.cson +++ b/keymaps/darwin.cson @@ -146,7 +146,7 @@ 'cmd-k cmd-9': 'editor:fold-at-indent-level-9' # allow standard input fields to work correctly -'body.platform-darwin input:not(.hidden-input), body.platform-darwin .native-key-bindings': +'body.platform-darwin .native-key-bindings': 'cmd-z': 'native!' 'cmd-Z': 'native!' 'cmd-x': 'native!' From d228cfe1ee9377da4b5f22a48125e0db8a4ae47e Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Wed, 27 Nov 2013 16:13:19 -0800 Subject: [PATCH 08/49] Upgrade to find-and-replace@0.55.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a9cdd2de6..d36b54773 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "editor-stats": "0.8.0", "exception-reporting": "0.8.0", "feedback": "0.7.0", - "find-and-replace": "0.54.0", + "find-and-replace": "0.55.0", "fuzzy-finder": "0.27.0", "gists": "0.12.0", "git-diff": "0.19.0", From 5cb6aa053834ff0b1d1b9c9aeabae30fe15dd75f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 22 Nov 2013 15:21:46 -0800 Subject: [PATCH 09/49] Add initial LICENSE.md --- LICENSE.md | 13 +++++++++++++ package.json | 6 ++++++ 2 files changed, 19 insertions(+) create mode 100644 LICENSE.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 000000000..4d1c86e77 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,13 @@ +Copyright 2013 GitHub Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/package.json b/package.json index d36b54773..ec176e76c 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,12 @@ "bugs": { "url": "https://github.com/atom/atom/issues" }, + "licenses": [ + { + "type": "Apache", + "url": "http://github.com/atom/atom/raw/master/LICENSE.md" + } + ], "atomShellVersion": "0.6.12", "dependencies": { "async": "0.2.6", From dddd515c35c1381faa43c8fd7d4d0177d2523bdc Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 28 Nov 2013 09:26:16 -0800 Subject: [PATCH 10/49] Upgrade packages for EditSession/Editor renames --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ec176e76c..7ddd4b0b9 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "autoflow": "0.11.0", "autosave": "0.9.0", "bookmarks": "0.15.0", - "bracket-matcher": "0.14.0", + "bracket-matcher": "0.15.0", "command-logger": "0.8.0", "command-palette": "0.11.0", "dev-live-reload": "0.18.0", @@ -95,10 +95,10 @@ "github-sign-in": "0.13.0", "go-to-line": "0.12.0", "grammar-selector": "0.13.0", - "image-view": "0.9.0", + "image-view": "0.10.0", "keybinding-resolver": "0.6.0", - "link": "0.10.0", - "markdown-preview": "0.21.0", + "link": "0.11.0", + "markdown-preview": "0.22.0", "metrics": "0.12.0", "package-generator": "0.23.0", "release-notes": "0.13.0", @@ -107,8 +107,8 @@ "spell-check": "0.17.0", "status-bar": "0.23.0", "styleguide": "0.17.0", - "symbols-view": "0.26.0", - "tabs": "0.14.1", + "symbols-view": "0.27.0", + "tabs": "0.15.0", "terminal": "0.23.0", "timecop": "0.11.0", "to-the-hubs": "0.15.0", From 86ae743e9dff41136fa4b552b00464143dac6566 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 08:17:31 -0800 Subject: [PATCH 11/49] Use correct workspace view id --- src/context-menu-manager.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/context-menu-manager.coffee b/src/context-menu-manager.coffee index 81d7580ea..43f8a7a5a 100644 --- a/src/context-menu-manager.coffee +++ b/src/context-menu-manager.coffee @@ -14,7 +14,7 @@ class ContextMenuManager @devModeDefinitions = {} @activeElement = null - @devModeDefinitions['#workspace-view'] = [ + @devModeDefinitions['#workspace'] = [ label: 'Inspect Element' command: 'application:inspect' executeAtBuild: (e) -> From 98694e5407bfa9375352e8d191340e5a97c1bcad Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 08:23:29 -0800 Subject: [PATCH 12/49] Use a class instead of id for workspace view --- docs/creating-a-package.md | 2 +- src/context-menu-manager.coffee | 2 +- static/workspace-view.less | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/creating-a-package.md b/docs/creating-a-package.md index e951c2e66..7f9864d41 100644 --- a/docs/creating-a-package.md +++ b/docs/creating-a-package.md @@ -206,7 +206,7 @@ specific parts of the interface, like adding a file in the tree-view: 'context-menu': '.tree-view': 'Add file': 'tree-view:add-file' - '#workspace-view': + '.workspace': 'Inspect Element': 'core:inspect' ``` diff --git a/src/context-menu-manager.coffee b/src/context-menu-manager.coffee index 43f8a7a5a..2cbfe0364 100644 --- a/src/context-menu-manager.coffee +++ b/src/context-menu-manager.coffee @@ -14,7 +14,7 @@ class ContextMenuManager @devModeDefinitions = {} @activeElement = null - @devModeDefinitions['#workspace'] = [ + @devModeDefinitions['.workspace'] = [ label: 'Inspect Element' command: 'application:inspect' executeAtBuild: (e) -> diff --git a/static/workspace-view.less b/static/workspace-view.less index bb8c037d9..c4f49bca2 100644 --- a/static/workspace-view.less +++ b/static/workspace-view.less @@ -21,7 +21,7 @@ h6 { font-family: @font-family; } -#workspace { +.workspace { height: 100%; overflow: hidden; position: relative; From bc4ceb189cdaf042a0c4d23090675c786bb9e9f8 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 08:25:48 -0800 Subject: [PATCH 13/49] Use a class instead of id for horizontal element --- src/workspace-view.coffee | 2 +- static/workspace-view.less | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/workspace-view.coffee b/src/workspace-view.coffee index 0a0ce793b..c69be4351 100644 --- a/src/workspace-view.coffee +++ b/src/workspace-view.coffee @@ -55,7 +55,7 @@ class WorkspaceView extends View # Private: @content: (state) -> @div id: 'workspace', tabindex: -1, => - @div id: 'horizontal', outlet: 'horizontal', => + @div outlet: 'horizontal', => @div id: 'vertical', outlet: 'vertical', => @div outlet: 'panes' diff --git a/static/workspace-view.less b/static/workspace-view.less index c4f49bca2..340f38e98 100644 --- a/static/workspace-view.less +++ b/static/workspace-view.less @@ -28,7 +28,7 @@ h6 { background-color: @app-background-color; font-family: @font-family; - #horizontal { + .horizontal { display: -webkit-flex; height: 100%; } From ca11661f6d8b142d9888f7fa65ba7b890e4caaa3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 08:26:07 -0800 Subject: [PATCH 14/49] Use a class instead of id for vertical element --- src/workspace-view.coffee | 2 +- static/workspace-view.less | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/workspace-view.coffee b/src/workspace-view.coffee index c69be4351..18511b7a3 100644 --- a/src/workspace-view.coffee +++ b/src/workspace-view.coffee @@ -56,7 +56,7 @@ class WorkspaceView extends View @content: (state) -> @div id: 'workspace', tabindex: -1, => @div outlet: 'horizontal', => - @div id: 'vertical', outlet: 'vertical', => + @div outlet: 'vertical', => @div outlet: 'panes' # Private: diff --git a/static/workspace-view.less b/static/workspace-view.less index 340f38e98..cb876c5d3 100644 --- a/static/workspace-view.less +++ b/static/workspace-view.less @@ -33,7 +33,7 @@ h6 { height: 100%; } - #vertical { + .vertical { display: -webkit-flex; -webkit-flex: 1; -webkit-flex-flow: column; From b1f041fa6e13496952cde79d47b521a61572c2f8 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 08:27:32 -0800 Subject: [PATCH 15/49] Use a class instead of id for panes element --- src/pane-axis.coffee | 2 +- src/pane.coffee | 2 +- static/workspace-view.less | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pane-axis.coffee b/src/pane-axis.coffee index e1155b811..66c13b555 100644 --- a/src/pane-axis.coffee +++ b/src/pane-axis.coffee @@ -70,7 +70,7 @@ class PaneAxis extends View child.detach() getContainer: -> - @closest('#panes').view() + @closest('.panes').view() getActivePaneItem: -> @getActivePane()?.activeItem diff --git a/src/pane.coffee b/src/pane.coffee index 396bc75e2..57827b803 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -412,7 +412,7 @@ class Pane extends View # Private: getContainer: -> - @closest('#panes').view() + @closest('.panes').view() # Private: copyActiveItem: -> diff --git a/static/workspace-view.less b/static/workspace-view.less index cb876c5d3..197a4228b 100644 --- a/static/workspace-view.less +++ b/static/workspace-view.less @@ -57,7 +57,7 @@ h6 { } } -#panes { +.panes { position: relative; -webkit-flex: 1; From 0093f391021ac7fb71cb785d4334e77c54fd0900 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 08:32:23 -0800 Subject: [PATCH 16/49] Add classes to workspace view elements --- src/workspace-view.coffee | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/workspace-view.coffee b/src/workspace-view.coffee index 18511b7a3..22f260b22 100644 --- a/src/workspace-view.coffee +++ b/src/workspace-view.coffee @@ -54,10 +54,10 @@ class WorkspaceView extends View # Private: @content: (state) -> - @div id: 'workspace', tabindex: -1, => - @div outlet: 'horizontal', => - @div outlet: 'vertical', => - @div outlet: 'panes' + @div class: 'workspace', tabindex: -1, => + @div class: 'horizontal', outlet: 'horizontal', => + @div class: 'vertical', outlet: 'vertical', => + @div class: 'panes', outlet: 'panes' # Private: @deserialize: (state) -> From c58b30bba9387e95d4c5d40842fc7f9b53fd4fe4 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 08:41:34 -0800 Subject: [PATCH 17/49] Use class instead of id for pane container --- src/pane-container.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pane-container.coffee b/src/pane-container.coffee index 90d24f6f8..f6894b541 100644 --- a/src/pane-container.coffee +++ b/src/pane-container.coffee @@ -16,7 +16,7 @@ class PaneContainer extends View container @content: -> - @div id: 'panes' + @div class: 'panes' initialize: (state) -> @destroyedItemStates = [] From 45cd3e9335169e6334812f8bf106f3d7ab491f42 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 09:35:51 -0800 Subject: [PATCH 18/49] Upgrade themes for id to class renames --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 7ddd4b0b9..1ea0cca40 100644 --- a/package.json +++ b/package.json @@ -70,9 +70,9 @@ "rimraf": "~2.2.2" }, "packageDependencies": { - "atom-light-ui": "0.9.0", + "atom-light-ui": "0.11.0", "atom-light-syntax": "0.6.0", - "atom-dark-ui": "0.9.0", + "atom-dark-ui": "0.10.0", "atom-dark-syntax": "0.6.0", "base16-tomorrow-dark-theme": "0.6.0", "solarized-dark-syntax": "0.4.0", From a0b200565ccf95d56992f0e17e2b31e2d3e1fd6b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 11:21:29 -0800 Subject: [PATCH 19/49] Specify callback to dialog.showOpenDialog --- src/browser/atom-application.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/browser/atom-application.coffee b/src/browser/atom-application.coffee index 0bc6d0add..75b978e72 100644 --- a/src/browser/atom-application.coffee +++ b/src/browser/atom-application.coffee @@ -349,8 +349,8 @@ class AtomApplication # A Boolean which controls whether any newly opened windows should be in # dev mode or not. promptForPath: ({devMode}={}) -> - pathsToOpen = dialog.showOpenDialog title: 'Open', properties: ['openFile', 'openDirectory', 'multiSelections', 'createDirectory'] - @openPaths({pathsToOpen, devMode}) + dialog.showOpenDialog title: 'Open', properties: ['openFile', 'openDirectory', 'multiSelections', 'createDirectory'], (pathsToOpen) => + @openPaths({pathsToOpen, devMode}) # Public: If an update is available, it returns the new version string # otherwise it returns null. From 8316da33381ac11d63fd5bd0ff10330551fb2e25 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 11:26:51 -0800 Subject: [PATCH 20/49] Use long opts strings for clarity --- src/browser/main.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/browser/main.coffee b/src/browser/main.coffee index 5bce464ed..e5829de23 100644 --- a/src/browser/main.coffee +++ b/src/browser/main.coffee @@ -92,11 +92,11 @@ parseCommandLine = -> options.alias('w', 'wait').boolean('w').describe('w', 'Wait for window to be closed before returning.') args = options.argv - if args.h + if args.help process.stdout.write(options.help()) process.exit(0) - if args.v + if args.version process.stdout.write("#{version}\n") process.exit(0) From d36a0aa437d3a9b86eafc3ca73ee4198e11c71de Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 11:52:05 -0800 Subject: [PATCH 21/49] Update file.icns to match atom.icns --- resources/mac/file.icns | Bin 91678 -> 138255 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/mac/file.icns b/resources/mac/file.icns index 3f65ab7269281049a7cc9dafb4f7f282d0f463bd..2c366fdb9233fc1c073dd3ce55d09e34303444be 100644 GIT binary patch literal 138255 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

4WoyvMErGz+ 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 O>7<7l63XEN0RIOe Date: Mon, 2 Dec 2013 15:02:14 -0800 Subject: [PATCH 22/49] Upgrade apm for new templates --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index 809d8d42f..52853bcf8 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit 809d8d42f7e8935ba02de7b3b6053862ff4294c6 +Subproject commit 52853bcf802cb43ac0965cf04d7ba901898f0f36 From 0b5cad27d2a6087455ebbaec00ddc8ff18c08dbb Mon Sep 17 00:00:00 2001 From: probablycorey Date: Mon, 2 Dec 2013 15:26:35 -0800 Subject: [PATCH 23/49] Add ' body' to make .native-binding selector more specific --- keymaps/base.cson | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keymaps/base.cson b/keymaps/base.cson index e4e6faab7..dd8a5973b 100644 --- a/keymaps/base.cson +++ b/keymaps/base.cson @@ -34,7 +34,7 @@ 'escape': 'editor:consolidate-selections' # allow standard input fields to work correctly -'input:not(.hidden-input), .native-key-bindings': +'body .native-key-bindings': 'tab': 'core:focus-next' 'shift-tab': 'core:focus-previous' 'enter': 'native!' From 305c3317771b793701e61c43dc2d69960563a668 Mon Sep 17 00:00:00 2001 From: probablycorey Date: Mon, 2 Dec 2013 16:10:27 -0800 Subject: [PATCH 24/49] Update feedback package --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1ea0cca40..c11dbfcfa 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "dev-live-reload": "0.18.0", "editor-stats": "0.8.0", "exception-reporting": "0.8.0", - "feedback": "0.7.0", + "feedback": "0.8.0", "find-and-replace": "0.55.0", "fuzzy-finder": "0.27.0", "gists": "0.12.0", From 10b560b5a75f8b98691889adc90360e3ef1d0bba Mon Sep 17 00:00:00 2001 From: probablycorey Date: Mon, 2 Dec 2013 16:21:38 -0800 Subject: [PATCH 25/49] Update feedback package --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c11dbfcfa..189b219ee 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "dev-live-reload": "0.18.0", "editor-stats": "0.8.0", "exception-reporting": "0.8.0", - "feedback": "0.8.0", + "feedback": "0.9.0", "find-and-replace": "0.55.0", "fuzzy-finder": "0.27.0", "gists": "0.12.0", From b4099ba66f8678658bc9406b7d9b1c170e2a4508 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Thu, 28 Nov 2013 22:01:58 +0800 Subject: [PATCH 26/49] Use the new breakpad crash reporter in both browser and renderer. --- spec/spec-bootstrap.coffee | 3 +++ src/browser/main.coffee | 4 +--- src/window-bootstrap.coffee | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/spec/spec-bootstrap.coffee b/spec/spec-bootstrap.coffee index 07ce34b89..f2b2fd7fe 100644 --- a/spec/spec-bootstrap.coffee +++ b/spec/spec-bootstrap.coffee @@ -1,3 +1,6 @@ +# Start the crash reporter before anything else. +require('crash-reporter').start(productName: 'Atom', companyName: 'GitHub') + try require '../src/window' Atom = require '../src/atom' diff --git a/src/browser/main.coffee b/src/browser/main.coffee index e5829de23..f93063ac5 100644 --- a/src/browser/main.coffee +++ b/src/browser/main.coffee @@ -67,9 +67,7 @@ delegate.browserMainParts.preMainMessageLoopRun = -> global.devResourcePath = path.join(app.getHomeDir(), 'github', 'atom') setupCrashReporter = -> - crashReporter.setCompanyName 'GitHub' - crashReporter.setSubmissionUrl 'https://speakeasy.githubapp.com/submit_crash_log' - crashReporter.setAutoSubmit true + crashReporter.start(productName: 'Atom', companyName: 'GitHub') setupAutoUpdater = -> autoUpdater.setFeedUrl 'https://speakeasy.githubapp.com/apps/27/appcast.xml' diff --git a/src/window-bootstrap.coffee b/src/window-bootstrap.coffee index c7cd6b190..df17cb3d0 100644 --- a/src/window-bootstrap.coffee +++ b/src/window-bootstrap.coffee @@ -1,6 +1,9 @@ # Like sands through the hourglass, so are the days of our lives. startTime = Date.now() +# Start the crash reporter before anything else. +require('crash-reporter').start(productName: 'Atom', companyName: 'GitHub') + require './window' Atom = require './atom' From 6094efde76acf96f25920189a04217839869a93b Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 3 Dec 2013 12:45:55 +0800 Subject: [PATCH 27/49] Update atom-shell to v0.7.3. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 189b219ee..c2adab1c0 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "url": "http://github.com/atom/atom/raw/master/LICENSE.md" } ], - "atomShellVersion": "0.6.12", + "atomShellVersion": "0.7.3", "dependencies": { "async": "0.2.6", "bootstrap": "git://github.com/benogle/bootstrap.git", From 25a1b77048572a67317964b541e632f2f6f97b05 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 3 Dec 2013 19:54:42 +0800 Subject: [PATCH 28/49] Use grunt-download-atom-shell to download and update atom-shell. --- Gruntfile.coffee | 13 +- package.json | 3 +- tasks/update-atom-shell-task.coffee | 210 ---------------------------- 3 files changed, 12 insertions(+), 214 deletions(-) delete mode 100644 tasks/update-atom-shell-task.coffee diff --git a/Gruntfile.coffee b/Gruntfile.coffee index 7e8b30bb2..c8f92b88e 100644 --- a/Gruntfile.coffee +++ b/Gruntfile.coffee @@ -168,6 +168,12 @@ module.exports = (grunt) -> _.extend(context, parsed.attributes) parsed.body + 'download-atom-shell': + version: packageJson.atomShellVersion + outputDir: 'atom-shell' + downloadDir: if process.platform is 'win32' then os.tmpdir() else '/tmp' + rebuild: true # rebuild native modules after atom-shell is updated + shell: 'kill-atom': command: 'pkill -9 Atom' @@ -183,13 +189,14 @@ module.exports = (grunt) -> grunt.loadNpmTasks('grunt-contrib-coffee') grunt.loadNpmTasks('grunt-contrib-less') grunt.loadNpmTasks('grunt-markdown') + grunt.loadNpmTasks('grunt-download-atom-shell') grunt.loadNpmTasks('grunt-shell') grunt.loadTasks('tasks') grunt.registerTask('compile', ['coffee', 'prebuild-less', 'cson']) grunt.registerTask('lint', ['coffeelint', 'csslint', 'lesslint']) grunt.registerTask('test', ['shell:kill-atom', 'run-specs']) - grunt.registerTask('ci', ['update-atom-shell', 'build', 'set-development-version', 'lint', 'test']) - grunt.registerTask('deploy', ['partial-clean', 'update-atom-shell', 'build', 'codesign']) + grunt.registerTask('ci', ['download-atom-shell', 'build', 'set-development-version', 'lint', 'test']) + grunt.registerTask('deploy', ['partial-clean', 'download-atom-shell', 'build', 'codesign']) grunt.registerTask('docs', ['markdown:guides', 'build-docs']) - grunt.registerTask('default', ['update-atom-shell', 'build', 'set-development-version', 'install']) + grunt.registerTask('default', ['download-atom-shell', 'build', 'set-development-version', 'install']) diff --git a/package.json b/package.json index c2adab1c0..4eefb02db 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,8 @@ "request": "~2.27.0", "unzip": "~0.1.9", "rcedit": "~0.1.2", - "rimraf": "~2.2.2" + "rimraf": "~2.2.2", + "grunt-download-atom-shell": "git+ssh://git@github.com:atom/grunt-download-atom-shell.git" }, "packageDependencies": { "atom-light-ui": "0.11.0", diff --git a/tasks/update-atom-shell-task.coffee b/tasks/update-atom-shell-task.coffee deleted file mode 100644 index 18bc2bd05..000000000 --- a/tasks/update-atom-shell-task.coffee +++ /dev/null @@ -1,210 +0,0 @@ -fs = require 'fs' -path = require 'path' -os = require 'os' - -request = require 'request' -formidable = require 'formidable' -unzip = require 'unzip' - -module.exports = (grunt) -> - {spawn, mkdir, rm, cp} = require('./task-helpers')(grunt) - - accessToken = null - getTokenFromKeychain = (callback) -> - accessToken ?= process.env['ATOM_ACCESS_TOKEN'] - if accessToken - callback(null, accessToken) - return - - spawn {cmd: 'security', args: ['-q', 'find-generic-password', '-ws', 'GitHub API Token']}, (error, result, code) -> - accessToken = result.stdout unless error? - callback(error, accessToken) - - callAtomShellReposApi = (path, callback) -> - getTokenFromKeychain (error, accessToken) -> - if error - callback(error) - return - - options = - url: "https://api.github.com/repos/atom/atom-shell#{path}" - proxy: process.env.http_proxy || process.env.https_proxy - headers: - authorization: "token #{accessToken}" - accept: 'application/vnd.github.manifold-preview' - 'user-agent': 'Atom' - - request options, (error, response, body) -> - if not error? - body = JSON.parse(body) - error = new Error(body.message) if response.statusCode != 200 - callback(error, response, body) - - findReleaseIdFromAtomShellVersion = (version, callback) -> - callAtomShellReposApi '/releases', (error, response, data) -> - if error? - grunt.log.error('GitHub API failed to access atom-shell releases') - callback(error) - else - for release in data when release.tag_name is version - callback(null, release.id) - return - grunt.log.error("There is no #{version} release of atom-shell") - callback(false) - - getAtomShellDownloadUrl = (version, releaseId, callback) -> - callAtomShellReposApi "/releases/#{releaseId}/assets", (error, response, data) -> - if error? - grunt.log.error("Cannot get assets of atom-shell's #{version} release") - callback(error) - else - filename = "atom-shell-#{version}-#{process.platform}.zip" - for asset in data when asset.name is filename and asset.state is 'uploaded' - callback(null, asset.url) - return - grunt.log.error("Cannot get url of atom-shell's release asset") - callback(false) - - getAtomShellVersion = -> - versionPath = path.join('atom-shell', 'version') - if grunt.file.isFile(versionPath) - grunt.file.read(versionPath).trim() - else - null - - getTempDir = -> - if process.platform is 'win32' then os.tmpdir() else '/tmp' - - getCachePath = (version) -> - path.join(getTempDir(), 'atom-cached-atom-shells', version) - - isAtomShellVersionCached = (version) -> - grunt.file.isFile(getCachePath(version), 'version') - - getDownloadOptions = (version, url, callback) -> - options = - url: url - followRedirect: false - proxy: process.env.http_proxy || process.env.https_proxy - - # Only set headers for GitHub host, the url could also be a S3 link and - # setting headers for it would make the request fail. - if require('url').parse(url).hostname is 'api.github.com' - getTokenFromKeychain (error, accessToken) -> - options.headers = - authorization: "token #{accessToken}" - accept: 'application/octet-stream' - 'user-agent': 'Atom' - - callback(error, options) - else - callback(null, options) - - downloadAtomShell = (version, url, callback) -> - getDownloadOptions version, url, (error, options) -> - if error - callback(error) - return - - inputStream = request(options) - inputStream.on 'response', (response) -> - if response.statusCode is 302 - # Manually handle redirection so headers would not be sent for S3. - downloadAtomShell(version, response.headers.location, callback) - else if response.statusCode is 200 - grunt.verbose.writeln("Downloading atom-shell version #{version.cyan}") - cacheDirectory = getCachePath(version) - rm(cacheDirectory) - mkdir(cacheDirectory) - - form = new formidable.IncomingForm() - form.uploadDir = cacheDirectory - form.maxFieldsSize = 100 * 1024 * 1024 - form.on 'file', (name, file) -> - cacheFile = path.join(cacheDirectory, 'atom-shell.zip') - fs.renameSync(file.path, cacheFile) - callback(null, cacheFile) - form.parse response, (error) -> - if error - grunt.log.error("atom-shell #{version.cyan} failed to download") - else - if response.statusCode is 404 - grunt.log.error("atom-shell #{version.cyan} not found") - else - grunt.log.error("atom-shell #{version.cyan} request failed") - callback(false) - - downloadAtomShellOfVersion = (version, callback) -> - findReleaseIdFromAtomShellVersion version, (error, releaseId) -> - if error? - callback(error) - else - getAtomShellDownloadUrl version, releaseId, (error, url) -> - if error? - callback(error) - else - downloadAtomShell version, url, callback - - unzipAtomShell = (zipPath, callback) -> - grunt.verbose.writeln('Unzipping atom-shell') - directoryPath = path.dirname(zipPath) - - if process.platform is 'darwin' - # The zip archive of darwin build contains symbol links, only the "unzip" - # command can handle it correctly. - spawn {cmd: 'unzip', args: [zipPath, '-d', directoryPath]}, (error) -> - rm(zipPath) - callback(error) - else - fileStream = fs.createReadStream(zipPath) - fileStream.on('error', callback) - zipStream = fileStream.pipe(unzip.Extract(path: directoryPath)) - zipStream.on('error', callback) - zipStream.on 'close', -> - rm(zipPath) - callback(null) - - rebuildNativeModules = (previousVersion, callback) -> - newVersion = getAtomShellVersion() - if newVersion and newVersion isnt previousVersion - grunt.verbose.writeln("Rebuilding native modules for new atom-shell version #{newVersion.cyan}.") - cmd = path.join('node_modules', '.bin', 'apm') - cmd += ".cmd" if process.platform is 'win32' - spawn {cmd, args: ['rebuild']}, (error) -> callback(error) - else - callback() - - installAtomShell = (version) -> - rm('atom-shell') - cp(getCachePath(version), 'atom-shell') - - grunt.registerTask 'update-atom-shell', 'Update atom-shell', -> - done = @async() - {atomShellVersion} = grunt.file.readJSON('package.json') - if atomShellVersion - atomShellVersion = "v#{atomShellVersion}" - currentAtomShellVersion = getAtomShellVersion() - if atomShellVersion isnt currentAtomShellVersion - if isAtomShellVersionCached(atomShellVersion) - grunt.verbose.writeln("Installing cached atom-shell #{atomShellVersion.cyan}") - installAtomShell(atomShellVersion) - rebuildNativeModules(currentAtomShellVersion, done) - else - downloadAtomShellOfVersion atomShellVersion, (error, zipPath) -> - if error? - done(error) - else if zipPath? - unzipAtomShell zipPath, (error) -> - if error? - done(error) - else - grunt.verbose.writeln("Installing atom-shell #{atomShellVersion.cyan}") - installAtomShell(atomShellVersion) - rebuildNativeModules(currentAtomShellVersion, done) - else - done(false) - else - done() - else - grunt.log.error("atom-shell version missing from package.json") - done(false) From 9caf3ca3493b11bd03348ff77701caa410af34d5 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 3 Dec 2013 20:13:17 +0800 Subject: [PATCH 29/49] :lipstick: Fix atom-shell's download dir. --- Gruntfile.coffee | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Gruntfile.coffee b/Gruntfile.coffee index c8f92b88e..35801d193 100644 --- a/Gruntfile.coffee +++ b/Gruntfile.coffee @@ -20,6 +20,7 @@ module.exports = (grunt) -> buildDir = grunt.option('build-dir') ? path.join(tmpDir, 'atom-build') shellAppDir = path.join(buildDir, appName) appDir = path.join(shellAppDir, 'resources', 'app') + atomShellDownloadDir = path.join(os.tmpdir(), 'atom-cached-atom-shells') else appName = 'Atom.app' tmpDir = '/tmp' @@ -28,6 +29,7 @@ module.exports = (grunt) -> shellAppDir = path.join(buildDir, appName) contentsDir = path.join(shellAppDir, 'Contents') appDir = path.join(contentsDir, 'Resources', 'app') + atomShellDownloadDir = '/tmp/atom-cached-atom-shells' installDir = path.join(installRoot, appName) @@ -171,7 +173,7 @@ module.exports = (grunt) -> 'download-atom-shell': version: packageJson.atomShellVersion outputDir: 'atom-shell' - downloadDir: if process.platform is 'win32' then os.tmpdir() else '/tmp' + downloadDir: atomShellDownloadDir rebuild: true # rebuild native modules after atom-shell is updated shell: From 3f05ff9b145f88f82bccfbef4996b898ba84888e Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 3 Dec 2013 21:10:16 +0800 Subject: [PATCH 30/49] Download grunt-download-atom-shell from apm registry. I published grunt-download-atom-shell to apm registry so we do not need to specify a git URL here, and as I tested the CI cannot fetch private node module repositories due to lack of credient. When it could be public we should publish it to npm registry instead. --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4eefb02db..9b5a12680 100644 --- a/package.json +++ b/package.json @@ -67,8 +67,7 @@ "request": "~2.27.0", "unzip": "~0.1.9", "rcedit": "~0.1.2", - "rimraf": "~2.2.2", - "grunt-download-atom-shell": "git+ssh://git@github.com:atom/grunt-download-atom-shell.git" + "rimraf": "~2.2.2" }, "packageDependencies": { "atom-light-ui": "0.11.0", @@ -149,7 +148,8 @@ "language-todo": "0.2.0", "language-toml": "0.7.0", "language-xml": "0.2.0", - "language-yaml": "0.1.0" + "language-yaml": "0.1.0", + "grunt-download-atom-shell": "0.1.1" }, "private": true, "scripts": { From 99d69556446ad947b0b46b8fd4457cb50476afdd Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 3 Dec 2013 22:04:21 +0800 Subject: [PATCH 31/49] Ignore grunt-download-atom-shell when loading packages. --- src/package-manager.coffee | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/package-manager.coffee b/src/package-manager.coffee index e94a69785..a85e51e43 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -226,6 +226,10 @@ class PackageManager {@packageDependencies} = JSON.parse(fs.readFileSync(metadataPath)) ? {} @packageDependencies ?= {} + # Temporarily ignore 'grunt-download-atom-shell' here, should remove this + # when it became a public npm module. + delete @packageDependencies['grunt-download-atom-shell'] + @packageDependencies # Public: Get an array of all the available package paths. From 07eb01016df31a2b49a73c284a8c44eb2c3af2df Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 09:28:32 -0800 Subject: [PATCH 32/49] Upgrade to tree-view@0.42.0 for spec cleanup --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c2adab1c0..3950acf62 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "terminal": "0.23.0", "timecop": "0.11.0", "to-the-hubs": "0.15.0", - "tree-view": "0.41.0", + "tree-view": "0.42.0", "visual-bell": "0.6.0", "whitespace": "0.10.0", "wrap-guide": "0.8.0", From 1b502c6349957de66a6aa607c56cf03a121c0235 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 10:04:54 -0800 Subject: [PATCH 33/49] Prepare 0.40.0 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3950acf62..cbbbbb803 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "atom", - "version": "39.0.0", + "version": "0.40.0", "main": "./src/browser/main.js", "repository": { "type": "git", From 930e479cdbdc964e8b2f89a05c55ac94b67e9164 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 10:50:47 -0800 Subject: [PATCH 34/49] Upgrade apm for template updates --- vendor/apm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/apm b/vendor/apm index 52853bcf8..49b1e740f 160000 --- a/vendor/apm +++ b/vendor/apm @@ -1 +1 @@ -Subproject commit 52853bcf802cb43ac0965cf04d7ba901898f0f36 +Subproject commit 49b1e740f6ea02c11bf726346e0adbaadee7eb4d From e01c19e6b7c138d9cd42901cc52c33dc7bb5dbb2 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 19:00:13 -0800 Subject: [PATCH 35/49] Use buffer positions when calculating char widths Previously the editor width cache was being accessed using screen columns which could cause incorrect position left values for wrapped lines. Closes #1096 --- src/editor-view.coffee | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/editor-view.coffee b/src/editor-view.coffee index 11350cc8b..bada6e987 100644 --- a/src/editor-view.coffee +++ b/src/editor-view.coffee @@ -1587,36 +1587,39 @@ class EditorView extends View @renderedLines[0].removeChild(lineElement) { top: row * @lineHeight, left } - positionLeftForLineAndColumn: (lineElement, screenRow, column) -> - return 0 if column == 0 + positionLeftForLineAndColumn: (lineElement, screenRow, screenColumn) -> + return 0 if screenColumn == 0 bufferRow = @bufferRowsForScreenRows(screenRow, screenRow)[0] ? screenRow + bufferColumn = @bufferPositionForScreenPosition([screenRow, screenColumn]).column tokenizedLine = @editor.displayBuffer.tokenizedBuffer.tokenizedLines[bufferRow] left = 0 index = 0 + startIndex = @bufferPositionForScreenPosition([screenRow, 0]).column for token in tokenizedLine.tokens for char in token.value - return left if index >= column + return left if index >= bufferColumn - val = @getCharacterWidthCache(token.scopes, char) - if val? - left += val - else - return @measureToColumn(lineElement, tokenizedLine, column) + if index >= startIndex + val = @getCharacterWidthCache(token.scopes, char) + if val? + left += val + else + return @measureToColumn(lineElement, tokenizedLine, screenColumn, startIndex) index++ left - scopesForColumn: (tokenizedLine, column) -> + scopesForColumn: (tokenizedLine, bufferColumn) -> index = 0 for token in tokenizedLine.tokens for char in token.value - return token.scopes if index == column + return token.scopes if index == bufferColumn index++ null - measureToColumn: (lineElement, tokenizedLine, column) -> + measureToColumn: (lineElement, tokenizedLine, screenColumn, lineStartBufferColumn) -> left = oldLeft = index = 0 iterator = document.createNodeIterator(lineElement, NodeFilter.SHOW_TEXT, TextNodeFilter) @@ -1630,13 +1633,13 @@ class EditorView extends View for char, i in content # Don't continue caching long lines :racehorse: - break if index > LongLineLength and column < index + break if index > LongLineLength and screenColumn < index # Dont return right away, finish caching the whole line - returnLeft = left if index == column + returnLeft = left if index == screenColumn oldLeft = left - scopes = @scopesForColumn(tokenizedLine, index) + scopes = @scopesForColumn(tokenizedLine, lineStartBufferColumn + index) cachedCharWidth = @getCharacterWidthCache(scopes, char) if cachedCharWidth? @@ -1655,7 +1658,7 @@ class EditorView extends View # Assume all the characters are the same width when dealing with long # lines :racehorse: - return column * cachedCharWidth if index > LongLineLength + return screenColumn * cachedCharWidth if index > LongLineLength index++ From eaf60a00b325ac44380505abc41a003f4c8027d2 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 2 Dec 2013 19:15:37 -0800 Subject: [PATCH 36/49] Use TokenizedLine::tokenAtBufferColumn to obtain scopes --- src/editor-view.coffee | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/editor-view.coffee b/src/editor-view.coffee index bada6e987..9dd32d9b8 100644 --- a/src/editor-view.coffee +++ b/src/editor-view.coffee @@ -1611,14 +1611,6 @@ class EditorView extends View index++ left - scopesForColumn: (tokenizedLine, bufferColumn) -> - index = 0 - for token in tokenizedLine.tokens - for char in token.value - return token.scopes if index == bufferColumn - index++ - null - measureToColumn: (lineElement, tokenizedLine, screenColumn, lineStartBufferColumn) -> left = oldLeft = index = 0 iterator = document.createNodeIterator(lineElement, NodeFilter.SHOW_TEXT, TextNodeFilter) @@ -1639,7 +1631,7 @@ class EditorView extends View returnLeft = left if index == screenColumn oldLeft = left - scopes = @scopesForColumn(tokenizedLine, lineStartBufferColumn + index) + scopes = tokenizedLine.tokenAtBufferColumn(lineStartBufferColumn + index)?.scopes cachedCharWidth = @getCharacterWidthCache(scopes, char) if cachedCharWidth? From ee7ef0f893433dfba218a90bd0b9432adde5df88 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 08:49:37 -0800 Subject: [PATCH 37/49] Add spec that previously failed --- spec/editor-view-spec.coffee | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/spec/editor-view-spec.coffee b/spec/editor-view-spec.coffee index 8aa3399a5..c7fc72a6f 100644 --- a/spec/editor-view-spec.coffee +++ b/spec/editor-view-spec.coffee @@ -2832,3 +2832,22 @@ describe "EditorView", -> setEditorWidthInChars(editorView, 100) $(window).trigger 'resize' expect(editorView.editor.getSoftWrapColumn()).toBe 100 + + describe "character width caching", -> + describe "when soft wrap is enabled", -> + it "correctly calculates the the position left for a column", -> + editor.setSoftWrap(true) + editorView.setText('lllll 00000') + editorView.setFontFamily('serif') + editorView.setFontSize(10) + editorView.attachToDom() + editorView.setWidthInChars(5) + + expect(editorView.pixelPositionForScreenPosition([0, 5]).left).toEqual 15 + expect(editorView.pixelPositionForScreenPosition([1, 5]).left).toEqual 25 + + # Check that widths are actually being cached + spyOn(editorView, 'measureToColumn').andCallThrough() + editorView.pixelPositionForScreenPosition([0, 5]) + editorView.pixelPositionForScreenPosition([1, 5]) + expect(editorView.measureToColumn.callCount).toBe 0 From 867aaa8f95b5beb9b3e3f3b2f49f183b138486ad Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 11:10:53 -0800 Subject: [PATCH 38/49] :memo: Move transact to public section with delegates tag --- src/editor-view.coffee | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/editor-view.coffee b/src/editor-view.coffee index 9dd32d9b8..3c87c504f 100644 --- a/src/editor-view.coffee +++ b/src/editor-view.coffee @@ -612,31 +612,34 @@ class EditorView extends View # {Delegates to: Editor.getPath} getPath: -> @editor?.getPath() - # {Delegates to: TextBuffer.getLineCount} + # {Delegates to: Editor.transact} + transact: (fn) -> @editor.transact(fn) + + # {Delegates to: TextBuffer.getLineCount} getLineCount: -> @getBuffer().getLineCount() - # {Delegates to: TextBuffer.getLastRow} + # {Delegates to: TextBuffer.getLastRow} getLastBufferRow: -> @getBuffer().getLastRow() - # {Delegates to: TextBuffer.getTextInRange} + # {Delegates to: TextBuffer.getTextInRange} getTextInRange: (range) -> @getBuffer().getTextInRange(range) - # {Delegates to: TextBuffer.getEofPosition} + # {Delegates to: TextBuffer.getEofPosition} getEofPosition: -> @getBuffer().getEofPosition() - # {Delegates to: TextBuffer.lineForRow} + # {Delegates to: TextBuffer.lineForRow} lineForBufferRow: (row) -> @getBuffer().lineForRow(row) - # {Delegates to: TextBuffer.lineLengthForRow} + # {Delegates to: TextBuffer.lineLengthForRow} lineLengthForBufferRow: (row) -> @getBuffer().lineLengthForRow(row) - # {Delegates to: TextBuffer.rangeForRow} + # {Delegates to: TextBuffer.rangeForRow} rangeForBufferRow: (row) -> @getBuffer().rangeForRow(row) - # {Delegates to: TextBuffer.scanInRange} + # {Delegates to: TextBuffer.scanInRange} scanInBufferRange: (args...) -> @getBuffer().scanInRange(args...) - # {Delegates to: TextBuffer.backwardsScanInRange} + # {Delegates to: TextBuffer.backwardsScanInRange} backwardsScanInBufferRange: (args...) -> @getBuffer().backwardsScanInRange(args...) ### Internal ### @@ -1839,9 +1842,10 @@ class EditorView extends View logCursorScope: -> console.log @editor.getCursorScopes() - transact: (fn) -> @editor.transact(fn) beginTransaction: -> @editor.beginTransaction() + commitTransaction: -> @editor.commitTransaction() + abortTransaction: -> @editor.abortTransaction() logScreenLines: (start, end) -> From 80cc881912625ce799fa1c435f2d5a2cc9445aaa Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 11:14:58 -0800 Subject: [PATCH 39/49] :memo: Remove FIXME in Editor::transpose --- src/editor.coffee | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/editor.coffee b/src/editor.coffee index 1331974cc..ccd8708ec 100644 --- a/src/editor.coffee +++ b/src/editor.coffee @@ -1251,11 +1251,9 @@ class Editor # Public: Transposes the current text selections. # - # FIXME: I have no idea what this function does. - # - # This only works if there is more than one selection. Each selection is transferred - # to the position of the selection after it. The last selection is transferred to the - # position of the first. + # The text in each selection is reversed so `abcd` would become `dcba`. The + # characters before and after the cursor are swapped when the selection is + # empty so `x|y` would become `y|x` where `|` is the cursor location. transpose: -> @mutateSelectedText (selection) => if selection.isEmpty() From 91d4ef26532173148d6a01d58b3b0171e668554d Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 11:24:59 -0800 Subject: [PATCH 40/49] :memo: Mark more EditorView methods private --- src/editor-view.coffee | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/editor-view.coffee b/src/editor-view.coffee index 3c87c504f..0b5076ba9 100644 --- a/src/editor-view.coffee +++ b/src/editor-view.coffee @@ -977,9 +977,11 @@ class EditorView extends View @setWidthInChars() @editor.setSoftWrap(not @editor.getSoftWrap()) + # Private: calculateWidthInChars: -> Math.floor(@scrollView.width() / @charWidth) + # Private: calculateHeightInLines: -> Math.ceil($(window).height() / @lineHeight) @@ -1064,6 +1066,7 @@ class EditorView extends View super atom.workspaceView?.focus() + # Private: beforeRemove: -> @trigger 'editor:will-be-removed' @removed = true @@ -1614,6 +1617,7 @@ class EditorView extends View index++ left + # Private: measureToColumn: (lineElement, tokenizedLine, screenColumn, lineStartBufferColumn) -> left = oldLeft = index = 0 iterator = document.createNodeIterator(lineElement, NodeFilter.SHOW_TEXT, TextNodeFilter) @@ -1659,6 +1663,7 @@ class EditorView extends View returnLeft ? left + # Private: getCharacterWidthCache: (scopes, char) -> scopes ?= NoScope obj = EditorView.characterWidthCache @@ -1667,6 +1672,7 @@ class EditorView extends View return null unless obj? obj[char] + # Private: setCharacterWidthCache: (scopes, char, val) -> scopes ?= NoScope obj = EditorView.characterWidthCache @@ -1675,6 +1681,7 @@ class EditorView extends View obj = obj[scope] obj[char] = val + # Private: clearCharacterWidthCache: -> EditorView.characterWidthCache = {} From 9c1127dd1bd19f2d091987cc1b63f4f2a59831cb Mon Sep 17 00:00:00 2001 From: Matt Graham Date: Tue, 3 Dec 2013 11:57:41 -0500 Subject: [PATCH 41/49] adjusting padding for new tabs --- static/workspace-view.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/workspace-view.less b/static/workspace-view.less index 197a4228b..26e6b37cc 100644 --- a/static/workspace-view.less +++ b/static/workspace-view.less @@ -45,7 +45,7 @@ h6 { content: ""; // This is not a space, it is a skull and crossbones } - padding: @component-icon-padding; + padding: 0 @component-icon-padding; position: absolute; top: 0; right: 0; From 4998fdda859160e57432bfb3f905e26a76d7e3a8 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 11:29:35 -0800 Subject: [PATCH 42/49] Remove unused methods in Project --- src/project.coffee | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/src/project.coffee b/src/project.coffee index 96c630ded..1df6d8212 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -105,18 +105,6 @@ class Project extends telepath.Model getRootDirectory: -> @rootDirectory - # Public: Determines if a path is ignored via Atom configuration. - isPathIgnored: (path) -> - for segment in path.split("/") - ignoredNames = atom.config.get("core.ignoredNames") or [] - return true if _.contains(ignoredNames, segment) - - @ignoreRepositoryPath(path) - - # Public: Determines if a given path is ignored via repository configuration. - ignoreRepositoryPath: (repositoryPath) -> - atom.config.get("core.hideGitIgnoredFiles") and @repo?.isPathIgnored(path.join(@getPath(), repositoryPath)) - # Public: Given a uri, this resolves it relative to the project directory. If # the path is already absolute or if it is prefixed with a scheme, it is # returned unchanged. @@ -193,12 +181,6 @@ class Project extends telepath.Model getBuffers: -> new Array(@buffers.getValues()...) - isPathModified: (filePath) -> - @findBufferForPath(@resolve(filePath))?.isModified() - - findBufferForPath: (filePath) -> - _.find @buffers.getValues(), (buffer) -> buffer.getPath() == filePath - # Private: Only to be used in specs bufferForPathSync: (filePath) -> absoluteFilePath = @resolve(filePath) From 1d4f447975534aa322aed972e103bc3b64adcea7 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 12:02:41 -0800 Subject: [PATCH 43/49] :memo: Fill in SelectList docs --- src/select-list.coffee | 62 ++++++++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/src/select-list.coffee b/src/select-list.coffee index aba3f139f..21cb270de 100644 --- a/src/select-list.coffee +++ b/src/select-list.coffee @@ -25,7 +25,10 @@ class SelectList extends View inputThrottle: 50 cancelling: false - # Public: + # Public: Initialize the select list view. + # + # This method can be overridden by subclasses but `super` should always + # be called. initialize: -> @miniEditor.getBuffer().on 'changed', => @schedulePopulateList() @miniEditor.hiddenInput.on 'focusout', => @cancel() unless @cancelling @@ -57,12 +60,16 @@ class SelectList extends View @populateList() if @isOnDom() @scheduleTimeout = setTimeout(populateCallback, @inputThrottle) - # Public: - setArray: (@array) -> + # Public: Set the array of items to display in the list. + # + # * array: The array of model elements to display in the list. + setArray: (@array=[]) -> @populateList() @setLoading() - # Public: + # Public: Set the error message to display. + # + # * message: The error message. setError: (message='') -> if message.length is 0 @error.text('').hide() @@ -70,7 +77,9 @@ class SelectList extends View @setLoading() @error.text(message).show() - # Public: + # Public: Set the loading message to display. + # + # * message: The loading message. setLoading: (message='') -> if message.length is 0 @loading.text("") @@ -81,11 +90,18 @@ class SelectList extends View @loading.text(message) @loadingArea.show() - # Public: + # Public: Get the filter query to use when fuzzy filtering the visible + # elements. + # + # By default this method returns the text in the mini editor but it can be + # overridden by subclasses if needed. + # + # Returns a {String} to use when fuzzy filtering the elements to display. getFilterQuery: -> @miniEditor.getText() - # Public: + # Public: Build the DOM elements using the array from the last call to + # {.setArray}. populateList: -> return unless @array? @@ -109,7 +125,12 @@ class SelectList extends View else @setError(@getEmptyMessage(@array.length, filteredArray.length)) - # Public: + # Public: Get the message to display when there are no items. + # + # Subclasses may override this method to customize the message. + # + # * itemCount: The number of items in the array specified to {.setArray} + # * filteredItemCount: The number of items that pass the fuzzy filter test. getEmptyMessage: (itemCount, filteredItemCount) -> 'No matches found' # Private: @@ -124,14 +145,14 @@ class SelectList extends View item = @list.find('li:first') unless item.length @selectItem(item) - # Public: + # Private: selectItem: (item) -> return unless item.length @list.find('.selected').removeClass('selected') item.addClass 'selected' @scrollToItem(item) - # Public: + # Private: scrollToItem: (item) -> scrollTop = @list.scrollTop() desiredTop = item.position().top + scrollTop @@ -142,15 +163,19 @@ class SelectList extends View else if desiredBottom > @list.scrollBottom() @list.scrollBottom(desiredBottom) - # Public: + # Public: Get the selected DOM element. + # + # Call {.getSelectedElement} to get the selected model element. getSelectedItem: -> @list.find('li.selected') - # Public: + # Public: Get the selected model element. + # + # Call {.getSelectedItem} to get the selected DOM element. getSelectedElement: -> @getSelectedItem().data('select-list-element') - # Public: + # Private: confirmSelection: -> element = @getSelectedElement() if element? @@ -158,6 +183,13 @@ class SelectList extends View else @cancel() + # Public: Callback function for when a selection is made. + # + # This method should be overridden by subclasses. + # + # * element: The selected model element. + confirmed: (element) -> + # Private: attach: -> @storeFocusedElement() @@ -173,12 +205,12 @@ class SelectList extends View else atom.workspaceView.focus() - # Public: + # Private: cancelled: -> @miniEditor.setText('') @miniEditor.updateDisplay() - # Public: + # Public: Cancel and close the select list dialog. cancel: -> @list.empty() @cancelling = true From 6f1dd702b01b827e84280aa3cc95bc889c53509b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 12:12:28 -0800 Subject: [PATCH 44/49] Add back internally used Project::findBufferForPath --- src/project.coffee | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/project.coffee b/src/project.coffee index 1df6d8212..7618b4b9d 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -181,6 +181,10 @@ class Project extends telepath.Model getBuffers: -> new Array(@buffers.getValues()...) + # Private: + findBufferForPath: (filePath) -> + _.find @buffers.getValues(), (buffer) -> buffer.getPath() == filePath + # Private: Only to be used in specs bufferForPathSync: (filePath) -> absoluteFilePath = @resolve(filePath) From 5166ca274c0d2a4073d8c61e84144b1d45f6185b Mon Sep 17 00:00:00 2001 From: Garen Torikian Date: Tue, 3 Dec 2013 13:02:35 -0800 Subject: [PATCH 45/49] :memo: Typo fix --- src/editor.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/editor.coffee b/src/editor.coffee index ccd8708ec..3e97bf451 100644 --- a/src/editor.coffee +++ b/src/editor.coffee @@ -12,7 +12,7 @@ TextMateScopeSelector = require('first-mate').ScopeSelector # Public: The core model of Atom. # -# An {Editor} represents a unique view of each document, with it's own +# An {Editor} represents a unique view of each document, with its own # {Cursor}s and scroll position. # # For instance if a user creates a split, Atom creates a second {Editor} From 9ce22fd6d351c30f4454fc9a1df73629aebe8a76 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 3 Dec 2013 13:37:21 -0800 Subject: [PATCH 46/49] Add back internally used isPathModified --- src/project.coffee | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/project.coffee b/src/project.coffee index 7618b4b9d..a1026ebf5 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -181,6 +181,10 @@ class Project extends telepath.Model getBuffers: -> new Array(@buffers.getValues()...) + # Private: Is the buffer for the given path modified? + isPathModified: (filePath) -> + @findBufferForPath(@resolve(filePath))?.isModified() + # Private: findBufferForPath: (filePath) -> _.find @buffers.getValues(), (buffer) -> buffer.getPath() == filePath From e6e72d99f3513bdb70cacb9282a6c0593c4b5dda Mon Sep 17 00:00:00 2001 From: probablycorey Date: Tue, 3 Dec 2013 15:37:48 -0800 Subject: [PATCH 47/49] Add welcome package --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index cbbbbb803..37b4e3208 100644 --- a/package.json +++ b/package.json @@ -114,6 +114,7 @@ "to-the-hubs": "0.15.0", "tree-view": "0.42.0", "visual-bell": "0.6.0", + "welcome": "0.1.0", "whitespace": "0.10.0", "wrap-guide": "0.8.0", "language-c": "0.2.0", From d36c4f0ec9962c91ee153dd4823d1663a47bc4aa Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Tue, 3 Dec 2013 15:21:53 -0800 Subject: [PATCH 48/49] getUserAgent() --- src/atom.coffee | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/atom.coffee b/src/atom.coffee index be1b3af49..6fb271322 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -352,6 +352,10 @@ class Atom getVersion: -> app.getVersion() + # Public: Gets the user agent of the atom instance. + getUserAgent: -> + "GitHubAtom/#{app.getVersion()}" + # Public: Get the directory path to Atom's configuration area. # # Returns the absolute path to ~/.atom From fa963f058323653582e586b949d08342923d26b9 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 3 Dec 2013 20:01:56 -0600 Subject: [PATCH 49/49] Upgrade telepath to 0.45.1 in hopes of addressing #1153 Basically, it just hacks ArrayMarker::getRawStart/EndIndex in non-replicated mode to check that the index isn't out of range. I'd rather get to the root cause but I'm hoping this can save us some pain in the short term while a lot of balls are in the air. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 37b4e3208..fa1faec6f 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "season": "0.14.0", "semver": "1.1.4", "space-pen": "2.0.1", - "telepath": "0.45.0", + "telepath": "0.45.1", "temp": "0.5.0", "underscore-plus": "0.3.0" },