From f79c2669fc95992499858592bbee9910345b14c6 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 09:46:23 -0700 Subject: [PATCH 01/65] Add 1.0 API preview command line option --- src/atom.coffee | 10 +++++++--- src/browser/atom-application.coffee | 24 ++++++++++++++---------- src/browser/atom-window.coffee | 3 ++- src/browser/main.coffee | 5 ++++- 4 files changed, 27 insertions(+), 15 deletions(-) diff --git a/src/atom.coffee b/src/atom.coffee index a71adeeeb..c45744408 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -342,15 +342,19 @@ class Atom extends Model # Public: Is the current window in development mode? inDevMode: -> - @getLoadSettings().devMode + @devMode ?= @getLoadSettings().devMode # Public: Is the current window in safe mode? inSafeMode: -> - @getLoadSettings().safeMode + @safeMode ?= @getLoadSettings().safeMode # Public: Is the current window running specs? inSpecMode: -> - @getLoadSettings().isSpec + @specMode ?= @getLoadSettings().isSpec + + # Is the current window in 1.0 API preview mode? + inApiPreviewMode: -> + @apiPreviewMode ?= @getLoadSettings().apiPreviewMode # Public: Get the version of the Atom application. # diff --git a/src/browser/atom-application.coffee b/src/browser/atom-application.coffee index d79b2bf76..fb9085416 100644 --- a/src/browser/atom-application.coffee +++ b/src/browser/atom-application.coffee @@ -60,7 +60,7 @@ class AtomApplication exit: (status) -> app.exit(status) constructor: (options) -> - {@resourcePath, @version, @devMode, @safeMode, @socketPath} = options + {@resourcePath, @version, @devMode, @safeMode, @apiPreviewMode, @socketPath} = options # Normalize to make sure drive letter case is consistent on Windows @resourcePath = path.normalize(@resourcePath) if @resourcePath @@ -82,15 +82,15 @@ class AtomApplication @openWithOptions(options) # Opens a new window based on the options provided. - openWithOptions: ({pathsToOpen, urlsToOpen, test, pidToKillWhenClosed, devMode, safeMode, newWindow, specDirectory, logFile}) -> + openWithOptions: ({pathsToOpen, urlsToOpen, test, pidToKillWhenClosed, devMode, safeMode, apiPreviewMode, newWindow, specDirectory, logFile}) -> if test @runSpecs({exitWhenDone: true, @resourcePath, specDirectory, logFile}) else if pathsToOpen.length > 0 - @openPaths({pathsToOpen, pidToKillWhenClosed, newWindow, devMode, safeMode}) + @openPaths({pathsToOpen, pidToKillWhenClosed, newWindow, devMode, safeMode, apiPreviewMode}) else if urlsToOpen.length > 0 - @openUrl({urlToOpen, devMode, safeMode}) for urlToOpen in urlsToOpen + @openUrl({urlToOpen, devMode, safeMode, apiPreviewMode}) for urlToOpen in urlsToOpen else - @openPath({pidToKillWhenClosed, newWindow, devMode, safeMode}) # Always open a editor window if this is the first instance of Atom. + @openPath({pidToKillWhenClosed, newWindow, devMode, safeMode, apiPreviewMode}) # Always open a editor window if this is the first instance of Atom. # Public: Removes the {AtomWindow} from the global window list. removeWindow: (window) -> @@ -146,6 +146,7 @@ class AtomApplication getLoadSettings = => devMode: @focusedWindow()?.devMode safeMode: @focusedWindow()?.safeMode + apiPreviewMode: @focusedWindow()?.apiPreviewMode @on 'application:run-all-specs', -> @runSpecs(exitWhenDone: false, resourcePath: global.devResourcePath, safeMode: @focusedWindow()?.safeMode) @on 'application:run-benchmarks', -> @runBenchmarks() @@ -157,6 +158,7 @@ class AtomApplication @on 'application:open-folder', -> @promptForPathToOpen('folder', getLoadSettings()) @on 'application:open-dev', -> @promptForPathToOpen('all', devMode: true) @on 'application:open-safe', -> @promptForPathToOpen('all', safeMode: true) + @on 'application:open-api-preview', -> @promptForPathToOpen('all', apiPreviewMode: true) @on 'application:inspect', ({x,y, atomWindow}) -> atomWindow ?= @focusedWindow() atomWindow?.browserWindow.inspectElement(x, y) @@ -209,7 +211,7 @@ class AtomApplication app.on 'open-url', (event, urlToOpen) => event.preventDefault() - @openUrl({urlToOpen, @devMode, @safeMode}) + @openUrl({urlToOpen, @devMode, @safeMode, @apiPreviewMode}) app.on 'activate-with-no-open-windows', (event) => event.preventDefault() @@ -333,9 +335,10 @@ class AtomApplication # :newWindow - Boolean of whether this should be opened in a new window. # :devMode - Boolean to control the opened window's dev mode. # :safeMode - Boolean to control the opened window's safe mode. + # :apiPreviewMode - Boolean to control the opened window's 1.0 API preview mode. # :window - {AtomWindow} to open file paths in. - openPath: ({pathToOpen, pidToKillWhenClosed, newWindow, devMode, safeMode, window}) -> - @openPaths({pathsToOpen: [pathToOpen], pidToKillWhenClosed, newWindow, devMode, safeMode, window}) + openPath: ({pathToOpen, pidToKillWhenClosed, newWindow, devMode, safeMode, apiPreviewMode, window}) -> + @openPaths({pathsToOpen: [pathToOpen], pidToKillWhenClosed, newWindow, devMode, safeMode, apiPreviewMode, window}) # Public: Opens a single path, in an existing window if possible. # @@ -345,9 +348,10 @@ class AtomApplication # :newWindow - Boolean of whether this should be opened in a new window. # :devMode - Boolean to control the opened window's dev mode. # :safeMode - Boolean to control the opened window's safe mode. + # :apiPreviewMode - Boolean to control the opened window's 1.0 API preview mode. # :windowDimensions - Object with height and width keys. # :window - {AtomWindow} to open file paths in. - openPaths: ({pathsToOpen, pidToKillWhenClosed, newWindow, devMode, safeMode, windowDimensions, window}={}) -> + openPaths: ({pathsToOpen, pidToKillWhenClosed, newWindow, devMode, safeMode, apiPreviewMode, windowDimensions, window}={}) -> pathsToOpen = (fs.normalize(pathToOpen) for pathToOpen in pathsToOpen) locationsToOpen = (@locationForPathToOpen(pathToOpen) for pathToOpen in pathsToOpen) @@ -377,7 +381,7 @@ class AtomApplication bootstrapScript ?= require.resolve('../window-bootstrap') resourcePath ?= @resourcePath - openedWindow = new AtomWindow({locationsToOpen, bootstrapScript, resourcePath, devMode, safeMode, windowDimensions}) + openedWindow = new AtomWindow({locationsToOpen, bootstrapScript, resourcePath, devMode, safeMode, apiPreviewMode, windowDimensions}) if pidToKillWhenClosed? @pidsToOpenWindows[pidToKillWhenClosed] = openedWindow diff --git a/src/browser/atom-window.coffee b/src/browser/atom-window.coffee index 66fad179e..fff98799c 100644 --- a/src/browser/atom-window.coffee +++ b/src/browser/atom-window.coffee @@ -18,7 +18,7 @@ class AtomWindow isSpec: null constructor: (settings={}) -> - {@resourcePath, pathToOpen, locationsToOpen, @isSpec, @exitWhenDone, @safeMode, @devMode} = settings + {@resourcePath, pathToOpen, locationsToOpen, @isSpec, @exitWhenDone, @safeMode, @devMode, @apiPreviewMode} = settings locationsToOpen ?= [{pathToOpen}] if pathToOpen locationsToOpen ?= [] @@ -47,6 +47,7 @@ class AtomWindow loadSettings.resourcePath = @resourcePath loadSettings.devMode ?= false loadSettings.safeMode ?= false + loadSettings.apiPreviewMode ?= false # Only send to the first non-spec window created if @constructor.includeShellLoadTime and not @isSpec diff --git a/src/browser/main.coffee b/src/browser/main.coffee index 09db16357..812771e9a 100644 --- a/src/browser/main.coffee +++ b/src/browser/main.coffee @@ -106,6 +106,7 @@ parseCommandLine = -> ATOM_HOME The root path for all configuration files and folders. Defaults to `~/.atom`. """ + options.alias('1', 'one').boolean('1').describe('1', 'Run in 1.0 API preview mode.') options.alias('d', 'dev').boolean('d').describe('d', 'Run in development mode.') options.alias('f', 'foreground').boolean('f').describe('f', 'Keep the browser process in the foreground.') options.alias('h', 'help').boolean('h').describe('h', 'Print this usage message.') @@ -131,6 +132,7 @@ parseCommandLine = -> executedFrom = args['executed-from'] devMode = args['dev'] safeMode = args['safe'] + apiPreviewMode = args['one'] pathsToOpen = args._ pathsToOpen = [executedFrom] if executedFrom and pathsToOpen.length is 0 test = args['test'] @@ -164,6 +166,7 @@ parseCommandLine = -> process.env.PATH = args['path-environment'] if args['path-environment'] {resourcePath, pathsToOpen, executedFrom, test, version, pidToKillWhenClosed, - devMode, safeMode, newWindow, specDirectory, logFile, socketPath} + devMode, apiPreviewMode, safeMode, newWindow, specDirectory, logFile, + socketPath} start() From 80cb757cfec8f2da6385fb7be6a9d6e390c131d5 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 09:47:44 -0700 Subject: [PATCH 02/65] Add api preview open ipc event proxy --- src/workspace-element.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/src/workspace-element.coffee b/src/workspace-element.coffee index 425d920d8..5afe2cf0e 100644 --- a/src/workspace-element.coffee +++ b/src/workspace-element.coffee @@ -136,6 +136,7 @@ atom.commands.add 'atom-workspace', 'application:open-folder': -> ipc.send('command', 'application:open-folder') 'application:open-dev': -> ipc.send('command', 'application:open-dev') 'application:open-safe': -> ipc.send('command', 'application:open-safe') + 'application:open-api-preview': -> ipc.send('command', 'application:open-api-preview') 'application:minimize': -> ipc.send('command', 'application:minimize') 'application:zoom': -> ipc.send('command', 'application:zoom') 'application:bring-all-windows-to-front': -> ipc.send('command', 'application:bring-all-windows-to-front') From 5a7d746eaeec84d4bea4304808f295676304809b Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:18:11 -0700 Subject: [PATCH 03/65] Conditionally include deprecations in Atom --- src/atom.coffee | 88 +++++++++++++++++++++++++------------------------ static/index.js | 2 ++ 2 files changed, 47 insertions(+), 43 deletions(-) diff --git a/src/atom.coffee b/src/atom.coffee index c45744408..49a76481b 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -6,7 +6,7 @@ remote = require 'remote' shell = require 'shell' _ = require 'underscore-plus' -{deprecate} = require 'grim' +{deprecate, includeDeprecations} = require 'grim' {Emitter} = require 'event-kit' {Model} = require 'theorist' fs = require 'fs-plus' @@ -34,35 +34,36 @@ class Atom extends Model atom = @deserialize(@loadState(mode)) ? new this({mode, @version}) atom.deserializeTimings.atom = Date.now() - startTime - workspaceViewDeprecationMessage = """ - atom.workspaceView is no longer available. - In most cases you will not need the view. See the Workspace docs for - alternatives: https://atom.io/docs/api/latest/Workspace. - If you do need the view, please use `atom.views.getView(atom.workspace)`, - which returns an HTMLElement. - """ + if includeDeprecations + workspaceViewDeprecationMessage = """ + atom.workspaceView is no longer available. + In most cases you will not need the view. See the Workspace docs for + alternatives: https://atom.io/docs/api/latest/Workspace. + If you do need the view, please use `atom.views.getView(atom.workspace)`, + which returns an HTMLElement. + """ - serviceHubDeprecationMessage = """ - atom.services is no longer available. To register service providers and - consumers, use the `providedServices` and `consumedServices` fields in - your package's package.json. - """ + serviceHubDeprecationMessage = """ + atom.services is no longer available. To register service providers and + consumers, use the `providedServices` and `consumedServices` fields in + your package's package.json. + """ - Object.defineProperty atom, 'workspaceView', - get: -> - deprecate(workspaceViewDeprecationMessage) - atom.__workspaceView - set: (newValue) -> - deprecate(workspaceViewDeprecationMessage) - atom.__workspaceView = newValue + Object.defineProperty atom, 'workspaceView', + get: -> + deprecate(workspaceViewDeprecationMessage) + atom.__workspaceView + set: (newValue) -> + deprecate(workspaceViewDeprecationMessage) + atom.__workspaceView = newValue - Object.defineProperty atom, 'services', - get: -> - deprecate(serviceHubDeprecationMessage) - atom.packages.serviceHub - set: (newValue) -> - deprecate(serviceHubDeprecationMessage) - atom.packages.serviceHub = newValue + Object.defineProperty atom, 'services', + get: -> + deprecate(serviceHubDeprecationMessage) + atom.packages.serviceHub + set: (newValue) -> + deprecate(serviceHubDeprecationMessage) + atom.packages.serviceHub = newValue atom @@ -263,7 +264,10 @@ class Atom extends Model @config = new Config({configDirPath, resourcePath}) @keymaps = new KeymapManager({configDirPath, resourcePath}) - @keymap = @keymaps # Deprecated + + if includeDeprecations + @keymap = @keymaps # Deprecated + @keymaps.subscribeToFileReadFailure() @tooltips = new TooltipManager @notifications = new NotificationManager @@ -279,9 +283,10 @@ class Atom extends Model @grammars = @deserializers.deserialize(@state.grammars ? @state.syntax) ? new GrammarRegistry() - Object.defineProperty this, 'syntax', get: -> - deprecate "The atom.syntax global is deprecated. Use atom.grammars instead." - @grammars + if includeDeprecations + Object.defineProperty this, 'syntax', get: -> + deprecate "The atom.syntax global is deprecated. Use atom.grammars instead." + @grammars @subscribe @packages.onDidActivateInitialPackages => @watchThemes() @@ -352,10 +357,6 @@ class Atom extends Model inSpecMode: -> @specMode ?= @getLoadSettings().isSpec - # Is the current window in 1.0 API preview mode? - inApiPreviewMode: -> - @apiPreviewMode ?= @getLoadSettings().apiPreviewMode - # Public: Get the version of the Atom application. # # Returns the version text {String}. @@ -831,17 +832,18 @@ class Atom extends Model updateAvailable: (details) -> @emitter.emit 'update-available', details - # Deprecated: Callers should be converted to use atom.deserializers - registerRepresentationClass: -> - deprecate("Callers should be converted to use atom.deserializers") - - # Deprecated: Callers should be converted to use atom.deserializers - registerRepresentationClasses: -> - deprecate("Callers should be converted to use atom.deserializers") - setBodyPlatformClass: -> document.body.classList.add("platform-#{process.platform}") setAutoHideMenuBar: (autoHide) -> ipc.send('call-window-method', 'setAutoHideMenuBar', autoHide) ipc.send('call-window-method', 'setMenuBarVisibility', !autoHide) + +if includeDeprecations + # Deprecated: Callers should be converted to use atom.deserializers + Atom::registerRepresentationClass = -> + deprecate("Callers should be converted to use atom.deserializers") + + # Deprecated: Callers should be converted to use atom.deserializers + Atom::registerRepresentationClasses = -> + deprecate("Callers should be converted to use atom.deserializers") diff --git a/static/index.js b/static/index.js index d99a9e9e7..7c8e92571 100644 --- a/static/index.js +++ b/static/index.js @@ -34,6 +34,8 @@ window.onload = function() { ModuleCache.register(loadSettings); ModuleCache.add(loadSettings.resourcePath); + require('grim').includeDeprecations = !loadSettings.apiPreviewMode; + // Start the crash reporter before anything else. require('crash-reporter').start({ productName: 'Atom', From 69b0d90e6449842ef3eec8da6324bb37019f3379 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:23:41 -0700 Subject: [PATCH 04/65] Remove unused require --- src/token.coffee | 1 - 1 file changed, 1 deletion(-) diff --git a/src/token.coffee b/src/token.coffee index 778ea16e6..941daf032 100644 --- a/src/token.coffee +++ b/src/token.coffee @@ -1,5 +1,4 @@ _ = require 'underscore-plus' -{deprecate} = require 'grim' textUtils = require './text-utils' WhitespaceRegexesByTabLength = {} From 87fca98bab08173dda5f360442f45a618a16e02c Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:24:48 -0700 Subject: [PATCH 05/65] Deprecate TextEditorComponent::setShowInvisibles --- src/text-editor-component.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index 43f8184db..071d39271 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -754,6 +754,7 @@ class TextEditorComponent # Deprecated setShowInvisibles: (showInvisibles) -> + grim.deprecate "Use config.set('editor.showInvisibles', showInvisibles) instead" atom.config.set('editor.showInvisibles', showInvisibles) setScrollSensitivity: (scrollSensitivity) => From 94d42197eb32702ba4b067b50fe36a3420c224f0 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:29:13 -0700 Subject: [PATCH 06/65] Conditionally include deprecations --- exports/atom.coffee | 190 +++++++++++++++++++------------------- src/styles-element.coffee | 5 +- 2 files changed, 99 insertions(+), 96 deletions(-) diff --git a/exports/atom.coffee b/exports/atom.coffee index 5afa04022..6b9243098 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -1,7 +1,7 @@ TextBuffer = require 'text-buffer' {Point, Range} = TextBuffer {Emitter, Disposable, CompositeDisposable} = require 'event-kit' -{deprecate} = require 'grim' +{includeDeprecations, deprecate} = require 'grim' module.exports = BufferedNodeProcess: require '../src/buffered-node-process' @@ -21,109 +21,111 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE module.exports.Task = require '../src/task' module.exports.TextEditor = require '../src/text-editor' - {$, $$, $$$, View} = require '../src/space-pen-extensions' + if includeDeprecations + {$, $$, $$$, View} = require '../src/space-pen-extensions' - Object.defineProperty module.exports, 'Workspace', get: -> - deprecate """ - Requiring `Workspace` from `atom` is no longer supported. - If you need this, please open an issue on - https://github.com/atom/atom/issues/new - And let us know what you are using it for. - """ - require '../src/workspace' + Object.defineProperty module.exports, 'Workspace', get: -> + deprecate """ + Requiring `Workspace` from `atom` is no longer supported. + If you need this, please open an issue on + https://github.com/atom/atom/issues/new + And let us know what you are using it for. + """ + require '../src/workspace' - Object.defineProperty module.exports, 'WorkspaceView', get: -> - deprecate """ - Requiring `WorkspaceView` from `atom` is no longer supported. - Use `atom.views.getView(atom.workspace)` instead. - """ - require '../src/workspace-view' + Object.defineProperty module.exports, 'WorkspaceView', get: -> + deprecate """ + Requiring `WorkspaceView` from `atom` is no longer supported. + Use `atom.views.getView(atom.workspace)` instead. + """ + require '../src/workspace-view' - Object.defineProperty module.exports, '$', get: -> - deprecate """ - Requiring `$` from `atom` is no longer supported. - If you are using `space-pen`, please require `$` from `atom-space-pen-views`. Otherwise require `jquery` instead: - `{$} = require 'atom-space-pen-views'` - or - `$ = require 'jquery'` - Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. - Or add `"jquery": "^2"` to your package dependencies. - """ - $ + Object.defineProperty module.exports, '$', get: -> + deprecate """ + Requiring `$` from `atom` is no longer supported. + If you are using `space-pen`, please require `$` from `atom-space-pen-views`. Otherwise require `jquery` instead: + `{$} = require 'atom-space-pen-views'` + or + `$ = require 'jquery'` + Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. + Or add `"jquery": "^2"` to your package dependencies. + """ + $ - Object.defineProperty module.exports, '$$', get: -> - deprecate """ - Requiring `$$` from `atom` is no longer supported. - Please require `atom-space-pen-views` instead: - `{$$} = require 'atom-space-pen-views'` - Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. - """ - $$ + Object.defineProperty module.exports, '$$', get: -> + deprecate """ + Requiring `$$` from `atom` is no longer supported. + Please require `atom-space-pen-views` instead: + `{$$} = require 'atom-space-pen-views'` + Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. + """ + $$ - Object.defineProperty module.exports, '$$$', get: -> - deprecate """ - Requiring `$$$` from `atom` is no longer supported. - Please require `atom-space-pen-views` instead: - `{$$$} = require 'atom-space-pen-views'` - Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. - """ - $$$ + Object.defineProperty module.exports, '$$$', get: -> + deprecate """ + Requiring `$$$` from `atom` is no longer supported. + Please require `atom-space-pen-views` instead: + `{$$$} = require 'atom-space-pen-views'` + Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. + """ + $$$ - Object.defineProperty module.exports, 'View', get: -> - deprecate """ - Requiring `View` from `atom` is no longer supported. - Please require `atom-space-pen-views` instead: - `{View} = require 'atom-space-pen-views'` - Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. - """ - View + Object.defineProperty module.exports, 'View', get: -> + deprecate """ + Requiring `View` from `atom` is no longer supported. + Please require `atom-space-pen-views` instead: + `{View} = require 'atom-space-pen-views'` + Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. + """ + View - Object.defineProperty module.exports, 'EditorView', get: -> - deprecate """ - Requiring `EditorView` from `atom` is no longer supported. - Please require `TextEditorView` from `atom-space-pen-view` instead: - `{TextEditorView} = require 'atom-space-pen-views'` - Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. - """ - require '../src/text-editor-view' + Object.defineProperty module.exports, 'EditorView', get: -> + deprecate """ + Requiring `EditorView` from `atom` is no longer supported. + Please require `TextEditorView` from `atom-space-pen-view` instead: + `{TextEditorView} = require 'atom-space-pen-views'` + Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. + """ + require '../src/text-editor-view' - Object.defineProperty module.exports, 'TextEditorView', get: -> - deprecate """ - Requiring `TextEditorView` from `atom` is no longer supported. - Please require `TextEditorView` from `atom-space-pen-view` instead: - `{TextEditorView} = require 'atom-space-pen-views'` - Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. - """ - require '../src/text-editor-view' + Object.defineProperty module.exports, 'TextEditorView', get: -> + deprecate """ + Requiring `TextEditorView` from `atom` is no longer supported. + Please require `TextEditorView` from `atom-space-pen-view` instead: + `{TextEditorView} = require 'atom-space-pen-views'` + Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. + """ + require '../src/text-editor-view' - Object.defineProperty module.exports, 'ScrollView', get: -> - deprecate """ - Requiring `ScrollView` from `atom` is no longer supported. - Please require `ScrollView` from `atom-space-pen-view` instead: - `{ScrollView} = require 'atom-space-pen-views'` - Note that the API has changed slightly! Please read the docs at https://github.com/atom/atom-space-pen-views - Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. - """ - require '../src/scroll-view' + Object.defineProperty module.exports, 'ScrollView', get: -> + deprecate """ + Requiring `ScrollView` from `atom` is no longer supported. + Please require `ScrollView` from `atom-space-pen-view` instead: + `{ScrollView} = require 'atom-space-pen-views'` + Note that the API has changed slightly! Please read the docs at https://github.com/atom/atom-space-pen-views + Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. + """ + require '../src/scroll-view' - Object.defineProperty module.exports, 'SelectListView', get: -> - deprecate """ - Requiring `SelectListView` from `atom` is no longer supported. - Please require `SelectListView` from `atom-space-pen-view` instead: - `{SelectListView} = require 'atom-space-pen-views'` - Note that the API has changed slightly! Please read the docs at https://github.com/atom/atom-space-pen-views - Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. - """ - require '../src/select-list-view' + Object.defineProperty module.exports, 'SelectListView', get: -> + deprecate """ + Requiring `SelectListView` from `atom` is no longer supported. + Please require `SelectListView` from `atom-space-pen-view` instead: + `{SelectListView} = require 'atom-space-pen-views'` + Note that the API has changed slightly! Please read the docs at https://github.com/atom/atom-space-pen-views + Add `"atom-space-pen-views": "^2.0.3"` to your package dependencies. + """ + require '../src/select-list-view' - Object.defineProperty module.exports, 'React', get: -> - deprecate "Please require `react-atom-fork` instead: `React = require 'react-atom-fork'`. Add `\"react-atom-fork\": \"^0.11\"` to your package dependencies." - require 'react-atom-fork' + Object.defineProperty module.exports, 'React', get: -> + deprecate "Please require `react-atom-fork` instead: `React = require 'react-atom-fork'`. Add `\"react-atom-fork\": \"^0.11\"` to your package dependencies." + require 'react-atom-fork' - Object.defineProperty module.exports, 'Reactionary', get: -> - deprecate "Please require `reactionary-atom-fork` instead: `Reactionary = require 'reactionary-atom-fork'`. Add `\"reactionary-atom-fork\": \"^0.9\"` to your package dependencies." - require 'reactionary-atom-fork' + Object.defineProperty module.exports, 'Reactionary', get: -> + deprecate "Please require `reactionary-atom-fork` instead: `Reactionary = require 'reactionary-atom-fork'`. Add `\"reactionary-atom-fork\": \"^0.9\"` to your package dependencies." + require 'reactionary-atom-fork' -Object.defineProperty module.exports, 'Git', get: -> - deprecate "Please require `GitRepository` instead of `Git`: `{GitRepository} = require 'atom'`" - module.exports.GitRepository +if includeDeprecations + Object.defineProperty module.exports, 'Git', get: -> + deprecate "Please require `GitRepository` instead of `Git`: `{GitRepository} = require 'atom'`" + module.exports.GitRepository diff --git a/src/styles-element.coffee b/src/styles-element.coffee index fc3b888cf..eaf7c53c8 100644 --- a/src/styles-element.coffee +++ b/src/styles-element.coffee @@ -1,4 +1,5 @@ {Emitter, CompositeDisposable} = require 'event-kit' +{includeDeprecations} = require 'grim' class StylesElement extends HTMLElement subscriptions: null @@ -18,7 +19,7 @@ class StylesElement extends HTMLElement @styleElementClonesByOriginalElement = new WeakMap attachedCallback: -> - if @context is 'atom-text-editor' + if includeDeprecations and @context is 'atom-text-editor' for styleElement in @children @upgradeDeprecatedSelectors(styleElement) @initialize() @@ -66,7 +67,7 @@ class StylesElement extends HTMLElement @insertBefore(styleElementClone, insertBefore) - if @context is 'atom-text-editor' + if includeDeprecations and @context is 'atom-text-editor' @upgradeDeprecatedSelectors(styleElementClone) @emitter.emit 'did-add-style-element', styleElementClone From bc58574238a377493fa9ebe2c7456d7f388dbeb6 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:41:27 -0700 Subject: [PATCH 07/65] Conditionally include deprecations in Cursor --- src/cursor.coffee | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/cursor.coffee b/src/cursor.coffee index 1656b9dc2..a930666c3 100644 --- a/src/cursor.coffee +++ b/src/cursor.coffee @@ -39,13 +39,13 @@ class Cursor extends Model textChanged: textChanged cursor: this - @emit 'moved', movedEvent + @emit 'moved', movedEvent if Grim.includeDeprecations @emitter.emit 'did-change-position', movedEvent @editor.cursorMoved(movedEvent) @marker.onDidDestroy => @destroyed = true @editor.removeCursor(this) - @emit 'destroyed' + @emit 'destroyed' if Grim.includeDeprecations @emitter.emit 'did-destroy' @emitter.dispose() @@ -89,6 +89,8 @@ class Cursor extends Model @emitter.on 'did-change-visibility', callback on: (eventName) -> + return unless Grim.includeDeprecations + switch eventName when 'moved' Grim.deprecate("Use Cursor::onDidChangePosition instead") @@ -222,9 +224,6 @@ class Cursor extends Model # Returns a {ScopeDescriptor} getScopeDescriptor: -> @editor.scopeDescriptorForBufferPosition(@getBufferPosition()) - getScopes: -> - Grim.deprecate 'Use Cursor::getScopeDescriptor() instead' - @getScopeDescriptor().getScopesArray() # Public: Returns true if this cursor has no non-whitespace characters before # its current position. @@ -476,10 +475,6 @@ class Cursor extends Model endOfWordPosition or currentBufferPosition - getMoveNextWordBoundaryBufferPosition: (options) -> - Grim.deprecate 'Use `::getNextWordBoundaryBufferPosition(options)` instead' - @getNextWordBoundaryBufferPosition(options) - # Public: Retrieves the buffer position of where the current word starts. # # * `options` (optional) An {Object} with the following keys: @@ -593,7 +588,7 @@ class Cursor extends Model setVisible: (visible) -> if @visible != visible @visible = visible - @emit 'visibility-changed', @visible + @emit 'visibility-changed', @visible if Grim.includeDeprecations @emitter.emit 'did-change-visibility', @visible # Public: Returns the visibility of the cursor. @@ -686,3 +681,12 @@ class Cursor extends Model position = range.start stop() position + +if Grim.includeDeprecations + Cursor::getScopes = -> + Grim.deprecate 'Use Cursor::getScopeDescriptor() instead' + @getScopeDescriptor().getScopesArray() + + Cursor::getMoveNextWordBoundaryBufferPosition = (options) -> + Grim.deprecate 'Use `::getNextWordBoundaryBufferPosition(options)` instead' + @getNextWordBoundaryBufferPosition(options) From 4884e32a3df1261296aa276ac12764e530628664 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:41:40 -0700 Subject: [PATCH 08/65] Conditionally include deprecations in ContextMenuManager --- src/context-menu-manager.coffee | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/context-menu-manager.coffee b/src/context-menu-manager.coffee index ed91f5e6c..69caa5d6d 100644 --- a/src/context-menu-manager.coffee +++ b/src/context-menu-manager.coffee @@ -101,25 +101,26 @@ class ContextMenuManager # with the following argument: # * `event` The click event that deployed the context menu. add: (itemsBySelector) -> - # Detect deprecated file path as first argument - if itemsBySelector? and typeof itemsBySelector isnt 'object' - Grim.deprecate """ - ContextMenuManager::add has changed to take a single object as its - argument. Please see - https://atom.io/docs/api/latest/ContextMenuManager for more info. - """ - itemsBySelector = arguments[1] - devMode = arguments[2]?.devMode - - # Detect deprecated format for items object - for key, value of itemsBySelector - unless _.isArray(value) + if Grim.includeDeprecations + # Detect deprecated file path as first argument + if itemsBySelector? and typeof itemsBySelector isnt 'object' Grim.deprecate """ ContextMenuManager::add has changed to take a single object as its argument. Please see https://atom.io/docs/api/latest/ContextMenuManager for more info. """ - itemsBySelector = @convertLegacyItemsBySelector(itemsBySelector, devMode) + itemsBySelector = arguments[1] + devMode = arguments[2]?.devMode + + # Detect deprecated format for items object + for key, value of itemsBySelector + unless _.isArray(value) + Grim.deprecate """ + ContextMenuManager::add has changed to take a single object as its + argument. Please see + https://atom.io/docs/api/latest/ContextMenuManager for more info. + """ + itemsBySelector = @convertLegacyItemsBySelector(itemsBySelector, devMode) addedItemSets = [] From 2d9eaa5c7529210c575189421e15621d961b2fe0 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:45:18 -0700 Subject: [PATCH 09/65] Conditionally include deprecations in Decoration --- src/decoration.coffee | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/decoration.coffee b/src/decoration.coffee index cbf649473..92316042c 100644 --- a/src/decoration.coffee +++ b/src/decoration.coffee @@ -30,7 +30,6 @@ nextId = -> idCounter++ # the marker. module.exports = class Decoration - EmitterMixin.includeInto(this) # Private: Check if the `decorationProperties.type` matches `type` # @@ -123,9 +122,6 @@ class Decoration # Essential: Returns the {Decoration}'s properties. getProperties: -> @properties - getParams: -> - Grim.deprecate 'Use Decoration::getProperties instead' - @getProperties() # Essential: Update the marker with new Properties. Allows you to change the decoration's class. # @@ -143,9 +139,6 @@ class Decoration @properties.id = @id @emit 'updated', {oldParams: oldProperties, newParams: newProperties} @emitter.emit 'did-change-properties', {oldProperties, newProperties} - update: (newProperties) -> - Grim.deprecate 'Use Decoration::setProperties instead' - @setProperties(newProperties) ### Section: Private methods @@ -171,7 +164,10 @@ class Decoration return @flashQueue.shift() if @flashQueue?.length > 0 null - on: (eventName) -> +if Grim.includeDeprecations + EmitterMixin.includeInto(Decoration) + + Decoration::on = (eventName) -> switch eventName when 'updated' Grim.deprecate 'Use Decoration::onDidChangeProperties instead' @@ -183,3 +179,11 @@ class Decoration Grim.deprecate 'Decoration::on is deprecated. Use event subscription methods instead.' EmitterMixin::on.apply(this, arguments) + + Decoration::getParams = -> + Grim.deprecate 'Use Decoration::getProperties instead' + @getProperties() + + Decoration::update = -> (newProperties) -> + Grim.deprecate 'Use Decoration::setProperties instead' + @setProperties(newProperties) From 1fdbd4db3fc9788466d844432958beb50c8018c3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:46:00 -0700 Subject: [PATCH 10/65] Conditionally include deprecations in DeserializerManager --- src/deserializer-manager.coffee | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/deserializer-manager.coffee b/src/deserializer-manager.coffee index 40c5ea7f3..4efc71ec5 100644 --- a/src/deserializer-manager.coffee +++ b/src/deserializer-manager.coffee @@ -37,11 +37,6 @@ class DeserializerManager delete @deserializers[deserializer.name] for deserializer in deserializers return - remove: (classes...) -> - Grim.deprecate("Call .dispose() on the Disposable return from ::add instead") - delete @deserializers[name] for {name} in classes - return - # Public: Deserialize the state and params. # # * `state` The state {Object} to deserialize. @@ -65,3 +60,9 @@ class DeserializerManager name = state.get?('deserializer') ? state.deserializer @deserializers[name] + +if Grim.includeDeprecations + DeserializerManager::remove = (classes...) -> + Grim.deprecate("Call .dispose() on the Disposable return from ::add instead") + delete @deserializers[name] for {name} in classes + return From 15c48c5388a5e7ecfb0ed6a40693873d3a88eb67 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:49:44 -0700 Subject: [PATCH 11/65] Conditionally include deprecations in DisplayBuffer --- src/display-buffer.coffee | 69 ++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index 6ec4ce859..aef36fc99 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -151,38 +151,11 @@ class DisplayBuffer extends Model onDidUpdateMarkers: (callback) -> @emitter.on 'did-update-markers', callback - on: (eventName) -> - switch eventName - when 'changed' - Grim.deprecate("Use DisplayBuffer::onDidChange instead") - when 'grammar-changed' - Grim.deprecate("Use DisplayBuffer::onDidChangeGrammar instead") - when 'soft-wrap-changed' - Grim.deprecate("Use DisplayBuffer::onDidChangeSoftWrap instead") - when 'character-widths-changed' - Grim.deprecate("Use DisplayBuffer::onDidChangeCharacterWidths instead") - when 'decoration-added' - Grim.deprecate("Use DisplayBuffer::onDidAddDecoration instead") - when 'decoration-removed' - Grim.deprecate("Use DisplayBuffer::onDidRemoveDecoration instead") - when 'decoration-changed' - Grim.deprecate("Use decoration.getMarker().onDidChange() instead") - when 'decoration-updated' - Grim.deprecate("Use Decoration::onDidChangeProperties instead") - when 'marker-created' - Grim.deprecate("Use Decoration::onDidCreateMarker instead") - when 'markers-updated' - Grim.deprecate("Use Decoration::onDidUpdateMarkers instead") - else - Grim.deprecate("DisplayBuffer::on is deprecated. Use event subscription methods instead.") - - EmitterMixin::on.apply(this, arguments) - emitDidChange: (eventProperties, refreshMarkers=true) -> if refreshMarkers @pauseMarkerChangeEvents() @refreshMarkerScreenPositions() - @emit 'changed', eventProperties + @emit 'changed', eventProperties if Grim.includeDeprecations @emitter.emit 'did-change', eventProperties @resumeMarkerChangeEvents() @@ -336,7 +309,7 @@ class DisplayBuffer extends Model characterWidthsChanged: -> @computeScrollWidth() - @emit 'character-widths-changed', @scopedCharacterWidthsChangeCount + @emit 'character-widths-changed', @scopedCharacterWidthsChangeCount if Grim.includeDeprecations @emitter.emit 'did-change-character-widths', @scopedCharacterWidthsChangeCount clearScopedCharWidths: -> @@ -454,7 +427,7 @@ class DisplayBuffer extends Model @softWrapped = softWrapped @updateWrappedScreenLines() softWrapped = @isSoftWrapped() - @emit 'soft-wrap-changed', softWrapped + @emit 'soft-wrap-changed', softWrapped if Grim.includeDeprecations @emitter.emit 'did-change-soft-wrapped', softWrapped softWrapped else @@ -938,7 +911,7 @@ class DisplayBuffer extends Model @decorationsByMarkerId[marker.id] ?= [] @decorationsByMarkerId[marker.id].push(decoration) @decorationsById[decoration.id] = decoration - @emit 'decoration-added', decoration + @emit 'decoration-added', decoration if Grim.includeDeprecations @emitter.emit 'did-add-decoration', decoration decoration @@ -950,7 +923,7 @@ class DisplayBuffer extends Model if index > -1 decorations.splice(index, 1) delete @decorationsById[decoration.id] - @emit 'decoration-removed', decoration + @emit 'decoration-removed', decoration if Grim.includeDeprecations @emitter.emit 'did-remove-decoration', decoration delete @decorationsByMarkerId[marker.id] if decorations.length is 0 @@ -1102,7 +1075,7 @@ class DisplayBuffer extends Model resumeMarkerChangeEvents: -> marker.resumeChangeEvents() for marker in @getMarkers() - @emit 'markers-updated' + @emit 'markers-updated' if Grim.includeDeprecations @emitter.emit 'did-update-markers' refreshMarkerScreenPositions: -> @@ -1244,7 +1217,7 @@ class DisplayBuffer extends Model if marker = @getMarker(textBufferMarker.id) # The marker might have been removed in some other handler called before # this one. Only emit when the marker still exists. - @emit 'marker-created', marker + @emit 'marker-created', marker if Grim.includeDeprecations @emitter.emit 'did-create-marker', marker createFoldForMarker: (marker) -> @@ -1253,3 +1226,31 @@ class DisplayBuffer extends Model foldForMarker: (marker) -> @foldsByMarkerId[marker.id] + +if Grim.includeDeprecations + DisplayBuffer::on = (eventName) -> + switch eventName + when 'changed' + Grim.deprecate("Use DisplayBuffer::onDidChange instead") + when 'grammar-changed' + Grim.deprecate("Use DisplayBuffer::onDidChangeGrammar instead") + when 'soft-wrap-changed' + Grim.deprecate("Use DisplayBuffer::onDidChangeSoftWrap instead") + when 'character-widths-changed' + Grim.deprecate("Use DisplayBuffer::onDidChangeCharacterWidths instead") + when 'decoration-added' + Grim.deprecate("Use DisplayBuffer::onDidAddDecoration instead") + when 'decoration-removed' + Grim.deprecate("Use DisplayBuffer::onDidRemoveDecoration instead") + when 'decoration-changed' + Grim.deprecate("Use decoration.getMarker().onDidChange() instead") + when 'decoration-updated' + Grim.deprecate("Use Decoration::onDidChangeProperties instead") + when 'marker-created' + Grim.deprecate("Use Decoration::onDidCreateMarker instead") + when 'markers-updated' + Grim.deprecate("Use Decoration::onDidUpdateMarkers instead") + else + Grim.deprecate("DisplayBuffer::on is deprecated. Use event subscription methods instead.") + + EmitterMixin::on.apply(this, arguments) From efcfcc73a4c414ad899ec2d621604aceb8c27702 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:54:13 -0700 Subject: [PATCH 12/65] Conditionally include deprecations in GitRepository --- src/git-repository.coffee | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/git-repository.coffee b/src/git-repository.coffee index ae10e7459..2fb61bdff 100644 --- a/src/git-repository.coffee +++ b/src/git-repository.coffee @@ -5,7 +5,7 @@ EmitterMixin = require('emissary').Emitter {Emitter, Disposable, CompositeDisposable} = require 'event-kit' fs = require 'fs-plus' GitUtils = require 'git-utils' -{deprecate} = require 'grim' +{includeDeprecations, deprecate} = require 'grim' Task = require './task' @@ -155,16 +155,6 @@ class GitRepository onDidChangeStatuses: (callback) -> @emitter.on 'did-change-statuses', callback - on: (eventName) -> - switch eventName - when 'status-changed' - deprecate 'Use GitRepository::onDidChangeStatus instead' - when 'statuses-changed' - deprecate 'Use GitRepository::onDidChangeStatuses instead' - else - deprecate 'GitRepository::on is deprecated. Use event subscription methods instead.' - EmitterMixin::on.apply(this, arguments) - ### Section: Repository Details ### @@ -252,9 +242,6 @@ class GitRepository # * `path` (optional) {String} path in the repository to get this information # for, only needed if the repository has submodules. getOriginURL: (path) -> @getConfigValue('remote.origin.url', path) - getOriginUrl: (path) -> - deprecate 'Use ::getOriginURL instead.' - @getOriginURL(path) # Public: Returns the upstream branch for the current HEAD, or null if there # is no upstream branch for the current HEAD. @@ -492,3 +479,18 @@ class GitRepository unless statusesUnchanged @emit 'statuses-changed' @emitter.emit 'did-change-statuses' + +if includeDeprecations + GitRepository::on = (eventName) -> + switch eventName + when 'status-changed' + deprecate 'Use GitRepository::onDidChangeStatus instead' + when 'statuses-changed' + deprecate 'Use GitRepository::onDidChangeStatuses instead' + else + deprecate 'GitRepository::on is deprecated. Use event subscription methods instead.' + EmitterMixin::on.apply(this, arguments) + + GitRepository::getOriginUrl = (path) -> + deprecate 'Use ::getOriginURL instead.' + @getOriginURL(path) From 00b31c5c6e1cab3ae55fd7c21a325cc3c320712a Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:54:54 -0700 Subject: [PATCH 13/65] Conditionally include Emitter mixin --- src/git-repository.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/git-repository.coffee b/src/git-repository.coffee index 2fb61bdff..a14869655 100644 --- a/src/git-repository.coffee +++ b/src/git-repository.coffee @@ -1,7 +1,6 @@ {basename, join} = require 'path' _ = require 'underscore-plus' -EmitterMixin = require('emissary').Emitter {Emitter, Disposable, CompositeDisposable} = require 'event-kit' fs = require 'fs-plus' GitUtils = require 'git-utils' @@ -43,8 +42,6 @@ Task = require './task' # ``` module.exports = class GitRepository - EmitterMixin.includeInto(this) - @exists: (path) -> if git = @open(path) git.destroy() @@ -481,6 +478,9 @@ class GitRepository @emitter.emit 'did-change-statuses' if includeDeprecations + EmitterMixin = require('emissary').Emitter + EmitterMixin.includeInto(GitRepository) + GitRepository::on = (eventName) -> switch eventName when 'status-changed' From d799254cbbfee658d842a0d560d7c42e5692e231 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 12:59:27 -0700 Subject: [PATCH 14/65] Conditionally include deprecations in Marker --- src/marker.coffee | 60 +++++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/src/marker.coffee b/src/marker.coffee index 962ebb7e7..798dcc12d 100644 --- a/src/marker.coffee +++ b/src/marker.coffee @@ -1,7 +1,5 @@ {Range} = require 'text-buffer' _ = require 'underscore-plus' -{Subscriber} = require 'emissary' -EmitterMixin = require('emissary').Emitter {Emitter} = require 'event-kit' Grim = require 'grim' @@ -45,9 +43,6 @@ Grim = require 'grim' # See {TextEditor::markBufferRange} for usage. module.exports = class Marker - EmitterMixin.includeInto(this) - Subscriber.includeInto(this) - bufferMarkerSubscription: null oldHeadBufferPosition: null oldHeadScreenPosition: null @@ -118,17 +113,6 @@ class Marker onDidDestroy: (callback) -> @emitter.on 'did-destroy', callback - on: (eventName) -> - switch eventName - when 'changed' - Grim.deprecate("Use Marker::onDidChange instead") - when 'destroyed' - Grim.deprecate("Use Marker::onDidDestroy instead") - else - Grim.deprecate("Marker::on is deprecated. Use documented event subscription methods instead.") - - EmitterMixin::on.apply(this, arguments) - ### Section: Marker Details ### @@ -161,9 +145,6 @@ class Marker # the marker. getProperties: -> @bufferMarker.getProperties() - getAttributes: -> - Grim.deprecate 'Use Marker::getProperties instead' - @getProperties() # Essential: Merges an {Object} containing new properties into the marker's # existing properties. @@ -171,16 +152,10 @@ class Marker # * `properties` {Object} setProperties: (properties) -> @bufferMarker.setProperties(properties) - setAttributes: (properties) -> - Grim.deprecate 'Use Marker::getProperties instead' - @setProperties(properties) matchesProperties: (attributes) -> attributes = @displayBuffer.translateToBufferMarkerParams(attributes) @bufferMarker.matchesParams(attributes) - matchesAttributes: (attributes) -> - Grim.deprecate 'Use Marker::matchesProperties instead' - @matchesProperties(attributes) ### Section: Comparing to other markers @@ -344,7 +319,7 @@ class Marker destroyed: -> delete @displayBuffer.markers[@id] - @emit 'destroyed' + @emit 'destroyed' if Grim.includeDeprecations @emitter.emit 'did-destroy' @emitter.dispose() @@ -375,7 +350,7 @@ class Marker if @deferredChangeEvents? @deferredChangeEvents.push(changeEvent) else - @emit 'changed', changeEvent + @emit 'changed', changeEvent if Grim.includeDeprecations @emitter.emit 'did-change', changeEvent @oldHeadBufferPosition = newHeadBufferPosition @@ -392,9 +367,38 @@ class Marker @deferredChangeEvents = null for event in deferredChangeEvents - @emit 'changed', event + @emit 'changed', event if Grim.includeDeprecations @emitter.emit 'did-change', event return getPixelRange: -> @displayBuffer.pixelRangeForScreenRange(@getScreenRange(), false) + +if Grim.includeDeprecations + {Subscriber} = require 'emissary' + EmitterMixin = require('emissary').Emitter + EmitterMixin.includeInto(Marker) + Subscriber.includeInto(Marker) + + Marker::on = (eventName) -> + switch eventName + when 'changed' + Grim.deprecate("Use Marker::onDidChange instead") + when 'destroyed' + Grim.deprecate("Use Marker::onDidDestroy instead") + else + Grim.deprecate("Marker::on is deprecated. Use documented event subscription methods instead.") + + EmitterMixin::on.apply(this, arguments) + + Marker::getAttributes = -> + Grim.deprecate 'Use Marker::getProperties instead' + @getProperties() + + Marker::setAttributes = (properties) -> + Grim.deprecate 'Use Marker::setProperties instead' + @setProperties(properties) + + Marker::matchesAttributes = (attributes) -> + Grim.deprecate 'Use Marker::matchesProperties instead' + @matchesProperties(attributes) From 729fe91e36837c228fa104a5aec9a6e8d5afeca1 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 13:02:11 -0700 Subject: [PATCH 15/65] Conditionally include deprecations in Selection --- src/selection.coffee | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/selection.coffee b/src/selection.coffee index ea4b54034..2a2d1c98c 100644 --- a/src/selection.coffee +++ b/src/selection.coffee @@ -63,18 +63,6 @@ class Selection extends Model onDidDestroy: (callback) -> @emitter.on 'did-destroy', callback - on: (eventName) -> - switch eventName - when 'screen-range-changed' - Grim.deprecate("Use Selection::onDidChangeRange instead. Call ::getScreenRange() yourself in your callback if you need the range.") - when 'destroyed' - Grim.deprecate("Use Selection::onDidDestroy instead.") - else - Grim.deprecate("Selection::on is deprecated. Use documented event subscription methods instead.") - - super - - ### Section: Managing the selection range ### @@ -416,16 +404,6 @@ class Selection extends Model @selectLeft() if @isEmpty() and not @editor.isFoldedAtScreenRow(@cursor.getScreenRow()) @deleteSelectedText() - # Deprecated: Use {::deleteToBeginningOfWord} instead. - backspaceToBeginningOfWord: -> - deprecate("Use Selection::deleteToBeginningOfWord() instead") - @deleteToBeginningOfWord() - - # Deprecated: Use {::deleteToBeginningOfLine} instead. - backspaceToBeginningOfLine: -> - deprecate("Use Selection::deleteToBeginningOfLine() instead") - @deleteToBeginningOfLine() - # Public: Removes from the start of the selection to the beginning of the # current word if the selection is empty otherwise it deletes the selection. deleteToBeginningOfWord: -> @@ -789,3 +767,25 @@ class Selection extends Model getGoalScreenRange: -> if goalScreenRange = @marker.getProperties().goalScreenRange Range.fromObject(goalScreenRange) + +if Grim.includeDeprecations + Selection::on = (eventName) -> + switch eventName + when 'screen-range-changed' + Grim.deprecate("Use Selection::onDidChangeRange instead. Call ::getScreenRange() yourself in your callback if you need the range.") + when 'destroyed' + Grim.deprecate("Use Selection::onDidDestroy instead.") + else + Grim.deprecate("Selection::on is deprecated. Use documented event subscription methods instead.") + + super + + # Deprecated: Use {::deleteToBeginningOfWord} instead. + Selection::backspaceToBeginningOfWord = -> + deprecate("Use Selection::deleteToBeginningOfWord() instead") + @deleteToBeginningOfWord() + + # Deprecated: Use {::deleteToBeginningOfLine} instead. + Selection::backspaceToBeginningOfLine = -> + deprecate("Use Selection::deleteToBeginningOfLine() instead") + @deleteToBeginningOfLine() From baca3284f4be42cead249ba381bfa4118baa830f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 13:03:10 -0700 Subject: [PATCH 16/65] Conditionally include deprecations in TextEditorComponent --- src/text-editor-component.coffee | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index 071d39271..c2babdca4 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -747,16 +747,6 @@ class TextEditorComponent setShowIndentGuide: (showIndentGuide) -> atom.config.set("editor.showIndentGuide", showIndentGuide) - # Deprecated - setInvisibles: (invisibles={}) -> - grim.deprecate "Use config.set('editor.invisibles', invisibles) instead" - atom.config.set('editor.invisibles', invisibles) - - # Deprecated - setShowInvisibles: (showInvisibles) -> - grim.deprecate "Use config.set('editor.showInvisibles', showInvisibles) instead" - atom.config.set('editor.showInvisibles', showInvisibles) - setScrollSensitivity: (scrollSensitivity) => if scrollSensitivity = parseInt(scrollSensitivity) @scrollSensitivity = Math.abs(scrollSensitivity) / 100 @@ -789,3 +779,14 @@ class TextEditorComponent updateParentViewMiniClass: -> @hostElement.classList.toggle('mini', @editor.isMini()) @rootElement.classList.toggle('mini', @editor.isMini()) + +if grim.includeDeprecations + # Deprecated + TextEditorComponent::setInvisibles = (invisibles={}) -> + grim.deprecate "Use config.set('editor.invisibles', invisibles) instead" + atom.config.set('editor.invisibles', invisibles) + + # Deprecated + TextEditorComponent::setShowInvisibles = (showInvisibles) -> + grim.deprecate "Use config.set('editor.showInvisibles', showInvisibles) instead" + atom.config.set('editor.showInvisibles', showInvisibles) From f91630553870b576ddf261217d29a95dada0ee0f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 13:06:54 -0700 Subject: [PATCH 17/65] Conditionally include deprecations in TokenizedBuffer --- src/tokenized-buffer.coffee | 40 +++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/tokenized-buffer.coffee b/src/tokenized-buffer.coffee index cf7d15c28..303906ada 100644 --- a/src/tokenized-buffer.coffee +++ b/src/tokenized-buffer.coffee @@ -1,6 +1,5 @@ _ = require 'underscore-plus' {Model} = require 'theorist' -EmitterMixin = require('emissary').Emitter {Emitter} = require 'event-kit' {Point, Range} = require 'text-buffer' Serializable = require 'serializable' @@ -56,19 +55,6 @@ class TokenizedBuffer extends Model onDidTokenize: (callback) -> @emitter.on 'did-tokenize', callback - on: (eventName) -> - switch eventName - when 'changed' - Grim.deprecate("Use TokenizedBuffer::onDidChange instead") - when 'grammar-changed' - Grim.deprecate("Use TokenizedBuffer::onDidChangeGrammar instead") - when 'tokenized' - Grim.deprecate("Use TokenizedBuffer::onDidTokenize instead") - else - Grim.deprecate("TokenizedBuffer::on is deprecated. Use event subscription methods instead.") - - EmitterMixin::on.apply(this, arguments) - grammarAddedOrUpdated: (grammar) => if grammar.injectionSelector? @retokenizeLines() if @hasTokenForSelector(grammar.injectionSelector) @@ -94,7 +80,7 @@ class TokenizedBuffer extends Model @retokenizeLines() - @emit 'grammar-changed', grammar + @emit 'grammar-changed', grammar if Grim.includeDeprecations @emitter.emit 'did-change-grammar', grammar reloadGrammar: -> @@ -116,7 +102,7 @@ class TokenizedBuffer extends Model @invalidateRow(0) @fullyTokenized = false event = {start: 0, end: lastRow, delta: 0} - @emit 'changed', event + @emit 'changed', event if Grim.includeDeprecations @emitter.emit 'did-change', event setVisible: (@visible) -> @@ -178,7 +164,7 @@ class TokenizedBuffer extends Model [startRow, endRow] = @updateFoldableStatus(startRow, endRow) event = {start: startRow, end: endRow, delta: 0} - @emit 'changed', event + @emit 'changed', event if Grim.includeDeprecations @emitter.emit 'did-change', event if @firstInvalidRow()? @@ -188,7 +174,7 @@ class TokenizedBuffer extends Model markTokenizationComplete: -> unless @fullyTokenized - @emit 'tokenized' + @emit 'tokenized' if Grim.includeDeprecations @emitter.emit 'did-tokenize' @fullyTokenized = true @@ -235,7 +221,7 @@ class TokenizedBuffer extends Model end -= delta event = { start, end, delta, bufferChange: e } - @emit 'changed', event + @emit 'changed', event if Grim.includeDeprecations @emitter.emit 'did-change', event retokenizeWhitespaceRowsIfIndentLevelChanged: (row, increment) -> @@ -470,3 +456,19 @@ class TokenizedBuffer extends Model line = @tokenizedLineForRow(row).text console.log row, line, line.length return + +if Grim.includeDeprecations + EmitterMixin = require('emissary').Emitter + + TokenizedBuffer::on = (eventName) -> + switch eventName + when 'changed' + Grim.deprecate("Use TokenizedBuffer::onDidChange instead") + when 'grammar-changed' + Grim.deprecate("Use TokenizedBuffer::onDidChangeGrammar instead") + when 'tokenized' + Grim.deprecate("Use TokenizedBuffer::onDidTokenize instead") + else + Grim.deprecate("TokenizedBuffer::on is deprecated. Use event subscription methods instead.") + + EmitterMixin::on.apply(this, arguments) From 8375526ca658aa76e58f522c5cd91fac0b062760 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 13:23:08 -0700 Subject: [PATCH 18/65] Use CompositeDisposable instead of Subscriber mixin --- src/marker.coffee | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/marker.coffee b/src/marker.coffee index 798dcc12d..bd48eb48c 100644 --- a/src/marker.coffee +++ b/src/marker.coffee @@ -1,6 +1,6 @@ {Range} = require 'text-buffer' _ = require 'underscore-plus' -{Emitter} = require 'event-kit' +{CompositeDisposable, Emitter} = require 'event-kit' Grim = require 'grim' # Essential: Represents a buffer annotation that remains logically stationary @@ -57,6 +57,7 @@ class Marker constructor: ({@bufferMarker, @displayBuffer}) -> @emitter = new Emitter + @disposables = new CompositeDisposable @id = @bufferMarker.id @oldHeadBufferPosition = @getHeadBufferPosition() @oldHeadScreenPosition = @getHeadScreenPosition() @@ -64,14 +65,14 @@ class Marker @oldTailScreenPosition = @getTailScreenPosition() @wasValid = @isValid() - @subscribe @bufferMarker.onDidDestroy => @destroyed() - @subscribe @bufferMarker.onDidChange (event) => @notifyObservers(event) + @disposables.add @bufferMarker.onDidDestroy => @destroyed() + @disposables.add @bufferMarker.onDidChange (event) => @notifyObservers(event) # Essential: Destroys the marker, causing it to emit the 'destroyed' event. Once # destroyed, a marker cannot be restored by undo/redo operations. destroy: -> @bufferMarker.destroy() - @unsubscribe() + @disposables.dispose() # Essential: Creates and returns a new {Marker} with the same properties as this # marker. @@ -375,10 +376,8 @@ class Marker @displayBuffer.pixelRangeForScreenRange(@getScreenRange(), false) if Grim.includeDeprecations - {Subscriber} = require 'emissary' EmitterMixin = require('emissary').Emitter EmitterMixin.includeInto(Marker) - Subscriber.includeInto(Marker) Marker::on = (eventName) -> switch eventName From f7c4fa4bccdc5ae1f9d67de5d31f240591b14243 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 13:24:28 -0700 Subject: [PATCH 19/65] Only do legacy emits when deprecations are included --- src/git-repository.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/git-repository.coffee b/src/git-repository.coffee index a14869655..0ae4abf3a 100644 --- a/src/git-repository.coffee +++ b/src/git-repository.coffee @@ -313,7 +313,7 @@ class GitRepository else delete @statuses[relativePath] if currentPathStatus isnt pathStatus - @emit 'status-changed', path, pathStatus + @emit 'status-changed', path, pathStatus if includeDeprecations @emitter.emit 'did-change-status', {path, pathStatus} pathStatus @@ -474,7 +474,7 @@ class GitRepository submoduleRepo.upstream = submodules[submodulePath]?.upstream ? {ahead: 0, behind: 0} unless statusesUnchanged - @emit 'statuses-changed' + @emit 'statuses-changed' if includeDeprecations @emitter.emit 'did-change-statuses' if includeDeprecations From 6a6036db580722b24faf437ff7b785035121f801 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 13:25:51 -0700 Subject: [PATCH 20/65] Add command for open dev and api preview modes --- src/browser/atom-application.coffee | 1 + src/workspace-element.coffee | 1 + 2 files changed, 2 insertions(+) diff --git a/src/browser/atom-application.coffee b/src/browser/atom-application.coffee index fb9085416..ec4fe650a 100644 --- a/src/browser/atom-application.coffee +++ b/src/browser/atom-application.coffee @@ -159,6 +159,7 @@ class AtomApplication @on 'application:open-dev', -> @promptForPathToOpen('all', devMode: true) @on 'application:open-safe', -> @promptForPathToOpen('all', safeMode: true) @on 'application:open-api-preview', -> @promptForPathToOpen('all', apiPreviewMode: true) + @on 'application:open-dev-api-preview', -> @promptForPathToOpen('all', {apiPreviewMode: true, devMode: true}) @on 'application:inspect', ({x,y, atomWindow}) -> atomWindow ?= @focusedWindow() atomWindow?.browserWindow.inspectElement(x, y) diff --git a/src/workspace-element.coffee b/src/workspace-element.coffee index 5afe2cf0e..f2805ff08 100644 --- a/src/workspace-element.coffee +++ b/src/workspace-element.coffee @@ -137,6 +137,7 @@ atom.commands.add 'atom-workspace', 'application:open-dev': -> ipc.send('command', 'application:open-dev') 'application:open-safe': -> ipc.send('command', 'application:open-safe') 'application:open-api-preview': -> ipc.send('command', 'application:open-api-preview') + 'application:open-dev-api-preview': -> ipc.send('command', 'application:open-dev-api-preview') 'application:minimize': -> ipc.send('command', 'application:minimize') 'application:zoom': -> ipc.send('command', 'application:zoom') 'application:bring-all-windows-to-front': -> ipc.send('command', 'application:bring-all-windows-to-front') From 914c1b55e51d8b411b86a06a85d15b953eecb520 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 13:28:56 -0700 Subject: [PATCH 21/65] Pass through apiPreviewMode flag --- 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 ec4fe650a..45c0c8b5c 100644 --- a/src/browser/atom-application.coffee +++ b/src/browser/atom-application.coffee @@ -503,9 +503,9 @@ class AtomApplication # :safeMode - A Boolean which controls whether any newly opened windows # should be in safe mode or not. # :window - An {AtomWindow} to use for opening a selected file path. - promptForPathToOpen: (type, {devMode, safeMode, window}) -> + promptForPathToOpen: (type, {devMode, safeMode, apiPreviewMode, window}) -> @promptForPath type, (pathsToOpen) => - @openPaths({pathsToOpen, devMode, safeMode, window}) + @openPaths({pathsToOpen, devMode, safeMode, apiPreviewMode, window}) promptForPath: (type, callback) -> properties = From f34b6c9e95f8d778dc7b2f1258293ff8831da200 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 14:25:37 -0700 Subject: [PATCH 22/65] Conditionally include deprecations in GrammarRegistry --- src/grammar-registry.coffee | 42 ++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/src/grammar-registry.coffee b/src/grammar-registry.coffee index 911ffafbe..b95b561da 100644 --- a/src/grammar-registry.coffee +++ b/src/grammar-registry.coffee @@ -1,14 +1,6 @@ -_ = require 'underscore-plus' -{deprecate} = require 'grim' -{specificity} = require 'clear-cut' -{Subscriber} = require 'emissary' {Emitter} = require 'event-kit' +{includeDeprecations, deprecate} = require 'grim' FirstMate = require 'first-mate' -{ScopeSelector} = FirstMate -ScopedPropertyStore = require 'scoped-property-store' -PropertyAccessors = require 'property-accessors' - -{$, $$} = require './space-pen-extensions' Token = require './token' # Extended: Syntax class holding the grammars used for tokenizing. @@ -19,16 +11,12 @@ Token = require './token' # language-specific comment regexes. See {::getProperty} for more details. module.exports = class GrammarRegistry extends FirstMate.GrammarRegistry - PropertyAccessors.includeInto(this) - Subscriber.includeInto(this) - @deserialize: ({grammarOverridesByPath}) -> grammarRegistry = new GrammarRegistry() grammarRegistry.grammarOverridesByPath = grammarOverridesByPath grammarRegistry atom.deserializers.add(this) - atom.deserializers.add(name: 'Syntax', deserialize: @deserialize) # Support old serialization constructor: -> super(maxTokensPerLine: 100) @@ -49,28 +37,38 @@ class GrammarRegistry extends FirstMate.GrammarRegistry # Returns a {Grammar}, never null. selectGrammar: (filePath, fileContents) -> super + clearObservers: -> + @off() if includeDeprecations + @emitter = new Emitter + +if includeDeprecations + PropertyAccessors = require 'property-accessors' + PropertyAccessors.includeInto(GrammarRegistry) + + {Subscriber} = require 'emissary' + Subscriber.includeInto(GrammarRegistry) + + # Support old serialization + atom.deserializers.add(name: 'Syntax', deserialize: GrammarRegistry.deserialize) + # Deprecated: Used by settings-view to display snippets for packages - @::accessor 'propertyStore', -> + GrammarRegistry::accessor 'propertyStore', -> deprecate("Do not use this. Use a public method on Config") atom.config.scopedSettingsStore - addProperties: (args...) -> + GrammarRegistry::addProperties = (args...) -> args.unshift(null) if args.length == 2 deprecate 'Consider using atom.config.set() instead. A direct (but private) replacement is available at atom.config.addScopedSettings().' atom.config.addScopedSettings(args...) - removeProperties: (name) -> + GrammarRegistry::removeProperties = (name) -> deprecate 'atom.config.addScopedSettings() now returns a disposable you can call .dispose() on' atom.config.scopedSettingsStore.removeProperties(name) - getProperty: (scope, keyPath) -> + GrammarRegistry::getProperty = (scope, keyPath) -> deprecate 'A direct (but private) replacement is available at atom.config.getRawScopedValue().' atom.config.getRawScopedValue(scope, keyPath) - propertiesForScope: (scope, keyPath) -> + GrammarRegistry::propertiesForScope = (scope, keyPath) -> deprecate 'Use atom.config.getAll instead.' atom.config.settingsForScopeDescriptor(scope, keyPath) - - clearObservers: -> - @off() - @emitter = new Emitter From b9570be338eda576cede3b1d1987b3d5b58e74c3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 14:36:12 -0700 Subject: [PATCH 23/65] Conditionally include deprecations in PackageManager --- src/package-manager.coffee | 48 ++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/src/package-manager.coffee b/src/package-manager.coffee index 444497c5b..7399eaab1 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -1,7 +1,6 @@ path = require 'path' _ = require 'underscore-plus' -EmitterMixin = require('emissary').Emitter {Emitter} = require 'event-kit' fs = require 'fs-plus' Q = require 'q' @@ -28,8 +27,6 @@ ThemePackage = require './theme-package' # settings and also by calling `enablePackage()/disablePackage()`. module.exports = class PackageManager - EmitterMixin.includeInto(this) - constructor: ({configDirPath, @devMode, safeMode, @resourcePath}) -> @emitter = new Emitter @packageDirPaths = [] @@ -57,11 +54,6 @@ class PackageManager # Returns a {Disposable} on which `.dispose()` can be called to unsubscribe. onDidLoadInitialPackages: (callback) -> @emitter.on 'did-load-initial-packages', callback - @emitter.on 'did-load-all', callback # TODO: Remove once deprecated pre-1.0 APIs are gone - - onDidLoadAll: (callback) -> - Grim.deprecate("Use `::onDidLoadInitialPackages` instead.") - @onDidLoadInitialPackages(callback) # Public: Invoke the given callback when all packages have been activated. # @@ -70,11 +62,6 @@ class PackageManager # Returns a {Disposable} on which `.dispose()` can be called to unsubscribe. onDidActivateInitialPackages: (callback) -> @emitter.on 'did-activate-initial-packages', callback - @emitter.on 'did-activate-all', callback # TODO: Remove once deprecated pre-1.0 APIs are gone - - onDidActivateAll: (callback) -> - Grim.deprecate("Use `::onDidActivateInitialPackages` instead.") - @onDidActivateInitialPackages(callback) # Public: Invoke the given callback when a package is activated. # @@ -112,16 +99,6 @@ class PackageManager onDidUnloadPackage: (callback) -> @emitter.on 'did-unload-package', callback - on: (eventName) -> - switch eventName - when 'loaded' - Grim.deprecate 'Use PackageManager::onDidLoadInitialPackages instead' - when 'activated' - Grim.deprecate 'Use PackageManager::onDidActivateInitialPackages instead' - else - Grim.deprecate 'PackageManager::on is deprecated. Use event subscription methods instead.' - EmitterMixin::on.apply(this, arguments) - ### Section: Package system data ### @@ -331,7 +308,7 @@ class PackageManager packagePaths = packagePaths.filter (packagePath) => not @isPackageDisabled(path.basename(packagePath)) packagePaths = _.uniq packagePaths, (packagePath) -> path.basename(packagePath) @loadPackage(packagePath) for packagePath in packagePaths - @emit 'loaded' + @emit 'loaded' if Grim.includeDeprecations @emitter.emit 'did-load-initial-packages' loadPackage: (nameOrPath) -> @@ -380,7 +357,7 @@ class PackageManager packages = @getLoadedPackagesForTypes(types) promises = promises.concat(activator.activatePackages(packages)) Q.all(promises).then => - @emit 'activated' + @emit 'activated' if Grim.includeDeprecations @emitter.emit 'did-activate-initial-packages' # another type of package manager can handle other package types. @@ -432,3 +409,24 @@ class PackageManager stack = "#{error.stack}\n at #{metadataPath}:1:1" message = "Failed to load the #{path.basename(packagePath)} package" atom.notifications.addError(message, {stack, detail, dismissable: true}) + +if Grim.includeDeprecations + PackageManager::onDidLoadAll = (callback) -> + Grim.deprecate("Use `::onDidLoadInitialPackages` instead.") + @onDidLoadInitialPackages(callback) + + PackageManager::onDidActivateAll = (callback) -> + Grim.deprecate("Use `::onDidActivateInitialPackages` instead.") + @onDidActivateInitialPackages(callback) + + EmitterMixin = require('emissary').Emitter + EmitterMixin.includeInto(PackageManager) + PackageManager::on = (eventName) -> + switch eventName + when 'loaded' + Grim.deprecate 'Use PackageManager::onDidLoadInitialPackages instead' + when 'activated' + Grim.deprecate 'Use PackageManager::onDidActivateInitialPackages instead' + else + Grim.deprecate 'PackageManager::on is deprecated. Use event subscription methods instead.' + EmitterMixin::on.apply(this, arguments) From 484e78f09605c161c5f756fe66c460afcf0dec50 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 14:39:26 -0700 Subject: [PATCH 24/65] Conditionally include deprecations in Package --- src/package.coffee | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/src/package.coffee b/src/package.coffee index ebc771123..7b590aab4 100644 --- a/src/package.coffee +++ b/src/package.coffee @@ -4,10 +4,9 @@ _ = require 'underscore-plus' async = require 'async' CSON = require 'season' fs = require 'fs-plus' -EmitterMixin = require('emissary').Emitter {Emitter, CompositeDisposable} = require 'event-kit' Q = require 'q' -{deprecate} = require 'grim' +{includeDeprecations, deprecate} = require 'grim' ModuleCache = require './module-cache' ScopedProperties = require './scoped-properties' @@ -21,8 +20,6 @@ catch error # stylesheets, keymaps, grammar, editor properties, and menus. module.exports = class Package - EmitterMixin.includeInto(this) - @isBundledPackagePath: (packagePath) -> if atom.packages.devMode return false unless atom.packages.resourcePath.startsWith("#{process.resourcesPath}#{path.sep}") @@ -43,11 +40,11 @@ class Package metadata ?= {} metadata.name = packageName - if metadata.stylesheetMain? + if includeDeprecations and metadata.stylesheetMain? deprecate("Use the `mainStyleSheet` key instead of `stylesheetMain` in the `package.json` of `#{packageName}`", {packageName}) metadata.mainStyleSheet = metadata.stylesheetMain - if metadata.stylesheets? + if includeDeprecations and metadata.stylesheets? deprecate("Use the `styleSheets` key instead of `stylesheets` in the `package.json` of `#{packageName}`", {packageName}) metadata.styleSheets = metadata.stylesheets @@ -87,14 +84,6 @@ class Package onDidDeactivate: (callback) -> @emitter.on 'did-deactivate', callback - on: (eventName) -> - switch eventName - when 'deactivated' - deprecate 'Use Package::onDidDeactivate instead' - else - deprecate 'Package::on is deprecated. Use event subscription methods instead.' - EmitterMixin::on.apply(this, arguments) - ### Section: Instance Methods ### @@ -174,7 +163,7 @@ class Package if @mainModule? if @mainModule.config? and typeof @mainModule.config is 'object' atom.config.setSchema @name, {type: 'object', properties: @mainModule.config} - else if @mainModule.configDefaults? and typeof @mainModule.configDefaults is 'object' + else if includeDeprecations and @mainModule.configDefaults? and typeof @mainModule.configDefaults is 'object' deprecate """Use a config schema instead. See the configuration section of https://atom.io/docs/latest/hacking-atom-package-word-count and https://atom.io/docs/api/latest/Config for more details""" @@ -268,7 +257,7 @@ class Package [stylesheetPath, atom.themes.loadStylesheet(stylesheetPath, true)] getStylesheetsPath: -> - if fs.isDirectorySync(path.join(@path, 'stylesheets')) + if includeDeprecations and fs.isDirectorySync(path.join(@path, 'stylesheets')) deprecate("Store package style sheets in the `styles/` directory instead of `stylesheets/` in the `#{@name}` package", packageName: @name) path.join(@path, 'stylesheets') else @@ -339,7 +328,7 @@ class Package deferred = Q.defer() - if fs.isDirectorySync(path.join(@path, 'scoped-properties')) + if includeDeprecations and fs.isDirectorySync(path.join(@path, 'scoped-properties')) settingsDirPath = path.join(@path, 'scoped-properties') deprecate("Store package settings files in the `settings/` directory instead of `scoped-properties/`", packageName: @name) else @@ -467,7 +456,7 @@ class Package else if _.isArray(commands) @activationCommands[selector].push(commands...) - if @metadata.activationEvents? + if includeDeprecations and @metadata.activationEvents? deprecate """ Use `activationCommands` instead of `activationEvents` in your package.json Commands should be grouped by selector as follows: @@ -585,3 +574,15 @@ class Package stack = error.stack ? error atom.notifications.addFatalError(message, {stack, detail, dismissable: true}) + +if includeDeprecations + EmitterMixin = require('emissary').Emitter + EmitterMixin.includeInto(Package) + + Package::on = (eventName) -> + switch eventName + when 'deactivated' + deprecate 'Use Package::onDidDeactivate instead' + else + deprecate 'Package::on is deprecated. Use event subscription methods instead.' + EmitterMixin::on.apply(this, arguments) From 193ab71aca7ad131e00ba6d47640c48140502315 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 14:43:15 -0700 Subject: [PATCH 25/65] Call dispose instead of unsubscribe on marker --- src/display-buffer.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index aef36fc99..27e2ae936 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -1084,7 +1084,7 @@ class DisplayBuffer extends Model return destroyed: -> - marker.unsubscribe() for id, marker of @markers + marker.disposables.dispose() for id, marker of @markers @scopedConfigSubscriptions.dispose() @unsubscribe() @tokenizedBuffer.destroy() From 7a52ef7d0a0a5f5fa9f17e8f2329654398fdc899 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 14:50:55 -0700 Subject: [PATCH 26/65] Use disposables in Atom --- src/atom.coffee | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/atom.coffee b/src/atom.coffee index 49a76481b..ace3245ef 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -7,7 +7,7 @@ shell = require 'shell' _ = require 'underscore-plus' {deprecate, includeDeprecations} = require 'grim' -{Emitter} = require 'event-kit' +{CompositeDisposable, Emitter} = require 'event-kit' {Model} = require 'theorist' fs = require 'fs-plus' {convertStackTrace, convertLine} = require 'coffeestack' @@ -198,6 +198,7 @@ class Atom extends Model # Call .loadOrCreate instead constructor: (@state) -> @emitter = new Emitter + @disposables = new CompositeDisposable {@mode} = @state DeserializerManager = require './deserializer-manager' @deserializers = new DeserializerManager() @@ -232,7 +233,9 @@ class Atom extends Model @emit 'uncaught-error', arguments... @emitter.emit 'did-throw-error', {message, url, line, column, originalError} - @unsubscribe() + @disposables?.dispose() + @disposables = new CompositeDisposable + @setBodyPlatformClass() @loadTime = null @@ -288,7 +291,7 @@ class Atom extends Model deprecate "The atom.syntax global is deprecated. Use atom.grammars instead." @grammars - @subscribe @packages.onDidActivateInitialPackages => @watchThemes() + @disposables.add @packages.onDidActivateInitialPackages => @watchThemes() Project = require './project' TextBuffer = require 'text-buffer' @@ -605,7 +608,7 @@ class Atom extends Model @requireUserInitScript() unless safeMode @menu.update() - @subscribe @config.onDidChange 'core.autoHideMenuBar', ({newValue}) => + @disposables.add @config.onDidChange 'core.autoHideMenuBar', ({newValue}) => @setAutoHideMenuBar(newValue) @setAutoHideMenuBar(true) if @config.get('core.autoHideMenuBar') @@ -755,7 +758,7 @@ class Atom extends Model # Notify the browser project of the window's current project path watchProjectPath: -> - @subscribe @project.onDidChangePaths => + @disposables.add @project.onDidChangePaths => @constructor.updateLoadSetting('initialPaths', @project.getPaths()) exit: (status) -> From 8eded9f9bdf5c3ae753cb3e62fc97e1943c781eb Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 14:52:12 -0700 Subject: [PATCH 27/65] Use disposables in DisplayBuffer --- src/display-buffer.coffee | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index 27e2ae936..277a79200 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -42,6 +42,7 @@ class DisplayBuffer extends Model super @emitter = new Emitter + @disposables = new CompositeDisposable @tokenizedBuffer ?= new TokenizedBuffer({tabLength, buffer, @invisibles}) @buffer = @tokenizedBuffer.buffer @@ -50,10 +51,10 @@ class DisplayBuffer extends Model @foldsByMarkerId = {} @decorationsById = {} @decorationsByMarkerId = {} - @subscribe @tokenizedBuffer.observeGrammar @subscribeToScopedConfigSettings - @subscribe @tokenizedBuffer.onDidChange @handleTokenizedBufferChange - @subscribe @buffer.onDidUpdateMarkers @handleBufferMarkersUpdated - @subscribe @buffer.onDidCreateMarker @handleBufferMarkerCreated + @disposables.add @tokenizedBuffer.observeGrammar @subscribeToScopedConfigSettings + @disposables.add @tokenizedBuffer.onDidChange @handleTokenizedBufferChange + @disposables.add @buffer.onDidUpdateMarkers @handleBufferMarkersUpdated + @disposables.add @buffer.onDidCreateMarker @handleBufferMarkerCreated @updateAllScreenLines() @createFoldForMarker(marker) for marker in @buffer.findMarkers(@getFoldMarkerAttributes()) @@ -907,7 +908,7 @@ class DisplayBuffer extends Model decorateMarker: (marker, decorationParams) -> marker = @getMarker(marker.id) decoration = new Decoration(marker, this, decorationParams) - @subscribe decoration.onDidDestroy => @removeDecoration(decoration) + @disposables.add decoration.onDidDestroy => @removeDecoration(decoration) @decorationsByMarkerId[marker.id] ?= [] @decorationsByMarkerId[marker.id].push(decoration) @decorationsById[decoration.id] = decoration @@ -1086,7 +1087,7 @@ class DisplayBuffer extends Model destroyed: -> marker.disposables.dispose() for id, marker of @markers @scopedConfigSubscriptions.dispose() - @unsubscribe() + @disposables.dispose() @tokenizedBuffer.destroy() logLines: (start=0, end=@getLastRow()) -> From 382974412fa4151a5e7ea9e900d1363cd4884a21 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 15:01:53 -0700 Subject: [PATCH 28/65] Conditionally include deprecations in Workspace --- src/workspace.coffee | 143 ++++++++++++++++++++++--------------------- 1 file changed, 73 insertions(+), 70 deletions(-) diff --git a/src/workspace.coffee b/src/workspace.coffee index 4afce1f37..a5a4e5e30 100644 --- a/src/workspace.coffee +++ b/src/workspace.coffee @@ -1,4 +1,4 @@ -{deprecate} = require 'grim' +{includeDeprecations, deprecate} = require 'grim' _ = require 'underscore-plus' path = require 'path' {join} = path @@ -33,16 +33,6 @@ class Workspace extends Model atom.deserializers.add(this) Serializable.includeInto(this) - Object.defineProperty @::, 'activePaneItem', - get: -> - Grim.deprecate "Use ::getActivePaneItem() instead of the ::activePaneItem property" - @getActivePaneItem() - - Object.defineProperty @::, 'activePane', - get: -> - Grim.deprecate "Use ::getActivePane() instead of the ::activePane property" - @getActivePane() - @properties paneContainer: null fullScreen: false @@ -342,32 +332,6 @@ class Workspace extends Model @onDidAddPaneItem ({item, pane, index}) -> callback({textEditor: item, pane, index}) if item instanceof TextEditor - eachEditor: (callback) -> - deprecate("Use Workspace::observeTextEditors instead") - - callback(editor) for editor in @getEditors() - @subscribe this, 'editor-created', (editor) -> callback(editor) - - getEditors: -> - deprecate("Use Workspace::getTextEditors instead") - - editors = [] - for pane in @paneContainer.getPanes() - editors.push(item) for item in pane.getItems() when item instanceof TextEditor - - editors - - on: (eventName) -> - switch eventName - when 'editor-created' - deprecate("Use Workspace::onDidAddTextEditor or Workspace::observeTextEditors instead.") - when 'uri-opened' - deprecate("Use Workspace::onDidOpen or Workspace::onDidAddPaneItem instead. https://atom.io/docs/api/latest/Workspace#instance-onDidOpen") - else - deprecate("Subscribing via ::on is deprecated. Use documented event subscription methods instead.") - - super - ### Section: Opening ### @@ -425,7 +389,7 @@ class Workspace extends Model # the containing pane. Defaults to `true`. openSync: (uri='', options={}) -> # TODO: Remove deprecated changeFocus option - if options.changeFocus? + if includeDeprecations and options.changeFocus? deprecate("The `changeFocus` option has been renamed to `activatePane`") options.activatePane = options.changeFocus delete options.changeFocus @@ -446,7 +410,7 @@ class Workspace extends Model openURIInPane: (uri, pane, options={}) -> # TODO: Remove deprecated changeFocus option - if options.changeFocus? + if includeDeprecations and options.changeFocus? deprecate("The `changeFocus` option has been renamed to `activatePane`") options.activatePane = options.changeFocus delete options.changeFocus @@ -496,12 +460,6 @@ class Workspace extends Model else Q() - # Deprecated - reopenItemSync: -> - deprecate("Use Workspace::reopenItem instead") - if uri = @destroyedItemURIs.pop() - @openSync(uri) - # Public: Register an opener for a uri. # # An {TextEditor} will be used if no openers return a value. @@ -519,24 +477,20 @@ class Workspace extends Model # Returns a {Disposable} on which `.dispose()` can be called to remove the # opener. addOpener: (opener) -> - packageName = @getCallingPackageName() + if includeDeprecations + packageName = @getCallingPackageName() - wrappedOpener = (uri, options) -> - item = opener(uri, options) - if item? and typeof item.getUri is 'function' and typeof item.getURI isnt 'function' - Grim.deprecate("Pane item with class `#{item.constructor.name}` should implement `::getURI` instead of `::getUri`.", {packageName}) - item + wrappedOpener = (uri, options) -> + item = opener(uri, options) + if item? and typeof item.getUri is 'function' and typeof item.getURI isnt 'function' + Grim.deprecate("Pane item with class `#{item.constructor.name}` should implement `::getURI` instead of `::getUri`.", {packageName}) + item - @openers.push(wrappedOpener) - new Disposable => _.remove(@openers, wrappedOpener) - - registerOpener: (opener) -> - Grim.deprecate("Call Workspace::addOpener instead") - @addOpener(opener) - - unregisterOpener: (opener) -> - Grim.deprecate("Call .dispose() on the Disposable returned from ::addOpener instead") - _.remove(@openers, opener) + @openers.push(wrappedOpener) + new Disposable => _.remove(@openers, wrappedOpener) + else + @openers.push(opener) + new Disposable => _.remove(@openers, opener) getOpeners: -> @openers @@ -599,11 +553,6 @@ class Workspace extends Model activeItem = @getActivePaneItem() activeItem if activeItem instanceof TextEditor - # Deprecated - getActiveEditor: -> - Grim.deprecate "Call ::getActiveTextEditor instead" - @getActivePane()?.getActiveEditor() - # Save all pane items. saveAll: -> @paneContainer.saveAll() @@ -667,10 +616,6 @@ class Workspace extends Model paneForURI: (uri) -> @paneContainer.paneForURI(uri) - paneForUri: (uri) -> - deprecate("Use ::paneForURI instead.") - @paneForURI(uri) - # Extended: Get the {Pane} containing the given item. # # * `item` Item the returned pane contains. @@ -945,3 +890,61 @@ class Workspace extends Model checkFinished() deferred.promise + +if includeDeprecations + Object.defineProperty Workspace::, 'activePaneItem', + get: -> + Grim.deprecate "Use ::getActivePaneItem() instead of the ::activePaneItem property" + @getActivePaneItem() + + Object.defineProperty Workspace::, 'activePane', + get: -> + Grim.deprecate "Use ::getActivePane() instead of the ::activePane property" + @getActivePane() + + Workspace::eachEditor = (callback) -> + deprecate("Use Workspace::observeTextEditors instead") + + callback(editor) for editor in @getEditors() + @subscribe this, 'editor-created', (editor) -> callback(editor) + + Workspace::getEditors = -> + deprecate("Use Workspace::getTextEditors instead") + + editors = [] + for pane in @paneContainer.getPanes() + editors.push(item) for item in pane.getItems() when item instanceof TextEditor + + editors + + Workspace::on = (eventName) -> + switch eventName + when 'editor-created' + deprecate("Use Workspace::onDidAddTextEditor or Workspace::observeTextEditors instead.") + when 'uri-opened' + deprecate("Use Workspace::onDidOpen or Workspace::onDidAddPaneItem instead. https://atom.io/docs/api/latest/Workspace#instance-onDidOpen") + else + deprecate("Subscribing via ::on is deprecated. Use documented event subscription methods instead.") + + super + + Workspace::reopenItemSync = -> + deprecate("Use Workspace::reopenItem instead") + if uri = @destroyedItemURIs.pop() + @openSync(uri) + + Workspace::registerOpener = (opener) -> + Grim.deprecate("Call Workspace::addOpener instead") + @addOpener(opener) + + Workspace::unregisterOpener = (opener) -> + Grim.deprecate("Call .dispose() on the Disposable returned from ::addOpener instead") + _.remove(@openers, opener) + + Workspace::getActiveEditor = -> + Grim.deprecate "Call ::getActiveTextEditor instead" + @getActivePane()?.getActiveEditor() + + Workspace::paneForUri = (uri) -> + deprecate("Use ::paneForURI instead.") + @paneForURI(uri) From 8e56a252e014121a147e6386635547d8a99f4447 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 15:02:56 -0700 Subject: [PATCH 29/65] Only call emit when deprecations are included --- src/decoration.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/decoration.coffee b/src/decoration.coffee index 92316042c..b3ad4b7ff 100644 --- a/src/decoration.coffee +++ b/src/decoration.coffee @@ -66,7 +66,7 @@ class Decoration @markerDestroyDisposable.dispose() @markerDestroyDisposable = null @destroyed = true - @emit 'destroyed' + @emit 'destroyed' if Grim.includeDeprecations @emitter.emit 'did-destroy' @emitter.dispose() @@ -137,7 +137,7 @@ class Decoration oldProperties = @properties @properties = newProperties @properties.id = @id - @emit 'updated', {oldParams: oldProperties, newParams: newProperties} + @emit 'updated', {oldParams: oldProperties, newParams: newProperties} if Grim.includeDeprecations @emitter.emit 'did-change-properties', {oldProperties, newProperties} ### @@ -157,7 +157,7 @@ class Decoration flashObject = {class: klass, duration} @flashQueue ?= [] @flashQueue.push(flashObject) - @emit 'flash' + @emit 'flash' if Grim.includeDeprecations @emitter.emit 'did-flash' consumeNextFlash: -> From b0b9172154d523f9a1e04af62f65138a27401f4d Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 15:24:40 -0700 Subject: [PATCH 30/65] Conditionally include deprecations in TextEditor --- src/text-editor.coffee | 437 +++++++++++++++++++++-------------------- 1 file changed, 226 insertions(+), 211 deletions(-) diff --git a/src/text-editor.coffee b/src/text-editor.coffee index 548725cf6..1821a8a52 100644 --- a/src/text-editor.coffee +++ b/src/text-editor.coffee @@ -2,7 +2,7 @@ _ = require 'underscore-plus' path = require 'path' Serializable = require 'serializable' Delegator = require 'delegato' -{deprecate} = require 'grim' +{includeDeprecations, deprecate} = require 'grim' {Model} = require 'theorist' EmitterMixin = require('emissary').Emitter {CompositeDisposable, Emitter} = require 'event-kit' @@ -174,9 +174,6 @@ class TextEditor extends Model subscriptions.add atom.config.onDidChange 'editor.showInvisibles', scope: scopeDescriptor, => @updateInvisibles() subscriptions.add atom.config.onDidChange 'editor.invisibles', scope: scopeDescriptor, => @updateInvisibles() - getViewClass: -> - require './text-editor-view' - destroyed: -> @unsubscribe() @scopedConfigSubscriptions.dispose() @@ -461,76 +458,12 @@ class TextEditor extends Model onDidChangeIcon: (callback) -> @emitter.on 'did-change-icon', callback - on: (eventName) -> - switch eventName - when 'title-changed' - deprecate("Use TextEditor::onDidChangeTitle instead") - when 'path-changed' - deprecate("Use TextEditor::onDidChangePath instead") - when 'modified-status-changed' - deprecate("Use TextEditor::onDidChangeModified instead") - when 'soft-wrap-changed' - deprecate("Use TextEditor::onDidChangeSoftWrapped instead") - when 'grammar-changed' - deprecate("Use TextEditor::onDidChangeGrammar instead") - when 'character-widths-changed' - deprecate("Use TextEditor::onDidChangeCharacterWidths instead") - when 'contents-modified' - deprecate("Use TextEditor::onDidStopChanging instead") - when 'contents-conflicted' - deprecate("Use TextEditor::onDidConflict instead") - - when 'will-insert-text' - deprecate("Use TextEditor::onWillInsertText instead") - when 'did-insert-text' - deprecate("Use TextEditor::onDidInsertText instead") - - when 'cursor-added' - deprecate("Use TextEditor::onDidAddCursor instead") - when 'cursor-removed' - deprecate("Use TextEditor::onDidRemoveCursor instead") - when 'cursor-moved' - deprecate("Use TextEditor::onDidChangeCursorPosition instead") - - when 'selection-added' - deprecate("Use TextEditor::onDidAddSelection instead") - when 'selection-removed' - deprecate("Use TextEditor::onDidRemoveSelection instead") - when 'selection-screen-range-changed' - deprecate("Use TextEditor::onDidChangeSelectionRange instead") - - when 'decoration-added' - deprecate("Use TextEditor::onDidAddDecoration instead") - when 'decoration-removed' - deprecate("Use TextEditor::onDidRemoveDecoration instead") - when 'decoration-updated' - deprecate("Use Decoration::onDidChangeProperties instead. You will get the decoration back from `TextEditor::decorateMarker()`") - when 'decoration-changed' - deprecate("Use Marker::onDidChange instead. e.g. `editor::decorateMarker(...).getMarker().onDidChange()`") - - when 'screen-lines-changed' - deprecate("Use TextEditor::onDidChange instead") - - when 'scroll-top-changed' - deprecate("Use TextEditor::onDidChangeScrollTop instead") - when 'scroll-left-changed' - deprecate("Use TextEditor::onDidChangeScrollLeft instead") - - else - deprecate("TextEditor::on is deprecated. Use documented event subscription methods instead.") - - EmitterMixin::on.apply(this, arguments) - # Retrieves the current {TextBuffer}. getBuffer: -> @buffer # Retrieves the current buffer's URI. getURI: -> @buffer.getUri() - getUri: -> - deprecate("Use `::getURI` instead") - @getURI() - # Create an {TextEditor} with its initial state based on this object copy: -> displayBuffer = @displayBuffer.copy() @@ -698,9 +631,6 @@ class TextEditor extends Model # # * `bufferRow` A {Number} representing a zero-indexed buffer row. lineTextForBufferRow: (bufferRow) -> @buffer.lineForRow(bufferRow) - lineForBufferRow: (bufferRow) -> - deprecate 'Use TextEditor::lineTextForBufferRow(bufferRow) instead' - @lineTextForBufferRow(bufferRow) # Essential: Returns a {String} representing the contents of the line at the # given screen row. @@ -714,23 +644,9 @@ class TextEditor extends Model # # Returns {TokenizedLine} tokenizedLineForScreenRow: (screenRow) -> @displayBuffer.tokenizedLineForScreenRow(screenRow) - lineForScreenRow: (screenRow) -> - deprecate "TextEditor::tokenizedLineForScreenRow(bufferRow) is the new name. But it's private. Try to use TextEditor::lineTextForScreenRow instead" - @tokenizedLineForScreenRow(screenRow) # {Delegates to: DisplayBuffer.tokenizedLinesForScreenRows} tokenizedLinesForScreenRows: (start, end) -> @displayBuffer.tokenizedLinesForScreenRows(start, end) - linesForScreenRows: (start, end) -> - deprecate "Use TextEditor::tokenizedLinesForScreenRows instead" - @tokenizedLinesForScreenRows(start, end) - - # Returns a {Number} representing the line length for the given - # buffer row, exclusive of its line-ending character(s). - # - # * `row` A {Number} indicating the buffer row. - lineLengthForBufferRow: (row) -> - deprecate "Use editor.lineTextForBufferRow(row).length instead" - @lineTextForBufferRow(row).length bufferRowForScreenRow: (row) -> @displayBuffer.bufferRowForScreenRow(row) @@ -981,11 +897,6 @@ class TextEditor extends Model @createFold(foldStartRow + delta, foldEndRow + delta) return - # Deprecated: Use {::duplicateLines} instead. - duplicateLine: -> - deprecate("Use TextEditor::duplicateLines() instead") - @duplicateLines() - replaceSelectedText: (options={}, fn) -> {selectWordIfEmpty} = options @mutateSelectedText (selection) -> @@ -1116,16 +1027,6 @@ class TextEditor extends Model deleteLine: -> @mutateSelectedText (selection) -> selection.deleteLine() - # Deprecated: Use {::deleteToBeginningOfWord} instead. - backspaceToBeginningOfWord: -> - deprecate("Use TextEditor::deleteToBeginningOfWord() instead") - @deleteToBeginningOfWord() - - # Deprecated: Use {::deleteToBeginningOfLine} instead. - backspaceToBeginningOfLine: -> - deprecate("Use TextEditor::deleteToBeginningOfLine() instead") - @deleteToBeginningOfLine() - ### Section: History ### @@ -1351,7 +1252,7 @@ class TextEditor extends Model # # Returns a {Decoration} object decorateMarker: (marker, decorationParams) -> - if decorationParams.type is 'gutter' + if includeDeprecations and decorationParams.type is 'gutter' deprecate("Decorations of `type: 'gutter'` have been renamed to `type: 'line-number'`.") decorationParams.type = 'line-number' @displayBuffer.decorateMarker(marker, decorationParams) @@ -1387,11 +1288,6 @@ class TextEditor extends Model getLineDecorations: (propertyFilter) -> @displayBuffer.getLineDecorations(propertyFilter) - # Soft-deprecated (forgot to deprecated this pre 1.0) - getGutterDecorations: (propertyFilter) -> - deprecate("Use ::getLineNumberDecorations instead") - @getLineNumberDecorations(propertyFilter) - # Extended: Get all decorations of type 'line-number'. # # * `propertyFilter` (optional) An {Object} containing key value pairs that @@ -1585,13 +1481,6 @@ class TextEditor extends Model getCursorScreenPositions: -> cursor.getScreenPosition() for cursor in @getCursors() - # Get the row of the most recently added cursor in screen coordinates. - # - # Returns the screen row {Number}. - getCursorScreenRow: -> - deprecate('Use `editor.getCursorScreenPosition().row` instead') - @getCursorScreenPosition().row - # Essential: Move the cursor to the given position in screen coordinates. # # If there are multiple cursors, they will be consolidated to a single cursor. @@ -1632,85 +1521,52 @@ class TextEditor extends Model # * `lineCount` (optional) {Number} number of lines to move moveUp: (lineCount) -> @moveCursors (cursor) -> cursor.moveUp(lineCount, moveToEndOfSelection: true) - moveCursorUp: (lineCount) -> - deprecate("Use TextEditor::moveUp() instead") - @moveUp(lineCount) # Essential: Move every cursor down one row in screen coordinates. # # * `lineCount` (optional) {Number} number of lines to move moveDown: (lineCount) -> @moveCursors (cursor) -> cursor.moveDown(lineCount, moveToEndOfSelection: true) - moveCursorDown: (lineCount) -> - deprecate("Use TextEditor::moveDown() instead") - @moveDown(lineCount) # Essential: Move every cursor left one column. # # * `columnCount` (optional) {Number} number of columns to move (default: 1) moveLeft: (columnCount) -> @moveCursors (cursor) -> cursor.moveLeft(columnCount, moveToEndOfSelection: true) - moveCursorLeft: -> - deprecate("Use TextEditor::moveLeft() instead") - @moveLeft() # Essential: Move every cursor right one column. # # * `columnCount` (optional) {Number} number of columns to move (default: 1) moveRight: (columnCount) -> @moveCursors (cursor) -> cursor.moveRight(columnCount, moveToEndOfSelection: true) - moveCursorRight: -> - deprecate("Use TextEditor::moveRight() instead") - @moveRight() # Essential: Move every cursor to the beginning of its line in buffer coordinates. moveToBeginningOfLine: -> @moveCursors (cursor) -> cursor.moveToBeginningOfLine() - moveCursorToBeginningOfLine: -> - deprecate("Use TextEditor::moveToBeginningOfLine() instead") - @moveToBeginningOfLine() # Essential: Move every cursor to the beginning of its line in screen coordinates. moveToBeginningOfScreenLine: -> @moveCursors (cursor) -> cursor.moveToBeginningOfScreenLine() - moveCursorToBeginningOfScreenLine: -> - deprecate("Use TextEditor::moveToBeginningOfScreenLine() instead") - @moveToBeginningOfScreenLine() # Essential: Move every cursor to the first non-whitespace character of its line. moveToFirstCharacterOfLine: -> @moveCursors (cursor) -> cursor.moveToFirstCharacterOfLine() - moveCursorToFirstCharacterOfLine: -> - deprecate("Use TextEditor::moveToFirstCharacterOfLine() instead") - @moveToFirstCharacterOfLine() # Essential: Move every cursor to the end of its line in buffer coordinates. moveToEndOfLine: -> @moveCursors (cursor) -> cursor.moveToEndOfLine() - moveCursorToEndOfLine: -> - deprecate("Use TextEditor::moveToEndOfLine() instead") - @moveToEndOfLine() # Essential: Move every cursor to the end of its line in screen coordinates. moveToEndOfScreenLine: -> @moveCursors (cursor) -> cursor.moveToEndOfScreenLine() - moveCursorToEndOfScreenLine: -> - deprecate("Use TextEditor::moveToEndOfScreenLine() instead") - @moveToEndOfScreenLine() # Essential: Move every cursor to the beginning of its surrounding word. moveToBeginningOfWord: -> @moveCursors (cursor) -> cursor.moveToBeginningOfWord() - moveCursorToBeginningOfWord: -> - deprecate("Use TextEditor::moveToBeginningOfWord() instead") - @moveToBeginningOfWord() # Essential: Move every cursor to the end of its surrounding word. moveToEndOfWord: -> @moveCursors (cursor) -> cursor.moveToEndOfWord() - moveCursorToEndOfWord: -> - deprecate("Use TextEditor::moveToEndOfWord() instead") - @moveToEndOfWord() # Cursor Extended @@ -1719,63 +1575,37 @@ class TextEditor extends Model # If there are multiple cursors, they will be merged into a single cursor. moveToTop: -> @moveCursors (cursor) -> cursor.moveToTop() - moveCursorToTop: -> - deprecate("Use TextEditor::moveToTop() instead") - @moveToTop() # Extended: Move every cursor to the bottom of the buffer. # # If there are multiple cursors, they will be merged into a single cursor. moveToBottom: -> @moveCursors (cursor) -> cursor.moveToBottom() - moveCursorToBottom: -> - deprecate("Use TextEditor::moveToBottom() instead") - @moveToBottom() # Extended: Move every cursor to the beginning of the next word. moveToBeginningOfNextWord: -> @moveCursors (cursor) -> cursor.moveToBeginningOfNextWord() - moveCursorToBeginningOfNextWord: -> - deprecate("Use TextEditor::moveToBeginningOfNextWord() instead") - @moveToBeginningOfNextWord() # Extended: Move every cursor to the previous word boundary. moveToPreviousWordBoundary: -> @moveCursors (cursor) -> cursor.moveToPreviousWordBoundary() - moveCursorToPreviousWordBoundary: -> - deprecate("Use TextEditor::moveToPreviousWordBoundary() instead") - @moveToPreviousWordBoundary() # Extended: Move every cursor to the next word boundary. moveToNextWordBoundary: -> @moveCursors (cursor) -> cursor.moveToNextWordBoundary() - moveCursorToNextWordBoundary: -> - deprecate("Use TextEditor::moveToNextWordBoundary() instead") - @moveToNextWordBoundary() # Extended: Move every cursor to the beginning of the next paragraph. moveToBeginningOfNextParagraph: -> @moveCursors (cursor) -> cursor.moveToBeginningOfNextParagraph() - moveCursorToBeginningOfNextParagraph: -> - deprecate("Use TextEditor::moveToBeginningOfNextParagraph() instead") - @moveToBeginningOfNextParagraph() # Extended: Move every cursor to the beginning of the previous paragraph. moveToBeginningOfPreviousParagraph: -> @moveCursors (cursor) -> cursor.moveToBeginningOfPreviousParagraph() - moveCursorToBeginningOfPreviousParagraph: -> - deprecate("Use TextEditor::moveToBeginningOfPreviousParagraph() instead") - @moveToBeginningOfPreviousParagraph() # Extended: Returns the most recently added {Cursor} getLastCursor: -> _.last(@cursors) - # Deprecated: - getCursor: -> - deprecate("Use TextEditor::getLastCursor() instead") - @getLastCursor() - # Extended: Returns the word surrounding the most recently added cursor. # # * `options` (optional) See {Cursor::getBeginningOfCurrentWordBufferPosition}. @@ -2087,16 +1917,10 @@ class TextEditor extends Model # This method merges selections on successive lines. selectLinesContainingCursors: -> @expandSelectionsForward (selection) -> selection.selectLine() - selectLine: -> - deprecate('Use TextEditor::selectLinesContainingCursors instead') - @selectLinesContainingCursors() # Essential: Select the word surrounding each cursor. selectWordsContainingCursors: -> @expandSelectionsForward (selection) -> selection.selectWord() - selectWord: -> - deprecate('Use TextEditor::selectWordsContainingCursors instead') - @selectWordsContainingCursors() # Selection Extended @@ -2152,15 +1976,6 @@ class TextEditor extends Model getLastSelection: -> _.last(@selections) - # Deprecated: - getSelection: (index) -> - if index? - deprecate("Use TextEditor::getSelections()[index] instead when getting a specific selection") - @getSelections()[index] - else - deprecate("Use TextEditor::getLastSelection() instead") - @getLastSelection() - # Extended: Get current {Selection}s. # # Returns: An {Array} of {Selection}s. @@ -2428,9 +2243,6 @@ class TextEditor extends Model # # Returns a {Boolean}. isSoftWrapped: (softWrapped) -> @displayBuffer.isSoftWrapped() - getSoftWrapped: -> - deprecate("Use TextEditor::isSoftWrapped instead") - @displayBuffer.isSoftWrapped() # Essential: Enable or disable soft wrapping for this editor. # @@ -2438,17 +2250,11 @@ class TextEditor extends Model # # Returns a {Boolean}. setSoftWrapped: (softWrapped) -> @displayBuffer.setSoftWrapped(softWrapped) - setSoftWrap: (softWrapped) -> - deprecate("Use TextEditor::setSoftWrapped instead") - @setSoftWrapped(softWrapped) # Essential: Toggle soft wrapping for this editor # # Returns a {Boolean}. toggleSoftWrapped: -> @setSoftWrapped(not @isSoftWrapped()) - toggleSoftWrap: -> - deprecate("Use TextEditor::toggleSoftWrapped instead") - @toggleSoftWrapped() # Public: Gets the column at which column will soft wrap getSoftWrapColumn: -> @displayBuffer.getSoftWrapColumn() @@ -2573,9 +2379,6 @@ class TextEditor extends Model # Returns a {ScopeDescriptor}. scopeDescriptorForBufferPosition: (bufferPosition) -> @displayBuffer.scopeDescriptorForBufferPosition(bufferPosition) - scopesForBufferPosition: (bufferPosition) -> - deprecate 'Use ::scopeDescriptorForBufferPosition instead. The return value has changed! It now returns a `ScopeDescriptor`' - @scopeDescriptorForBufferPosition(bufferPosition).getScopesArray() # Extended: Get the range in buffer coordinates of all tokens surrounding the # cursor that match the given scope selector. @@ -2607,13 +2410,6 @@ class TextEditor extends Model # {Delegates to: DisplayBuffer.tokenForBufferPosition} tokenForBufferPosition: (bufferPosition) -> @displayBuffer.tokenForBufferPosition(bufferPosition) - scopesAtCursor: -> - deprecate 'Use editor.getLastCursor().getScopeDescriptor() instead' - @getLastCursor().getScopeDescriptor().getScopesArray() - getCursorScopes: -> - deprecate 'Use editor.getLastCursor().getScopeDescriptor() instead' - @scopesAtCursor() - ### Section: Clipboard Operations ### @@ -3030,11 +2826,6 @@ class TextEditor extends Model pixelRectForScreenRange: (screenRange) -> @displayBuffer.pixelRectForScreenRange(screenRange) - # Deprecated: Call {::joinLines} instead. - joinLine: -> - deprecate("Use TextEditor::joinLines() instead") - @joinLines() - ### Section: Utility ### @@ -3043,3 +2834,227 @@ class TextEditor extends Model "" logScreenLines: (start, end) -> @displayBuffer.logLines(start, end) + +if includeDeprecations + TextEditor::getViewClass = -> + require './text-editor-view' + + TextEditor::joinLine = -> + deprecate("Use TextEditor::joinLines() instead") + @joinLines() + + TextEditor::scopesAtCursor = -> + deprecate 'Use editor.getLastCursor().getScopeDescriptor() instead' + @getLastCursor().getScopeDescriptor().getScopesArray() + + TextEditor::getCursorScopes = -> + deprecate 'Use editor.getLastCursor().getScopeDescriptor() instead' + @scopesAtCursor() + + TextEditor::getUri = -> + deprecate("Use `::getURI` instead") + @getURI() + + TextEditor::lineForBufferRow = (bufferRow) -> + deprecate 'Use TextEditor::lineTextForBufferRow(bufferRow) instead' + @lineTextForBufferRow(bufferRow) + + TextEditor::lineForScreenRow = (screenRow) -> + deprecate "TextEditor::tokenizedLineForScreenRow(bufferRow) is the new name. But it's private. Try to use TextEditor::lineTextForScreenRow instead" + @tokenizedLineForScreenRow(screenRow) + + TextEditor::linesForScreenRows = (start, end) -> + deprecate "Use TextEditor::tokenizedLinesForScreenRows instead" + @tokenizedLinesForScreenRows(start, end) + + TextEditor::lineLengthForBufferRow = (row) -> + deprecate "Use editor.lineTextForBufferRow(row).length instead" + @lineTextForBufferRow(row).length + + TextEditor::duplicateLine = -> + deprecate("Use TextEditor::duplicateLines() instead") + @duplicateLines() + + TextEditor::scopesForBufferPosition = (bufferPosition) -> + deprecate 'Use ::scopeDescriptorForBufferPosition instead. The return value has changed! It now returns a `ScopeDescriptor`' + @scopeDescriptorForBufferPosition(bufferPosition).getScopesArray() + + TextEditor::toggleSoftWrap = -> + deprecate("Use TextEditor::toggleSoftWrapped instead") + @toggleSoftWrapped() + + TextEditor::setSoftWrap = (softWrapped) -> + deprecate("Use TextEditor::setSoftWrapped instead") + @setSoftWrapped(softWrapped) + + TextEditor::backspaceToBeginningOfWord = -> + deprecate("Use TextEditor::deleteToBeginningOfWord() instead") + @deleteToBeginningOfWord() + + TextEditor::backspaceToBeginningOfLine = -> + deprecate("Use TextEditor::deleteToBeginningOfLine() instead") + @deleteToBeginningOfLine() + + TextEditor::getGutterDecorations = (propertyFilter) -> + deprecate("Use ::getLineNumberDecorations instead") + @getLineNumberDecorations(propertyFilter) + + TextEditor::getCursorScreenRow = -> + deprecate('Use `editor.getCursorScreenPosition().row` instead') + @getCursorScreenPosition().row + + TextEditor::moveCursorUp = (lineCount) -> + deprecate("Use TextEditor::moveUp() instead") + @moveUp(lineCount) + + TextEditor::moveCursorDown = (lineCount) -> + deprecate("Use TextEditor::moveDown() instead") + @moveDown(lineCount) + + TextEditor::moveCursorLeft = -> + deprecate("Use TextEditor::moveLeft() instead") + @moveLeft() + + TextEditor::moveCursorRight = -> + deprecate("Use TextEditor::moveRight() instead") + @moveRight() + + TextEditor::moveCursorToBeginningOfLine = -> + deprecate("Use TextEditor::moveToBeginningOfLine() instead") + @moveToBeginningOfLine() + + TextEditor::moveCursorToBeginningOfScreenLine = -> + deprecate("Use TextEditor::moveToBeginningOfScreenLine() instead") + @moveToBeginningOfScreenLine() + + TextEditor::moveCursorToFirstCharacterOfLine = -> + deprecate("Use TextEditor::moveToFirstCharacterOfLine() instead") + @moveToFirstCharacterOfLine() + + TextEditor::moveCursorToEndOfLine = -> + deprecate("Use TextEditor::moveToEndOfLine() instead") + @moveToEndOfLine() + + TextEditor::moveCursorToEndOfScreenLine = -> + deprecate("Use TextEditor::moveToEndOfScreenLine() instead") + @moveToEndOfScreenLine() + + TextEditor::moveCursorToBeginningOfWord = -> + deprecate("Use TextEditor::moveToBeginningOfWord() instead") + @moveToBeginningOfWord() + + TextEditor::moveCursorToEndOfWord = -> + deprecate("Use TextEditor::moveToEndOfWord() instead") + @moveToEndOfWord() + + TextEditor::moveCursorToTop = -> + deprecate("Use TextEditor::moveToTop() instead") + @moveToTop() + + TextEditor::moveCursorToBottom = -> + deprecate("Use TextEditor::moveToBottom() instead") + @moveToBottom() + + TextEditor::moveCursorToBeginningOfNextWord = -> + deprecate("Use TextEditor::moveToBeginningOfNextWord() instead") + @moveToBeginningOfNextWord() + + TextEditor::moveCursorToPreviousWordBoundary = -> + deprecate("Use TextEditor::moveToPreviousWordBoundary() instead") + @moveToPreviousWordBoundary() + + TextEditor::moveCursorToNextWordBoundary = -> + deprecate("Use TextEditor::moveToNextWordBoundary() instead") + @moveToNextWordBoundary() + + TextEditor::moveCursorToBeginningOfNextParagraph = -> + deprecate("Use TextEditor::moveToBeginningOfNextParagraph() instead") + @moveToBeginningOfNextParagraph() + + TextEditor::moveCursorToBeginningOfPreviousParagraph = -> + deprecate("Use TextEditor::moveToBeginningOfPreviousParagraph() instead") + @moveToBeginningOfPreviousParagraph() + + TextEditor::getCursor = -> + deprecate("Use TextEditor::getLastCursor() instead") + @getLastCursor() + + TextEditor::selectLine = -> + deprecate('Use TextEditor::selectLinesContainingCursors instead') + @selectLinesContainingCursors() + + TextEditor::selectWord = -> + deprecate('Use TextEditor::selectWordsContainingCursors instead') + @selectWordsContainingCursors() + + TextEditor::getSelection = (index) -> + if index? + deprecate("Use TextEditor::getSelections()[index] instead when getting a specific selection") + @getSelections()[index] + else + deprecate("Use TextEditor::getLastSelection() instead") + @getLastSelection() + + TextEditor::getSoftWrapped = -> + deprecate("Use TextEditor::isSoftWrapped instead") + @displayBuffer.isSoftWrapped() + + TextEditor::on = (eventName) -> + switch eventName + when 'title-changed' + deprecate("Use TextEditor::onDidChangeTitle instead") + when 'path-changed' + deprecate("Use TextEditor::onDidChangePath instead") + when 'modified-status-changed' + deprecate("Use TextEditor::onDidChangeModified instead") + when 'soft-wrap-changed' + deprecate("Use TextEditor::onDidChangeSoftWrapped instead") + when 'grammar-changed' + deprecate("Use TextEditor::onDidChangeGrammar instead") + when 'character-widths-changed' + deprecate("Use TextEditor::onDidChangeCharacterWidths instead") + when 'contents-modified' + deprecate("Use TextEditor::onDidStopChanging instead") + when 'contents-conflicted' + deprecate("Use TextEditor::onDidConflict instead") + + when 'will-insert-text' + deprecate("Use TextEditor::onWillInsertText instead") + when 'did-insert-text' + deprecate("Use TextEditor::onDidInsertText instead") + + when 'cursor-added' + deprecate("Use TextEditor::onDidAddCursor instead") + when 'cursor-removed' + deprecate("Use TextEditor::onDidRemoveCursor instead") + when 'cursor-moved' + deprecate("Use TextEditor::onDidChangeCursorPosition instead") + + when 'selection-added' + deprecate("Use TextEditor::onDidAddSelection instead") + when 'selection-removed' + deprecate("Use TextEditor::onDidRemoveSelection instead") + when 'selection-screen-range-changed' + deprecate("Use TextEditor::onDidChangeSelectionRange instead") + + when 'decoration-added' + deprecate("Use TextEditor::onDidAddDecoration instead") + when 'decoration-removed' + deprecate("Use TextEditor::onDidRemoveDecoration instead") + when 'decoration-updated' + deprecate("Use Decoration::onDidChangeProperties instead. You will get the decoration back from `TextEditor::decorateMarker()`") + when 'decoration-changed' + deprecate("Use Marker::onDidChange instead. e.g. `editor::decorateMarker(...).getMarker().onDidChange()`") + + when 'screen-lines-changed' + deprecate("Use TextEditor::onDidChange instead") + + when 'scroll-top-changed' + deprecate("Use TextEditor::onDidChangeScrollTop instead") + when 'scroll-left-changed' + deprecate("Use TextEditor::onDidChangeScrollLeft instead") + + else + deprecate("TextEditor::on is deprecated. Use documented event subscription methods instead.") + + EmitterMixin::on.apply(this, arguments) From 164d5e46b0552cf5012bce20958f61e3d9467ac3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 15:29:58 -0700 Subject: [PATCH 31/65] Only call emit when including deprecations --- src/package.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package.coffee b/src/package.coffee index 7b590aab4..f9d3ac576 100644 --- a/src/package.coffee +++ b/src/package.coffee @@ -356,7 +356,7 @@ class Package @mainModule?.deactivate?() catch e console.error "Error deactivating package '#{@name}'", e.stack - @emit 'deactivated' + @emit 'deactivated' if includeDeprecations @emitter.emit 'did-deactivate' deactivateConfig: -> From 97bf4fb4d18f739cd385f6e3678f11ce3ae028de Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 15:56:29 -0700 Subject: [PATCH 32/65] :arrow_up: command-palette@0.35 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 795ee2bc6..02b3c9669 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "background-tips": "0.23.0", "bookmarks": "0.35.0", "bracket-matcher": "0.73.0", - "command-palette": "0.34.0", + "command-palette": "0.35.0", "deprecation-cop": "0.39.0", "dev-live-reload": "0.45.0", "encoding-selector": "0.19.0", From c24948ebccb2c510d3963ec0c624052f8d201ff5 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 16:15:09 -0700 Subject: [PATCH 33/65] Conditionally include deprecations in Pane --- src/pane.coffee | 85 +++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/src/pane.coffee b/src/pane.coffee index a6e456d6a..d1e83c609 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -42,7 +42,7 @@ class Pane extends Model # Called by the Serializable mixin during serialization. serializeParams: -> - if typeof @activeItem?.getURI is 'function' + if Grim.includeDeprecations and typeof @activeItem?.getURI is 'function' activeItemURI = @activeItem.getURI() else if typeof @activeItem?.getUri is 'function' activeItemURI = @activeItem.getUri() @@ -203,39 +203,6 @@ class Pane extends Model onWillDestroyItem: (callback) -> @emitter.on 'will-destroy-item', callback - on: (eventName) -> - switch eventName - when 'activated' - Grim.deprecate("Use Pane::onDidActivate instead") - when 'destroyed' - Grim.deprecate("Use Pane::onDidDestroy instead") - when 'item-added' - Grim.deprecate("Use Pane::onDidAddItem instead") - when 'item-removed' - Grim.deprecate("Use Pane::onDidRemoveItem instead") - when 'item-moved' - Grim.deprecate("Use Pane::onDidMoveItem instead") - when 'before-item-destroyed' - Grim.deprecate("Use Pane::onWillDestroyItem instead") - else - Grim.deprecate("Subscribing via ::on is deprecated. Use documented event subscription methods instead.") - super - - behavior: (behaviorName) -> - switch behaviorName - when 'active' - Grim.deprecate("The $active behavior property is deprecated. Use ::observeActive or ::onDidChangeActive instead.") - when 'container' - Grim.deprecate("The $container behavior property is deprecated.") - when 'activeItem' - Grim.deprecate("The $activeItem behavior property is deprecated. Use ::observeActiveItem or ::onDidChangeActiveItem instead.") - when 'focused' - Grim.deprecate("The $focused behavior property is deprecated.") - else - Grim.deprecate("Pane::behavior is deprecated. Use event subscription methods instead.") - - super - # Called by the view layer to indicate that the pane has gained focus. focus: -> @focused = true @@ -535,10 +502,6 @@ class Pane extends Model itemUri is uri - itemForUri: (uri) -> - Grim.deprecate("Use `::itemForURI` instead.") - @itemForURI(uri) - # Public: Activate the first item that matches the given URI. # # Returns a {Boolean} indicating whether an item matching the URI was found. @@ -549,10 +512,6 @@ class Pane extends Model else false - activateItemForUri: (uri) -> - Grim.deprecate("Use `::activateItemForURI` instead.") - @activateItemForURI(uri) - copyActiveItem: -> if @activeItem? @activeItem.copy?() ? atom.deserializers.deserialize(@activeItem.serialize()) @@ -701,3 +660,45 @@ class Pane extends Model atom.notifications.addWarning("Unable to save file: A directory in the path '#{fileName}' could not be written to") else throw error + +if Grim.includeDeprecations + Pane::on = (eventName) -> + switch eventName + when 'activated' + Grim.deprecate("Use Pane::onDidActivate instead") + when 'destroyed' + Grim.deprecate("Use Pane::onDidDestroy instead") + when 'item-added' + Grim.deprecate("Use Pane::onDidAddItem instead") + when 'item-removed' + Grim.deprecate("Use Pane::onDidRemoveItem instead") + when 'item-moved' + Grim.deprecate("Use Pane::onDidMoveItem instead") + when 'before-item-destroyed' + Grim.deprecate("Use Pane::onWillDestroyItem instead") + else + Grim.deprecate("Subscribing via ::on is deprecated. Use documented event subscription methods instead.") + super + + Pane::behavior = (behaviorName) -> + switch behaviorName + when 'active' + Grim.deprecate("The $active behavior property is deprecated. Use ::observeActive or ::onDidChangeActive instead.") + when 'container' + Grim.deprecate("The $container behavior property is deprecated.") + when 'activeItem' + Grim.deprecate("The $activeItem behavior property is deprecated. Use ::observeActiveItem or ::onDidChangeActiveItem instead.") + when 'focused' + Grim.deprecate("The $focused behavior property is deprecated.") + else + Grim.deprecate("Pane::behavior is deprecated. Use event subscription methods instead.") + + super + + Pane::itemForUri = (uri) -> + Grim.deprecate("Use `::itemForURI` instead.") + @itemForURI(uri) + + Pane::activateItemForUri = (uri) -> + Grim.deprecate("Use `::activateItemForURI` instead.") + @activateItemForURI(uri) From edf17f1fdbaeb4ea1a6a46a2501f8c94e1fc9d81 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 16:19:53 -0700 Subject: [PATCH 34/65] Conditionally include deprecations in Project --- src/project.coffee | 115 ++++++++++++++++++++++----------------------- 1 file changed, 56 insertions(+), 59 deletions(-) diff --git a/src/project.coffee b/src/project.coffee index f0d368531..02be678fe 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -4,7 +4,7 @@ url = require 'url' _ = require 'underscore-plus' fs = require 'fs-plus' Q = require 'q' -{deprecate} = require 'grim' +{includeDeprecations, deprecate} = require 'grim' {Model} = require 'theorist' {Subscriber} = require 'emissary' {Emitter} = require 'event-kit' @@ -25,12 +25,6 @@ class Project extends Model atom.deserializers.add(this) Serializable.includeInto(this) - @pathForRepositoryUrl: (repoUrl) -> - deprecate '::pathForRepositoryUrl will be removed. Please remove from your code.' - [repoName] = url.parse(repoUrl).path.split('/')[-1..] - repoName = repoName.replace(/\.git$/, '') - path.join(atom.config.get('core.projectHome'), repoName) - ### Section: Construction and Destruction ### @@ -73,8 +67,10 @@ class Project extends Model @subscribeToBuffer(buffer) for buffer in @buffers - Grim.deprecate("Pass 'paths' array instead of 'path' to project constructor") if path? - paths ?= _.compact([path]) + if Grim.includeDeprecations and path? + Grim.deprecate("Pass 'paths' array instead of 'path' to project constructor") + paths ?= _.compact([path]) + @setPaths(paths) destroyed: -> @@ -122,13 +118,6 @@ class Project extends Model onDidAddBuffer: (callback) -> @emitter.on 'did-add-buffer', callback - on: (eventName) -> - if eventName is 'path-changed' - Grim.deprecate("Use Project::onDidChangePaths instead") - else - Grim.deprecate("Project::on is deprecated. Use documented event subscription methods instead.") - super - ### Section: Accessing the git repository ### @@ -144,9 +133,6 @@ class Project extends Model # project.repositoryForDirectory.bind(project))) # ``` getRepositories: -> @repositories - getRepo: -> - Grim.deprecate("Use ::getRepositories instead") - @getRepositories()[0] # Public: Get the repository for a given directory asynchronously. # @@ -180,9 +166,6 @@ class Project extends Model # Public: Get an {Array} of {String}s containing the paths of the project's # directories. getPaths: -> rootDirectory.getPath() for rootDirectory in @rootDirectories - getPath: -> - Grim.deprecate("Use ::getPaths instead") - @getPaths()[0] # Public: Set the paths of the project's directories. # @@ -198,10 +181,6 @@ class Project extends Model @emit "path-changed" @emitter.emit 'did-change-paths', projectPaths - setPath: (path) -> - Grim.deprecate("Use ::setPaths instead") - @setPaths([path]) - # Public: Add a path to the project's list of root paths # # * `projectPath` {String} The path to the directory to add. @@ -257,13 +236,6 @@ class Project extends Model # Public: Get an {Array} of {Directory}s associated with this project. getDirectories: -> @rootDirectories - getRootDirectory: -> - Grim.deprecate("Use ::getDirectories instead") - @getDirectories()[0] - - resolve: (uri) -> - Grim.deprecate("Use `Project::getDirectories()[0]?.resolve()` instead") - @resolvePath(uri) resolvePath: (uri) -> return unless uri @@ -329,18 +301,6 @@ class Project extends Model contains: (pathToCheck) -> @rootDirectories.some (dir) -> dir.contains(pathToCheck) - ### - Section: Searching and Replacing - ### - - scan: (regex, options={}, iterator) -> - Grim.deprecate("Use atom.workspace.scan instead of atom.project.scan") - atom.workspace.scan(regex, options, iterator) - - replace: (regex, replacementText, filePaths, iterator) -> - Grim.deprecate("Use atom.workspace.replace instead of atom.project.replace") - atom.workspace.replace(regex, replacementText, filePaths, iterator) - ### Section: Private ### @@ -365,12 +325,6 @@ class Project extends Model @bufferForPath(filePath).then (buffer) => @buildEditorForBuffer(buffer, options) - # Deprecated - openSync: (filePath, options={}) -> - deprecate("Use Project::open instead") - filePath = @resolvePath(filePath) - @buildEditorForBuffer(@bufferForPathSync(filePath), options) - # Retrieves all the {TextBuffer}s in the project; that is, the # buffers for all open files. # @@ -479,22 +433,65 @@ class Project extends Model detail: error.message dismissable: true - # Deprecated: delegate - registerOpener: (opener) -> +if includeDeprecations + Project.pathForRepositoryUrl = (repoUrl) -> + deprecate '::pathForRepositoryUrl will be removed. Please remove from your code.' + [repoName] = url.parse(repoUrl).path.split('/')[-1..] + repoName = repoName.replace(/\.git$/, '') + path.join(atom.config.get('core.projectHome'), repoName) + + Project::registerOpener = (opener) -> deprecate("Use Workspace::addOpener instead") atom.workspace.addOpener(opener) - # Deprecated: delegate - unregisterOpener: (opener) -> + Project::unregisterOpener = (opener) -> deprecate("Call .dispose() on the Disposable returned from ::addOpener instead") atom.workspace.unregisterOpener(opener) - # Deprecated: delegate - eachEditor: (callback) -> + Project::eachEditor = (callback) -> deprecate("Use Workspace::observeTextEditors instead") atom.workspace.observeTextEditors(callback) - # Deprecated: delegate - getEditors: -> + Project::getEditors = -> deprecate("Use Workspace::getTextEditors instead") atom.workspace.getTextEditors() + + Project::on = (eventName) -> + if eventName is 'path-changed' + Grim.deprecate("Use Project::onDidChangePaths instead") + else + Grim.deprecate("Project::on is deprecated. Use documented event subscription methods instead.") + super + + Project::getRepo = -> + Grim.deprecate("Use ::getRepositories instead") + @getRepositories()[0] + + Project::getPath = -> + Grim.deprecate("Use ::getPaths instead") + @getPaths()[0] + + Project::setPath = (path) -> + Grim.deprecate("Use ::setPaths instead") + @setPaths([path]) + + Project::getRootDirectory = -> + Grim.deprecate("Use ::getDirectories instead") + @getDirectories()[0] + + Project::resolve = (uri) -> + Grim.deprecate("Use `Project::getDirectories()[0]?.resolve()` instead") + @resolvePath(uri) + + Project::scan = (regex, options={}, iterator) -> + Grim.deprecate("Use atom.workspace.scan instead of atom.project.scan") + atom.workspace.scan(regex, options, iterator) + + Project::replace = (regex, replacementText, filePaths, iterator) -> + Grim.deprecate("Use atom.workspace.replace instead of atom.project.replace") + atom.workspace.replace(regex, replacementText, filePaths, iterator) + + Project::openSync = (filePath, options={}) -> + deprecate("Use Project::open instead") + filePath = @resolvePath(filePath) + @buildEditorForBuffer(@bufferForPathSync(filePath), options) From 9e904268411b0b955823371cee7a79102f01726e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 16:42:20 -0700 Subject: [PATCH 35/65] Only do legacy emit when including deprecations --- src/workspace.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/workspace.coffee b/src/workspace.coffee index a5a4e5e30..858ae063f 100644 --- a/src/workspace.coffee +++ b/src/workspace.coffee @@ -112,7 +112,7 @@ class Workspace extends Model _.uniq(packageNames) editorAdded: (editor) -> - @emit 'editor-created', editor + @emit 'editor-created', editor if includeDeprecations installShellCommands: -> require('./command-installer').installShellCommandsInteractively() @@ -446,7 +446,7 @@ class Workspace extends Model if options.initialLine? or options.initialColumn? item.setCursorBufferPosition?([options.initialLine, options.initialColumn]) index = pane.getActiveItemIndex() - @emit "uri-opened" + @emit "uri-opened" if includeDeprecations @emitter.emit 'did-open', {uri, pane, item, index} item From 23d1c72a5f3945aa1b8f76c884ee95bfe613f05a Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 17:06:10 -0700 Subject: [PATCH 36/65] Remove unused imports --- src/context-menu-manager.coffee | 4 +--- src/decoration.coffee | 2 +- src/display-buffer.coffee | 3 ++- src/marker.coffee | 1 - src/pane.coffee | 1 - 5 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/context-menu-manager.coffee b/src/context-menu-manager.coffee index 69caa5d6d..4565c8b55 100644 --- a/src/context-menu-manager.coffee +++ b/src/context-menu-manager.coffee @@ -1,6 +1,4 @@ -{$} = require './space-pen-extensions' _ = require 'underscore-plus' -remote = require 'remote' path = require 'path' CSON = require 'season' fs = require 'fs-plus' @@ -189,7 +187,7 @@ class ContextMenuManager menuTemplate = @templateForEvent(event) return unless menuTemplate?.length > 0 - remote.getCurrentWindow().emit('context-menu', menuTemplate) + atom.getCurrentWindow().emit('context-menu', menuTemplate) return clear: -> diff --git a/src/decoration.coffee b/src/decoration.coffee index b3ad4b7ff..a556a3a3c 100644 --- a/src/decoration.coffee +++ b/src/decoration.coffee @@ -1,5 +1,4 @@ _ = require 'underscore-plus' -EmitterMixin = require('emissary').Emitter {Emitter} = require 'event-kit' Grim = require 'grim' @@ -165,6 +164,7 @@ class Decoration null if Grim.includeDeprecations + EmitterMixin = require('emissary').Emitter EmitterMixin.includeInto(Decoration) Decoration::on = (eventName) -> diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index 277a79200..12b839143 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -1,5 +1,4 @@ _ = require 'underscore-plus' -EmitterMixin = require('emissary').Emitter Serializable = require 'serializable' {Model} = require 'theorist' {CompositeDisposable, Emitter} = require 'event-kit' @@ -1229,6 +1228,8 @@ class DisplayBuffer extends Model @foldsByMarkerId[marker.id] if Grim.includeDeprecations + EmitterMixin = require('emissary').Emitter + DisplayBuffer::on = (eventName) -> switch eventName when 'changed' diff --git a/src/marker.coffee b/src/marker.coffee index bd48eb48c..c177b792e 100644 --- a/src/marker.coffee +++ b/src/marker.coffee @@ -1,4 +1,3 @@ -{Range} = require 'text-buffer' _ = require 'underscore-plus' {CompositeDisposable, Emitter} = require 'event-kit' Grim = require 'grim' diff --git a/src/pane.coffee b/src/pane.coffee index d1e83c609..07e621e46 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -5,7 +5,6 @@ Serializable = require 'serializable' Grim = require 'grim' PaneAxis = require './pane-axis' TextEditor = require './text-editor' -PaneView = null # Extended: A container for presenting content in the center of the workspace. # Panes can contain multiple items, one of which is *active* at a given time. From 63072bf8aee0909ab69585f4e5109d649855a3e2 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 17:11:42 -0700 Subject: [PATCH 37/65] Check deprecations flag for space pen shim inclusion --- src/atom.coffee | 4 +++- src/text-editor-component.coffee | 7 ++++--- src/text-editor-element.coffee | 5 +++-- src/workspace-element.coffee | 6 +++--- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/atom.coffee b/src/atom.coffee index ace3245ef..b787764be 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -721,7 +721,9 @@ class Atom extends Model deserializeWorkspaceView: -> Workspace = require './workspace' - WorkspaceView = require './workspace-view' + + if includeDeprecations + WorkspaceView = require './workspace-view' startTime = Date.now() @workspace = Workspace.deserialize(@state.workspace) ? new Workspace diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index c2babdca4..b57920952 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -152,9 +152,10 @@ class TextEditorComponent if @editor.isAlive() @updateParentViewFocusedClassIfNeeded() @updateParentViewMiniClass() - @hostElement.__spacePenView.trigger 'cursor:moved' if cursorMoved - @hostElement.__spacePenView.trigger 'selection:changed' if selectionChanged - @hostElement.__spacePenView.trigger 'editor:display-updated' + if grim.includeDeprecations + @hostElement.__spacePenView.trigger 'cursor:moved' if cursorMoved + @hostElement.__spacePenView.trigger 'selection:changed' if selectionChanged + @hostElement.__spacePenView.trigger 'editor:display-updated' readAfterUpdateSync: => @linesComponent.measureCharactersInNewLines() if @isVisible() and not @newState.content.scrollingVertically diff --git a/src/text-editor-element.coffee b/src/text-editor-element.coffee index ccd69dca8..5822f533c 100644 --- a/src/text-editor-element.coffee +++ b/src/text-editor-element.coffee @@ -3,6 +3,7 @@ Path = require 'path' {defaults} = require 'underscore-plus' TextBuffer = require 'text-buffer' +Grim = require 'grim' TextEditor = require './text-editor' TextEditorComponent = require './text-editor-component' TextEditorView = null @@ -20,7 +21,7 @@ class TextEditorElement extends HTMLElement createdCallback: -> @emitter = new Emitter @initializeContent() - @createSpacePenShim() + @createSpacePenShim() if Grim.includeDeprecations @addEventListener 'focus', @focused.bind(this) @addEventListener 'blur', @blurred.bind(this) @@ -86,7 +87,7 @@ class TextEditorElement extends HTMLElement @model.onDidChangeGrammar => @addGrammarScopeAttribute() @model.onDidChangeEncoding => @addEncodingAttribute() @model.onDidDestroy => @unmountComponent() - @__spacePenView.setModel(@model) + @__spacePenView.setModel(@model) if Grim.includeDeprecations @model getModel: -> diff --git a/src/workspace-element.coffee b/src/workspace-element.coffee index f2805ff08..66ded0084 100644 --- a/src/workspace-element.coffee +++ b/src/workspace-element.coffee @@ -16,10 +16,10 @@ class WorkspaceElement extends HTMLElement @initializeContent() @observeScrollbarStyle() @observeTextEditorFontConfig() - @createSpacePenShim() + @createSpacePenShim() if Grim.includeDeprecations attachedCallback: -> - callAttachHooks(this) + callAttachHooks(this) if Grim.includeDeprecations @focus() detachedCallback: -> @@ -82,7 +82,7 @@ class WorkspaceElement extends HTMLElement @appendChild(@panelContainers.modal) - @__spacePenView.setModel(@model) + @__spacePenView.setModel(@model) if Grim.includeDeprecations this getModel: -> @model From dd72bbe0ef1eae13eff908f006ae4181aae3756f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 17:19:44 -0700 Subject: [PATCH 38/65] Conditionally include deprecations in Config --- src/config.coffee | 163 ++++++++++++++++++++-------------------------- 1 file changed, 70 insertions(+), 93 deletions(-) diff --git a/src/config.coffee b/src/config.coffee index 4901f21dc..b48d69ca0 100644 --- a/src/config.coffee +++ b/src/config.coffee @@ -371,13 +371,13 @@ class Config observe: -> if arguments.length is 2 [keyPath, callback] = arguments - else if arguments.length is 3 and (_.isArray(arguments[0]) or arguments[0] instanceof ScopeDescriptor) + else if Grim.includeDeprecations and arguments.length is 3 and (_.isArray(arguments[0]) or arguments[0] instanceof ScopeDescriptor) Grim.deprecate """ Passing a scope descriptor as the first argument to Config::observe is deprecated. Pass a `scope` in an options hash as the third argument instead. """ [scopeDescriptor, keyPath, callback] = arguments - else if arguments.length is 3 and (_.isString(arguments[0]) and _.isObject(arguments[1])) + else if Grim.includeDeprecations and arguments.length is 3 and (_.isString(arguments[0]) and _.isObject(arguments[1])) [keyPath, options, callback] = arguments scopeDescriptor = options.scope if options.callNow? @@ -419,7 +419,7 @@ class Config [callback] = arguments else if arguments.length is 2 [keyPath, callback] = arguments - else if _.isArray(arguments[0]) or arguments[0] instanceof ScopeDescriptor + else if Grim.includeDeprecations and _.isArray(arguments[0]) or arguments[0] instanceof ScopeDescriptor Grim.deprecate """ Passing a scope descriptor as the first argument to Config::onDidChange is deprecated. Pass a `scope` in an options hash as the third argument instead. @@ -498,7 +498,7 @@ class Config if typeof arguments[0] is 'string' or not arguments[0]? [keyPath, options] = arguments {scope} = options - else + else if Grim.includeDeprecations Grim.deprecate """ Passing a scope descriptor as the first argument to Config::get is deprecated. Pass a `scope` in an options hash as the final argument instead. @@ -578,7 +578,7 @@ class Config # * `true` if the value was set. # * `false` if the value was not able to be coerced to the type specified in the setting's schema. set: -> - if arguments[0]?[0] is '.' + if Grim.includeDeprecations and arguments[0]?[0] is '.' Grim.deprecate """ Passing a scope selector as the first argument to Config::set is deprecated. Pass a `scopeSelector` in an options hash as the final argument instead. @@ -617,7 +617,7 @@ class Config # * `scopeSelector` (optional) {String}. See {::set} # * `source` (optional) {String}. See {::set} unset: (keyPath, options) -> - if typeof options is 'string' + if Grim.includeDeprecations and typeof options is 'string' Grim.deprecate """ Passing a scope selector as the first argument to Config::unset is deprecated. Pass a `scopeSelector` in an options hash as the second argument instead. @@ -652,47 +652,6 @@ class Config getSources: -> _.uniq(_.pluck(@scopedSettingsStore.propertySets, 'source')).sort() - # Deprecated: Restore the global setting at `keyPath` to its default value. - # - # Returns the new value. - restoreDefault: (scopeSelector, keyPath) -> - Grim.deprecate("Use ::unset instead.") - @unset(scopeSelector, keyPath) - @get(keyPath) - - # Deprecated: Get the global default value of the key path. _Please note_ that in most - # cases calling this is not necessary! {::get} returns the default value when - # a custom value is not specified. - # - # * `scopeSelector` (optional) {String}. eg. '.source.ruby' - # * `keyPath` The {String} name of the key. - # - # Returns the default value. - getDefault: -> - Grim.deprecate("Use `::get(keyPath, {scope, excludeSources: [atom.config.getUserConfigPath()]})` instead") - if arguments.length is 1 - [keyPath] = arguments - else - [scopeSelector, keyPath] = arguments - scope = [scopeSelector] - @get(keyPath, {scope, excludeSources: [@getUserConfigPath()]}) - - # Deprecated: Is the value at `keyPath` its default value? - # - # * `scopeSelector` (optional) {String}. eg. '.source.ruby' - # * `keyPath` The {String} name of the key. - # - # Returns a {Boolean}, `true` if the current value is the default, `false` - # otherwise. - isDefault: -> - Grim.deprecate("Use `not ::get(keyPath, {scope, sources: [atom.config.getUserConfigPath()]})?` instead") - if arguments.length is 1 - [keyPath] = arguments - else - [scopeSelector, keyPath] = arguments - scope = [scopeSelector] - not @get(keyPath, {scope, sources: [@getUserConfigPath()]})? - # Extended: Retrieve the schema for a specific key path. The schema will tell # you what type the keyPath expects, and other metadata about the config # option. @@ -709,12 +668,6 @@ class Config schema = schema.properties?[key] schema - # Deprecated: Returns a new {Object} containing all of the global settings and - # defaults. Returns the scoped settings when a `scopeSelector` is specified. - getSettings: -> - Grim.deprecate "Use ::get(keyPath) instead" - _.deepExtend({}, @settings, @defaultSettings) - # Extended: Get the {String} path to the config file being used. getUserConfigPath: -> @configFilePath @@ -732,31 +685,6 @@ class Config @transactDepth-- @emitChangeEvent() - ### - Section: Deprecated - ### - - getInt: (keyPath) -> - Grim.deprecate '''Config::getInt is no longer necessary. Use ::get instead. - Make sure the config option you are accessing has specified an `integer` - schema. See the schema section of - https://atom.io/docs/api/latest/Config for more info.''' - parseInt(@get(keyPath)) - - getPositiveInt: (keyPath, defaultValue=0) -> - Grim.deprecate '''Config::getPositiveInt is no longer necessary. Use ::get instead. - Make sure the config option you are accessing has specified an `integer` - schema with `minimum: 1`. See the schema section of - https://atom.io/docs/api/latest/Config for more info.''' - Math.max(@getInt(keyPath), 0) or defaultValue - - toggle: (keyPath) -> - Grim.deprecate 'Config::toggle is no longer supported. Please remove from your code.' - @set(keyPath, !@get(keyPath)) - - unobserve: (keyPath) -> - Grim.deprecate 'Config::unobserve no longer does anything. Call `.dispose()` on the object returned by Config::observe instead.' - ### Section: Internal methods used by core ### @@ -1056,16 +984,6 @@ class Config @emitChangeEvent() - addScopedSettings: (source, selector, value, options) -> - Grim.deprecate("Use ::set instead") - settingsBySelector = {} - settingsBySelector[selector] = value - disposable = @scopedSettingsStore.addProperties(source, settingsBySelector, options) - @emitChangeEvent() - new Disposable => - disposable.dispose() - @emitChangeEvent() - setRawScopedValue: (keyPath, value, source, selector, options) -> if keyPath? newValue = {} @@ -1094,11 +1012,6 @@ class Config oldValue = newValue callback(event) - settingsForScopeDescriptor: (scopeDescriptor, keyPath) -> - Grim.deprecate("Use Config::getAll instead") - entries = @getAll(null, scope: scopeDescriptor) - value for {value} in entries when _.valueForKeyPath(value, keyPath)? - # Base schema enforcers. These will coerce raw input into the specified type, # and will throw an error when the value cannot be coerced. Throwing the error # will indicate that the value should not be set. @@ -1232,3 +1145,67 @@ withoutEmptyObjects = (object) -> else resultObject = object resultObject + +if Grim.includeDeprecations + Config::restoreDefault = (scopeSelector, keyPath) -> + Grim.deprecate("Use ::unset instead.") + @unset(scopeSelector, keyPath) + @get(keyPath) + + Config::getDefault = -> + Grim.deprecate("Use `::get(keyPath, {scope, excludeSources: [atom.config.getUserConfigPath()]})` instead") + if arguments.length is 1 + [keyPath] = arguments + else + [scopeSelector, keyPath] = arguments + scope = [scopeSelector] + @get(keyPath, {scope, excludeSources: [@getUserConfigPath()]}) + + Config::isDefault = -> + Grim.deprecate("Use `not ::get(keyPath, {scope, sources: [atom.config.getUserConfigPath()]})?` instead") + if arguments.length is 1 + [keyPath] = arguments + else + [scopeSelector, keyPath] = arguments + scope = [scopeSelector] + not @get(keyPath, {scope, sources: [@getUserConfigPath()]})? + + Config::getSettings = -> + Grim.deprecate "Use ::get(keyPath) instead" + _.deepExtend({}, @settings, @defaultSettings) + + Config::getInt = (keyPath) -> + Grim.deprecate '''Config::getInt is no longer necessary. Use ::get instead. + Make sure the config option you are accessing has specified an `integer` + schema. See the schema section of + https://atom.io/docs/api/latest/Config for more info.''' + parseInt(@get(keyPath)) + + Config::getPositiveInt = (keyPath, defaultValue=0) -> + Grim.deprecate '''Config::getPositiveInt is no longer necessary. Use ::get instead. + Make sure the config option you are accessing has specified an `integer` + schema with `minimum: 1`. See the schema section of + https://atom.io/docs/api/latest/Config for more info.''' + Math.max(@getInt(keyPath), 0) or defaultValue + + Config::toggle = (keyPath) -> + Grim.deprecate 'Config::toggle is no longer supported. Please remove from your code.' + @set(keyPath, !@get(keyPath)) + + Config::unobserve = (keyPath) -> + Grim.deprecate 'Config::unobserve no longer does anything. Call `.dispose()` on the object returned by Config::observe instead.' + + Config::addScopedSettings = (source, selector, value, options) -> + Grim.deprecate("Use ::set instead") + settingsBySelector = {} + settingsBySelector[selector] = value + disposable = @scopedSettingsStore.addProperties(source, settingsBySelector, options) + @emitChangeEvent() + new Disposable => + disposable.dispose() + @emitChangeEvent() + + Config::settingsForScopeDescriptor = (scopeDescriptor, keyPath) -> + Grim.deprecate("Use Config::getAll instead") + entries = @getAll(null, scope: scopeDescriptor) + value for {value} in entries when _.valueForKeyPath(value, keyPath)? From 0c06c69cd91c0bca31c547893b2b4c272fa2fc55 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 17:31:28 -0700 Subject: [PATCH 39/65] Check deprecations flag for space pen shim inclusion --- src/pane-container-element.coffee | 9 ++++++--- src/pane-element.coffee | 8 +++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/pane-container-element.coffee b/src/pane-container-element.coffee index 65ee9ecea..55d527971 100644 --- a/src/pane-container-element.coffee +++ b/src/pane-container-element.coffee @@ -1,4 +1,5 @@ {CompositeDisposable} = require 'event-kit' +Grim = require 'grim' {callAttachHooks} = require './space-pen-extensions' PaneContainerView = null _ = require 'underscore-plus' @@ -8,12 +9,14 @@ class PaneContainerElement extends HTMLElement createdCallback: -> @subscriptions = new CompositeDisposable @classList.add 'panes' - PaneContainerView ?= require './pane-container-view' - @__spacePenView = new PaneContainerView(this) + + if Grim.includeDeprecations + PaneContainerView ?= require './pane-container-view' + @__spacePenView = new PaneContainerView(this) initialize: (@model) -> @subscriptions.add @model.observeRoot(@rootChanged.bind(this)) - @__spacePenView.setModel(@model) + @__spacePenView.setModel(@model) if Grim.includeDeprecations this rootChanged: (root) -> diff --git a/src/pane-element.coffee b/src/pane-element.coffee index f626e9fad..f050567b2 100644 --- a/src/pane-element.coffee +++ b/src/pane-element.coffee @@ -1,6 +1,7 @@ {CompositeDisposable} = require 'event-kit' +Grim = require 'grim' {$, callAttachHooks, callRemoveHooks} = require './space-pen-extensions' -PaneView = require './pane-view' +PaneView = null class PaneElement extends HTMLElement attached: false @@ -12,7 +13,7 @@ class PaneElement extends HTMLElement @initializeContent() @subscribeToDOMEvents() - @createSpacePenShim() + @createSpacePenShim() if Grim.includeDeprecations attachedCallback: -> @attached = true @@ -41,6 +42,7 @@ class PaneElement extends HTMLElement @addEventListener 'blur', handleBlur, true createSpacePenShim: -> + PaneView ?= require './pane-view' @__spacePenView = new PaneView(this) initialize: (@model) -> @@ -49,7 +51,7 @@ class PaneElement extends HTMLElement @subscriptions.add @model.observeActiveItem(@activeItemChanged.bind(this)) @subscriptions.add @model.onDidRemoveItem(@itemRemoved.bind(this)) @subscriptions.add @model.onDidDestroy(@paneDestroyed.bind(this)) - @__spacePenView.setModel(@model) + @__spacePenView.setModel(@model) if Grim.includeDeprecations this getModel: -> @model From bb53548ba02b96cf45cbe7d1caa5766e65ec96de Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 17:35:29 -0700 Subject: [PATCH 40/65] Only check deprecation flag for callNow usage --- src/config.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config.coffee b/src/config.coffee index b48d69ca0..3d0e363ad 100644 --- a/src/config.coffee +++ b/src/config.coffee @@ -377,10 +377,10 @@ class Config Pass a `scope` in an options hash as the third argument instead. """ [scopeDescriptor, keyPath, callback] = arguments - else if Grim.includeDeprecations and arguments.length is 3 and (_.isString(arguments[0]) and _.isObject(arguments[1])) + else if arguments.length is 3 and (_.isString(arguments[0]) and _.isObject(arguments[1])) [keyPath, options, callback] = arguments scopeDescriptor = options.scope - if options.callNow? + if Grim.includeDeprecations and options.callNow? Grim.deprecate """ Config::observe no longer takes a `callNow` option. Use ::onDidChange instead. Note that ::onDidChange passes its callback different arguments. From 8ceb2e2028edddb84017479371ee80bd64f85e2f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 18:09:00 -0700 Subject: [PATCH 41/65] Don't extend Model in 1.0 mode --- src/atom.coffee | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/atom.coffee b/src/atom.coffee index b787764be..463f5a7bf 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -16,11 +16,13 @@ fs = require 'fs-plus' WindowEventHandler = require './window-event-handler' StylesElement = require './styles-element' +SuperClass = if includeDeprecations then Model else Object + # Essential: Atom global for dealing with packages, themes, menus, and the window. # # An instance of this class is always available as the `atom` global. module.exports = -class Atom extends Model +class Atom extends SuperClass @version: 1 # Increment this when the serialization format changes # Load or create the Atom environment in the given mode. @@ -230,7 +232,7 @@ class Atom extends Model @openDevTools() @executeJavaScriptInDevTools('InspectorFrontendAPI.showConsole()') - @emit 'uncaught-error', arguments... + @emit 'uncaught-error', arguments... if includeDeprecations @emitter.emit 'did-throw-error', {message, url, line, column, originalError} @disposables?.dispose() From 488e40e635fc7b86946c518d4b97ea278c196a83 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 18:17:03 -0700 Subject: [PATCH 42/65] Add 1.0 preview mode bridge Model class --- src/atom.coffee | 8 +++++--- src/model.coffee | 27 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 src/model.coffee diff --git a/src/atom.coffee b/src/atom.coffee index 463f5a7bf..427811162 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -8,7 +8,6 @@ shell = require 'shell' _ = require 'underscore-plus' {deprecate, includeDeprecations} = require 'grim' {CompositeDisposable, Emitter} = require 'event-kit' -{Model} = require 'theorist' fs = require 'fs-plus' {convertStackTrace, convertLine} = require 'coffeestack' @@ -16,13 +15,16 @@ fs = require 'fs-plus' WindowEventHandler = require './window-event-handler' StylesElement = require './styles-element' -SuperClass = if includeDeprecations then Model else Object +if includeDeprecations + {Model} = require 'theorist' +else + Model = require './model' # Essential: Atom global for dealing with packages, themes, menus, and the window. # # An instance of this class is always available as the `atom` global. module.exports = -class Atom extends SuperClass +class Atom extends Model @version: 1 # Increment this when the serialization format changes # Load or create the Atom environment in the given mode. diff --git a/src/model.coffee b/src/model.coffee new file mode 100644 index 000000000..b590082a5 --- /dev/null +++ b/src/model.coffee @@ -0,0 +1,27 @@ +PropertyAccessors = require 'property-accessors' + +nextInstanceId = 1 + +module.exports = +class Model + PropertyAccessors.includeInto(this) + + @resetNextInstanceId: -> nextInstanceId = 1 + + constructor: (params) -> + @assignId(params?.id) + + assignId: (id) -> + @id ?= id ? nextInstanceId++ + + @::advisedAccessor 'id', + set: (id) -> nextInstanceId = id + 1 if id >= nextInstanceId + + destroy: -> + return unless @isAlive() + @alive = false + @destroyed?() + + isAlive: -> @alive + + isDestroyed: -> not @isAlive() From e41a366e081f4db1fac881137207e12aa8d36d2e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 18:19:41 -0700 Subject: [PATCH 43/65] Using single Model class require --- src/atom.coffee | 7 +------ src/model.coffee | 5 +++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/atom.coffee b/src/atom.coffee index 427811162..55cb7ee59 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -10,16 +10,11 @@ _ = require 'underscore-plus' {CompositeDisposable, Emitter} = require 'event-kit' fs = require 'fs-plus' {convertStackTrace, convertLine} = require 'coffeestack' - +Model = require './model' {$} = require './space-pen-extensions' WindowEventHandler = require './window-event-handler' StylesElement = require './styles-element' -if includeDeprecations - {Model} = require 'theorist' -else - Model = require './model' - # Essential: Atom global for dealing with packages, themes, menus, and the window. # # An instance of this class is always available as the `atom` global. diff --git a/src/model.coffee b/src/model.coffee index b590082a5..20128b0d2 100644 --- a/src/model.coffee +++ b/src/model.coffee @@ -1,3 +1,8 @@ +Grim = require 'grim' +if Grim.includeDeprecations + module.exports = require('theorist').Model + return + PropertyAccessors = require 'property-accessors' nextInstanceId = 1 From 82c39a5af9e0e6371ba3c8c0e499ecb518d540c9 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 18:28:51 -0700 Subject: [PATCH 44/65] Use lighter Model in cursor, selection, and project --- src/cursor.coffee | 2 +- src/project.coffee | 10 +++++----- src/selection.coffee | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/cursor.coffee b/src/cursor.coffee index a930666c3..6bb3f4bae 100644 --- a/src/cursor.coffee +++ b/src/cursor.coffee @@ -1,8 +1,8 @@ {Point, Range} = require 'text-buffer' -{Model} = require 'theorist' {Emitter} = require 'event-kit' _ = require 'underscore-plus' Grim = require 'grim' +Model = require './model' # Extended: The `Cursor` class represents the little blinking line identifying # where text can be inserted. diff --git a/src/project.coffee b/src/project.coffee index 02be678fe..0392bd7ce 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -5,7 +5,6 @@ _ = require 'underscore-plus' fs = require 'fs-plus' Q = require 'q' {includeDeprecations, deprecate} = require 'grim' -{Model} = require 'theorist' {Subscriber} = require 'emissary' {Emitter} = require 'event-kit' DefaultDirectoryProvider = require './default-directory-provider' @@ -13,6 +12,7 @@ Serializable = require 'serializable' TextBuffer = require 'text-buffer' Grim = require 'grim' +Model = require './model' TextEditor = require './text-editor' Task = require './task' GitRepositoryProvider = require './git-repository-provider' @@ -178,7 +178,7 @@ class Project extends Model @addPath(projectPath, emitEvent: false) for projectPath in projectPaths - @emit "path-changed" + @emit "path-changed" if includeDeprecations @emitter.emit 'did-change-paths', projectPaths # Public: Add a path to the project's list of root paths @@ -205,7 +205,7 @@ class Project extends Model @repositories.push(repo ? null) unless options?.emitEvent is false - @emit "path-changed" + @emit "path-changed" if includeDeprecations @emitter.emit 'did-change-paths', @getPaths() # Public: remove a path from the project's list of root paths. @@ -227,7 +227,7 @@ class Project extends Model [removedRepository] = @repositories.splice(indexToRemove, 1) removedDirectory.off() removedRepository?.destroy() unless removedRepository in @repositories - @emit "path-changed" + @emit "path-changed" if includeDeprecations @emitter.emit "did-change-paths", @getPaths() true else @@ -393,7 +393,7 @@ class Project extends Model addBufferAtIndex: (buffer, index, options={}) -> @buffers.splice(index, 0, buffer) @subscribeToBuffer(buffer) - @emit 'buffer-created', buffer + @emit 'buffer-created', buffer if includeDeprecations @emitter.emit 'did-add-buffer', buffer buffer diff --git a/src/selection.coffee b/src/selection.coffee index 2a2d1c98c..af70e234c 100644 --- a/src/selection.coffee +++ b/src/selection.coffee @@ -1,8 +1,8 @@ {Point, Range} = require 'text-buffer' -{Model} = require 'theorist' {pick} = _ = require 'underscore-plus' {Emitter} = require 'event-kit' Grim = require 'grim' +Model = require './model' NonWhitespaceRegExp = /\S/ @@ -27,7 +27,7 @@ class Selection extends Model unless @editor.isDestroyed() @destroyed = true @editor.removeSelection(this) - @emit 'destroyed' + @emit 'destroyed' if Grim.includeDeprecations @emitter.emit 'did-destroy' @emitter.dispose() @@ -732,7 +732,7 @@ class Selection extends Model newScreenRange: @getScreenRange() selection: this - @emit 'screen-range-changed', @getScreenRange() # old event + @emit 'screen-range-changed', @getScreenRange() if Grim.includeDeprecations @emitter.emit 'did-change-range' @editor.selectionRangeChanged(eventObject) From 578bce1aaf8a98ca3121b37c68ecd388c23ce797 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 25 Mar 2015 18:30:36 -0700 Subject: [PATCH 45/65] :art: --- src/project.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/project.coffee b/src/project.coffee index 0392bd7ce..63e5576de 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -7,11 +7,11 @@ Q = require 'q' {includeDeprecations, deprecate} = require 'grim' {Subscriber} = require 'emissary' {Emitter} = require 'event-kit' -DefaultDirectoryProvider = require './default-directory-provider' Serializable = require 'serializable' TextBuffer = require 'text-buffer' Grim = require 'grim' +DefaultDirectoryProvider = require './default-directory-provider' Model = require './model' TextEditor = require './text-editor' Task = require './task' From 83b679dcc2f273fba146ecd6990be1fd5e00aff1 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 26 Mar 2015 15:58:38 -0700 Subject: [PATCH 46/65] ::subscribe -> CompositeDisposable --- src/tokenized-buffer.coffee | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/tokenized-buffer.coffee b/src/tokenized-buffer.coffee index 303906ada..ff06c66e6 100644 --- a/src/tokenized-buffer.coffee +++ b/src/tokenized-buffer.coffee @@ -1,6 +1,6 @@ _ = require 'underscore-plus' {Model} = require 'theorist' -{Emitter} = require 'event-kit' +{CompositeDisposable, Emitter} = require 'event-kit' {Point, Range} = require 'text-buffer' Serializable = require 'serializable' TokenizedLine = require './tokenized-line' @@ -24,15 +24,19 @@ class TokenizedBuffer extends Model constructor: ({@buffer, @tabLength, @invisibles}) -> @emitter = new Emitter + @disposables = new CompositeDisposable - @subscribe atom.grammars.onDidAddGrammar(@grammarAddedOrUpdated) - @subscribe atom.grammars.onDidUpdateGrammar(@grammarAddedOrUpdated) + @disposables.add atom.grammars.onDidAddGrammar(@grammarAddedOrUpdated) + @disposables.add atom.grammars.onDidUpdateGrammar(@grammarAddedOrUpdated) - @subscribe @buffer.preemptDidChange (e) => @handleBufferChange(e) - @subscribe @buffer.onDidChangePath (@bufferPath) => @reloadGrammar() + @disposables.add @buffer.preemptDidChange (e) => @handleBufferChange(e) + @disposables.add @buffer.onDidChangePath (@bufferPath) => @reloadGrammar() @reloadGrammar() + destroyed: -> + @disposables.dispose() + serializeParams: -> bufferPath: @buffer.getPath() tabLength: @tabLength @@ -64,11 +68,14 @@ class TokenizedBuffer extends Model setGrammar: (grammar, score) -> return if grammar is @grammar - @unsubscribe(@grammar) if @grammar + @grammar = grammar @rootScopeDescriptor = new ScopeDescriptor(scopes: [@grammar.scopeName]) @currentGrammarScore = score ? grammar.getScore(@buffer.getPath(), @buffer.getText()) - @subscribe @grammar.onDidUpdate => @retokenizeLines() + + @grammarUpdateDisposable?.dispose() + @grammarUpdateDisposable = @grammar.onDidUpdate => @retokenizeLines() + @disposables.add(@grammarUpdateDisposable) @configSettings = tabLength: atom.config.get('editor.tabLength', scope: @rootScopeDescriptor) @@ -76,7 +83,7 @@ class TokenizedBuffer extends Model @grammarTabLengthSubscription = atom.config.onDidChange 'editor.tabLength', scope: @rootScopeDescriptor, ({newValue}) => @configSettings.tabLength = newValue @retokenizeLines() - @subscribe @grammarTabLengthSubscription + @disposables.add(@grammarTabLengthSubscription) @retokenizeLines() From 7861e462bece67e4965c996b65d8b879ebd34f70 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 26 Mar 2015 15:59:24 -0700 Subject: [PATCH 47/65] Add alive ivar to light Model --- src/model.coffee | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/model.coffee b/src/model.coffee index 20128b0d2..bfb854320 100644 --- a/src/model.coffee +++ b/src/model.coffee @@ -13,6 +13,8 @@ class Model @resetNextInstanceId: -> nextInstanceId = 1 + alive: true + constructor: (params) -> @assignId(params?.id) From 3a94376c46706187b90505d7b065d15e32881611 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 2 Apr 2015 15:00:43 -0700 Subject: [PATCH 48/65] :arrow_up: event-kit@1.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 02b3c9669..b36c35b0a 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "color": "^0.7.3", "delegato": "^1", "emissary": "^1.3.3", - "event-kit": "^1.0.3", + "event-kit": "^1.1", "first-mate": "^3.0.1", "fs-plus": "^2.6", "fstream": "0.1.24", From fe1bb240753cee00acb7fa792f115b2747eb206f Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 2 Apr 2015 15:31:31 -0700 Subject: [PATCH 49/65] :arrow_up: pathwatcher@4.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b36c35b0a..b6abacc20 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "nslog": "^2.0.0", "oniguruma": "^4.1", "optimist": "0.4.0", - "pathwatcher": "^4.3.1", + "pathwatcher": "^4.4", "property-accessors": "^1.1.3", "q": "^1.1.2", "random-words": "0.0.1", From ccd57bd66689db897a97353bf1b220f5aa78f1fb Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 2 Apr 2015 15:35:40 -0700 Subject: [PATCH 50/65] :arrow_up: atom-keymap@5.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b6abacc20..2e4b6c9d2 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "atomShellVersion": "0.22.3", "dependencies": { "async": "0.2.6", - "atom-keymap": "^5", + "atom-keymap": "^5.1", "atom-space-pen-views": "^2.0.4", "babel-core": "^4.0.2", "bootstrap": "git+https://github.com/atom/bootstrap.git#6af81906189f1747fd6c93479e3d998ebe041372", From 5e090669f91d4617e08dd55bcb86e7b3777a3e46 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 2 Apr 2015 15:38:49 -0700 Subject: [PATCH 51/65] :arrow_up: scoped-property-store@0.17 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2e4b6c9d2..0e700271c 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "reactionary-atom-fork": "^1.0.0", "runas": "2.0.0", "scandal": "2.0.0", - "scoped-property-store": "^0.16.2", + "scoped-property-store": "^0.17.0", "scrollbar-style": "^2.0.0", "season": "^5.1.4", "semver": "~4.2", From 1f8d7a05af90668d097bd245e05cb11820f4a054 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 2 Apr 2015 15:50:48 -0700 Subject: [PATCH 52/65] :arrow_up: first-mate@3.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0e700271c..093afa9a5 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "delegato": "^1", "emissary": "^1.3.3", "event-kit": "^1.1", - "first-mate": "^3.0.1", + "first-mate": "^3.1", "fs-plus": "^2.6", "fstream": "0.1.24", "fuzzaldrin": "^2.1", From 2a2cf17fc1ac81c95d8a44651135c32c87099c8c Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 2 Apr 2015 17:04:16 -0700 Subject: [PATCH 53/65] :arrow_up: text-buffer@5.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 093afa9a5..8b575680c 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "space-pen": "3.8.2", "stacktrace-parser": "0.1.1", "temp": "0.8.1", - "text-buffer": "^5.1.1", + "text-buffer": "^5.2", "theorist": "^1.0.2", "typescript-simple": "1.0.0", "underscore-plus": "^1.6.6" From 7d592c8b7851b4e94a79d941b37e893a494d1161 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 2 Apr 2015 17:08:28 -0700 Subject: [PATCH 54/65] includeDeprecations -> includeDeprecatedAPIs --- exports/atom.coffee | 6 +++--- src/atom.coffee | 14 +++++++------- src/config.coffee | 14 +++++++------- src/context-menu-manager.coffee | 2 +- src/cursor.coffee | 10 +++++----- src/decoration.coffee | 8 ++++---- src/deserializer-manager.coffee | 2 +- src/display-buffer.coffee | 16 ++++++++-------- src/git-repository.coffee | 8 ++++---- src/grammar-registry.coffee | 4 ++-- src/marker.coffee | 8 ++++---- src/model.coffee | 2 +- src/package-manager.coffee | 6 +++--- src/package.coffee | 18 +++++++++--------- src/pane-container-element.coffee | 4 ++-- src/pane-element.coffee | 4 ++-- src/pane.coffee | 4 ++-- src/project.coffee | 14 +++++++------- src/selection.coffee | 6 +++--- src/styles-element.coffee | 6 +++--- src/text-editor-component.coffee | 4 ++-- src/text-editor-element.coffee | 4 ++-- src/text-editor.coffee | 6 +++--- src/tokenized-buffer.coffee | 12 ++++++------ src/workspace-element.coffee | 6 +++--- src/workspace.coffee | 14 +++++++------- static/index.js | 2 +- 27 files changed, 102 insertions(+), 102 deletions(-) diff --git a/exports/atom.coffee b/exports/atom.coffee index 6b9243098..0d4583c5d 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -1,7 +1,7 @@ TextBuffer = require 'text-buffer' {Point, Range} = TextBuffer {Emitter, Disposable, CompositeDisposable} = require 'event-kit' -{includeDeprecations, deprecate} = require 'grim' +{includeDeprecatedAPIs, deprecate} = require 'grim' module.exports = BufferedNodeProcess: require '../src/buffered-node-process' @@ -21,7 +21,7 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE module.exports.Task = require '../src/task' module.exports.TextEditor = require '../src/text-editor' - if includeDeprecations + if includeDeprecatedAPIs {$, $$, $$$, View} = require '../src/space-pen-extensions' Object.defineProperty module.exports, 'Workspace', get: -> @@ -125,7 +125,7 @@ unless process.env.ATOM_SHELL_INTERNAL_RUN_AS_NODE deprecate "Please require `reactionary-atom-fork` instead: `Reactionary = require 'reactionary-atom-fork'`. Add `\"reactionary-atom-fork\": \"^0.9\"` to your package dependencies." require 'reactionary-atom-fork' -if includeDeprecations +if includeDeprecatedAPIs Object.defineProperty module.exports, 'Git', get: -> deprecate "Please require `GitRepository` instead of `Git`: `{GitRepository} = require 'atom'`" module.exports.GitRepository diff --git a/src/atom.coffee b/src/atom.coffee index 55cb7ee59..1710edd98 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -6,7 +6,7 @@ remote = require 'remote' shell = require 'shell' _ = require 'underscore-plus' -{deprecate, includeDeprecations} = require 'grim' +{deprecate, includeDeprecatedAPIs} = require 'grim' {CompositeDisposable, Emitter} = require 'event-kit' fs = require 'fs-plus' {convertStackTrace, convertLine} = require 'coffeestack' @@ -33,7 +33,7 @@ class Atom extends Model atom = @deserialize(@loadState(mode)) ? new this({mode, @version}) atom.deserializeTimings.atom = Date.now() - startTime - if includeDeprecations + if includeDeprecatedAPIs workspaceViewDeprecationMessage = """ atom.workspaceView is no longer available. In most cases you will not need the view. See the Workspace docs for @@ -229,7 +229,7 @@ class Atom extends Model @openDevTools() @executeJavaScriptInDevTools('InspectorFrontendAPI.showConsole()') - @emit 'uncaught-error', arguments... if includeDeprecations + @emit 'uncaught-error', arguments... if includeDeprecatedAPIs @emitter.emit 'did-throw-error', {message, url, line, column, originalError} @disposables?.dispose() @@ -267,7 +267,7 @@ class Atom extends Model @config = new Config({configDirPath, resourcePath}) @keymaps = new KeymapManager({configDirPath, resourcePath}) - if includeDeprecations + if includeDeprecatedAPIs @keymap = @keymaps # Deprecated @keymaps.subscribeToFileReadFailure() @@ -285,7 +285,7 @@ class Atom extends Model @grammars = @deserializers.deserialize(@state.grammars ? @state.syntax) ? new GrammarRegistry() - if includeDeprecations + if includeDeprecatedAPIs Object.defineProperty this, 'syntax', get: -> deprecate "The atom.syntax global is deprecated. Use atom.grammars instead." @grammars @@ -721,7 +721,7 @@ class Atom extends Model deserializeWorkspaceView: -> Workspace = require './workspace' - if includeDeprecations + if includeDeprecatedAPIs WorkspaceView = require './workspace-view' startTime = Date.now() @@ -843,7 +843,7 @@ class Atom extends Model ipc.send('call-window-method', 'setAutoHideMenuBar', autoHide) ipc.send('call-window-method', 'setMenuBarVisibility', !autoHide) -if includeDeprecations +if includeDeprecatedAPIs # Deprecated: Callers should be converted to use atom.deserializers Atom::registerRepresentationClass = -> deprecate("Callers should be converted to use atom.deserializers") diff --git a/src/config.coffee b/src/config.coffee index 3d0e363ad..f7db867ed 100644 --- a/src/config.coffee +++ b/src/config.coffee @@ -371,7 +371,7 @@ class Config observe: -> if arguments.length is 2 [keyPath, callback] = arguments - else if Grim.includeDeprecations and arguments.length is 3 and (_.isArray(arguments[0]) or arguments[0] instanceof ScopeDescriptor) + else if Grim.includeDeprecatedAPIs and arguments.length is 3 and (_.isArray(arguments[0]) or arguments[0] instanceof ScopeDescriptor) Grim.deprecate """ Passing a scope descriptor as the first argument to Config::observe is deprecated. Pass a `scope` in an options hash as the third argument instead. @@ -380,7 +380,7 @@ class Config else if arguments.length is 3 and (_.isString(arguments[0]) and _.isObject(arguments[1])) [keyPath, options, callback] = arguments scopeDescriptor = options.scope - if Grim.includeDeprecations and options.callNow? + if Grim.includeDeprecatedAPIs and options.callNow? Grim.deprecate """ Config::observe no longer takes a `callNow` option. Use ::onDidChange instead. Note that ::onDidChange passes its callback different arguments. @@ -419,7 +419,7 @@ class Config [callback] = arguments else if arguments.length is 2 [keyPath, callback] = arguments - else if Grim.includeDeprecations and _.isArray(arguments[0]) or arguments[0] instanceof ScopeDescriptor + else if Grim.includeDeprecatedAPIs and _.isArray(arguments[0]) or arguments[0] instanceof ScopeDescriptor Grim.deprecate """ Passing a scope descriptor as the first argument to Config::onDidChange is deprecated. Pass a `scope` in an options hash as the third argument instead. @@ -498,7 +498,7 @@ class Config if typeof arguments[0] is 'string' or not arguments[0]? [keyPath, options] = arguments {scope} = options - else if Grim.includeDeprecations + else if Grim.includeDeprecatedAPIs Grim.deprecate """ Passing a scope descriptor as the first argument to Config::get is deprecated. Pass a `scope` in an options hash as the final argument instead. @@ -578,7 +578,7 @@ class Config # * `true` if the value was set. # * `false` if the value was not able to be coerced to the type specified in the setting's schema. set: -> - if Grim.includeDeprecations and arguments[0]?[0] is '.' + if Grim.includeDeprecatedAPIs and arguments[0]?[0] is '.' Grim.deprecate """ Passing a scope selector as the first argument to Config::set is deprecated. Pass a `scopeSelector` in an options hash as the final argument instead. @@ -617,7 +617,7 @@ class Config # * `scopeSelector` (optional) {String}. See {::set} # * `source` (optional) {String}. See {::set} unset: (keyPath, options) -> - if Grim.includeDeprecations and typeof options is 'string' + if Grim.includeDeprecatedAPIs and typeof options is 'string' Grim.deprecate """ Passing a scope selector as the first argument to Config::unset is deprecated. Pass a `scopeSelector` in an options hash as the second argument instead. @@ -1146,7 +1146,7 @@ withoutEmptyObjects = (object) -> resultObject = object resultObject -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs Config::restoreDefault = (scopeSelector, keyPath) -> Grim.deprecate("Use ::unset instead.") @unset(scopeSelector, keyPath) diff --git a/src/context-menu-manager.coffee b/src/context-menu-manager.coffee index 4565c8b55..00b635251 100644 --- a/src/context-menu-manager.coffee +++ b/src/context-menu-manager.coffee @@ -99,7 +99,7 @@ class ContextMenuManager # with the following argument: # * `event` The click event that deployed the context menu. add: (itemsBySelector) -> - if Grim.includeDeprecations + if Grim.includeDeprecatedAPIs # Detect deprecated file path as first argument if itemsBySelector? and typeof itemsBySelector isnt 'object' Grim.deprecate """ diff --git a/src/cursor.coffee b/src/cursor.coffee index 6bb3f4bae..3ed9939ad 100644 --- a/src/cursor.coffee +++ b/src/cursor.coffee @@ -39,13 +39,13 @@ class Cursor extends Model textChanged: textChanged cursor: this - @emit 'moved', movedEvent if Grim.includeDeprecations + @emit 'moved', movedEvent if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-position', movedEvent @editor.cursorMoved(movedEvent) @marker.onDidDestroy => @destroyed = true @editor.removeCursor(this) - @emit 'destroyed' if Grim.includeDeprecations + @emit 'destroyed' if Grim.includeDeprecatedAPIs @emitter.emit 'did-destroy' @emitter.dispose() @@ -89,7 +89,7 @@ class Cursor extends Model @emitter.on 'did-change-visibility', callback on: (eventName) -> - return unless Grim.includeDeprecations + return unless Grim.includeDeprecatedAPIs switch eventName when 'moved' @@ -588,7 +588,7 @@ class Cursor extends Model setVisible: (visible) -> if @visible != visible @visible = visible - @emit 'visibility-changed', @visible if Grim.includeDeprecations + @emit 'visibility-changed', @visible if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-visibility', @visible # Public: Returns the visibility of the cursor. @@ -682,7 +682,7 @@ class Cursor extends Model stop() position -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs Cursor::getScopes = -> Grim.deprecate 'Use Cursor::getScopeDescriptor() instead' @getScopeDescriptor().getScopesArray() diff --git a/src/decoration.coffee b/src/decoration.coffee index a556a3a3c..8654cf39a 100644 --- a/src/decoration.coffee +++ b/src/decoration.coffee @@ -65,7 +65,7 @@ class Decoration @markerDestroyDisposable.dispose() @markerDestroyDisposable = null @destroyed = true - @emit 'destroyed' if Grim.includeDeprecations + @emit 'destroyed' if Grim.includeDeprecatedAPIs @emitter.emit 'did-destroy' @emitter.dispose() @@ -136,7 +136,7 @@ class Decoration oldProperties = @properties @properties = newProperties @properties.id = @id - @emit 'updated', {oldParams: oldProperties, newParams: newProperties} if Grim.includeDeprecations + @emit 'updated', {oldParams: oldProperties, newParams: newProperties} if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-properties', {oldProperties, newProperties} ### @@ -156,14 +156,14 @@ class Decoration flashObject = {class: klass, duration} @flashQueue ?= [] @flashQueue.push(flashObject) - @emit 'flash' if Grim.includeDeprecations + @emit 'flash' if Grim.includeDeprecatedAPIs @emitter.emit 'did-flash' consumeNextFlash: -> return @flashQueue.shift() if @flashQueue?.length > 0 null -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs EmitterMixin = require('emissary').Emitter EmitterMixin.includeInto(Decoration) diff --git a/src/deserializer-manager.coffee b/src/deserializer-manager.coffee index 4efc71ec5..fab84539c 100644 --- a/src/deserializer-manager.coffee +++ b/src/deserializer-manager.coffee @@ -61,7 +61,7 @@ class DeserializerManager name = state.get?('deserializer') ? state.deserializer @deserializers[name] -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs DeserializerManager::remove = (classes...) -> Grim.deprecate("Call .dispose() on the Disposable return from ::add instead") delete @deserializers[name] for {name} in classes diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index 12b839143..a8b24086a 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -155,7 +155,7 @@ class DisplayBuffer extends Model if refreshMarkers @pauseMarkerChangeEvents() @refreshMarkerScreenPositions() - @emit 'changed', eventProperties if Grim.includeDeprecations + @emit 'changed', eventProperties if Grim.includeDeprecatedAPIs @emitter.emit 'did-change', eventProperties @resumeMarkerChangeEvents() @@ -309,7 +309,7 @@ class DisplayBuffer extends Model characterWidthsChanged: -> @computeScrollWidth() - @emit 'character-widths-changed', @scopedCharacterWidthsChangeCount if Grim.includeDeprecations + @emit 'character-widths-changed', @scopedCharacterWidthsChangeCount if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-character-widths', @scopedCharacterWidthsChangeCount clearScopedCharWidths: -> @@ -427,7 +427,7 @@ class DisplayBuffer extends Model @softWrapped = softWrapped @updateWrappedScreenLines() softWrapped = @isSoftWrapped() - @emit 'soft-wrap-changed', softWrapped if Grim.includeDeprecations + @emit 'soft-wrap-changed', softWrapped if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-soft-wrapped', softWrapped softWrapped else @@ -911,7 +911,7 @@ class DisplayBuffer extends Model @decorationsByMarkerId[marker.id] ?= [] @decorationsByMarkerId[marker.id].push(decoration) @decorationsById[decoration.id] = decoration - @emit 'decoration-added', decoration if Grim.includeDeprecations + @emit 'decoration-added', decoration if Grim.includeDeprecatedAPIs @emitter.emit 'did-add-decoration', decoration decoration @@ -923,7 +923,7 @@ class DisplayBuffer extends Model if index > -1 decorations.splice(index, 1) delete @decorationsById[decoration.id] - @emit 'decoration-removed', decoration if Grim.includeDeprecations + @emit 'decoration-removed', decoration if Grim.includeDeprecatedAPIs @emitter.emit 'did-remove-decoration', decoration delete @decorationsByMarkerId[marker.id] if decorations.length is 0 @@ -1075,7 +1075,7 @@ class DisplayBuffer extends Model resumeMarkerChangeEvents: -> marker.resumeChangeEvents() for marker in @getMarkers() - @emit 'markers-updated' if Grim.includeDeprecations + @emit 'markers-updated' if Grim.includeDeprecatedAPIs @emitter.emit 'did-update-markers' refreshMarkerScreenPositions: -> @@ -1217,7 +1217,7 @@ class DisplayBuffer extends Model if marker = @getMarker(textBufferMarker.id) # The marker might have been removed in some other handler called before # this one. Only emit when the marker still exists. - @emit 'marker-created', marker if Grim.includeDeprecations + @emit 'marker-created', marker if Grim.includeDeprecatedAPIs @emitter.emit 'did-create-marker', marker createFoldForMarker: (marker) -> @@ -1227,7 +1227,7 @@ class DisplayBuffer extends Model foldForMarker: (marker) -> @foldsByMarkerId[marker.id] -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs EmitterMixin = require('emissary').Emitter DisplayBuffer::on = (eventName) -> diff --git a/src/git-repository.coffee b/src/git-repository.coffee index 0ae4abf3a..145b2bf96 100644 --- a/src/git-repository.coffee +++ b/src/git-repository.coffee @@ -4,7 +4,7 @@ _ = require 'underscore-plus' {Emitter, Disposable, CompositeDisposable} = require 'event-kit' fs = require 'fs-plus' GitUtils = require 'git-utils' -{includeDeprecations, deprecate} = require 'grim' +{includeDeprecatedAPIs, deprecate} = require 'grim' Task = require './task' @@ -313,7 +313,7 @@ class GitRepository else delete @statuses[relativePath] if currentPathStatus isnt pathStatus - @emit 'status-changed', path, pathStatus if includeDeprecations + @emit 'status-changed', path, pathStatus if includeDeprecatedAPIs @emitter.emit 'did-change-status', {path, pathStatus} pathStatus @@ -474,10 +474,10 @@ class GitRepository submoduleRepo.upstream = submodules[submodulePath]?.upstream ? {ahead: 0, behind: 0} unless statusesUnchanged - @emit 'statuses-changed' if includeDeprecations + @emit 'statuses-changed' if includeDeprecatedAPIs @emitter.emit 'did-change-statuses' -if includeDeprecations +if includeDeprecatedAPIs EmitterMixin = require('emissary').Emitter EmitterMixin.includeInto(GitRepository) diff --git a/src/grammar-registry.coffee b/src/grammar-registry.coffee index b95b561da..b43e095d9 100644 --- a/src/grammar-registry.coffee +++ b/src/grammar-registry.coffee @@ -1,5 +1,5 @@ {Emitter} = require 'event-kit' -{includeDeprecations, deprecate} = require 'grim' +{includeDeprecatedAPIs, deprecate} = require 'grim' FirstMate = require 'first-mate' Token = require './token' @@ -41,7 +41,7 @@ class GrammarRegistry extends FirstMate.GrammarRegistry @off() if includeDeprecations @emitter = new Emitter -if includeDeprecations +if includeDeprecatedAPIs PropertyAccessors = require 'property-accessors' PropertyAccessors.includeInto(GrammarRegistry) diff --git a/src/marker.coffee b/src/marker.coffee index c177b792e..5d1e35570 100644 --- a/src/marker.coffee +++ b/src/marker.coffee @@ -319,7 +319,7 @@ class Marker destroyed: -> delete @displayBuffer.markers[@id] - @emit 'destroyed' if Grim.includeDeprecations + @emit 'destroyed' if Grim.includeDeprecatedAPIs @emitter.emit 'did-destroy' @emitter.dispose() @@ -350,7 +350,7 @@ class Marker if @deferredChangeEvents? @deferredChangeEvents.push(changeEvent) else - @emit 'changed', changeEvent if Grim.includeDeprecations + @emit 'changed', changeEvent if Grim.includeDeprecatedAPIs @emitter.emit 'did-change', changeEvent @oldHeadBufferPosition = newHeadBufferPosition @@ -367,14 +367,14 @@ class Marker @deferredChangeEvents = null for event in deferredChangeEvents - @emit 'changed', event if Grim.includeDeprecations + @emit 'changed', event if Grim.includeDeprecatedAPIs @emitter.emit 'did-change', event return getPixelRange: -> @displayBuffer.pixelRangeForScreenRange(@getScreenRange(), false) -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs EmitterMixin = require('emissary').Emitter EmitterMixin.includeInto(Marker) diff --git a/src/model.coffee b/src/model.coffee index bfb854320..7b38c0eef 100644 --- a/src/model.coffee +++ b/src/model.coffee @@ -1,5 +1,5 @@ Grim = require 'grim' -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs module.exports = require('theorist').Model return diff --git a/src/package-manager.coffee b/src/package-manager.coffee index 7399eaab1..bc4443418 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -308,7 +308,7 @@ class PackageManager packagePaths = packagePaths.filter (packagePath) => not @isPackageDisabled(path.basename(packagePath)) packagePaths = _.uniq packagePaths, (packagePath) -> path.basename(packagePath) @loadPackage(packagePath) for packagePath in packagePaths - @emit 'loaded' if Grim.includeDeprecations + @emit 'loaded' if Grim.includeDeprecatedAPIs @emitter.emit 'did-load-initial-packages' loadPackage: (nameOrPath) -> @@ -357,7 +357,7 @@ class PackageManager packages = @getLoadedPackagesForTypes(types) promises = promises.concat(activator.activatePackages(packages)) Q.all(promises).then => - @emit 'activated' if Grim.includeDeprecations + @emit 'activated' if Grim.includeDeprecatedAPIs @emitter.emit 'did-activate-initial-packages' # another type of package manager can handle other package types. @@ -410,7 +410,7 @@ class PackageManager message = "Failed to load the #{path.basename(packagePath)} package" atom.notifications.addError(message, {stack, detail, dismissable: true}) -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs PackageManager::onDidLoadAll = (callback) -> Grim.deprecate("Use `::onDidLoadInitialPackages` instead.") @onDidLoadInitialPackages(callback) diff --git a/src/package.coffee b/src/package.coffee index f9d3ac576..dd6701527 100644 --- a/src/package.coffee +++ b/src/package.coffee @@ -6,7 +6,7 @@ CSON = require 'season' fs = require 'fs-plus' {Emitter, CompositeDisposable} = require 'event-kit' Q = require 'q' -{includeDeprecations, deprecate} = require 'grim' +{includeDeprecatedAPIs, deprecate} = require 'grim' ModuleCache = require './module-cache' ScopedProperties = require './scoped-properties' @@ -40,11 +40,11 @@ class Package metadata ?= {} metadata.name = packageName - if includeDeprecations and metadata.stylesheetMain? + if includeDeprecatedAPIs and metadata.stylesheetMain? deprecate("Use the `mainStyleSheet` key instead of `stylesheetMain` in the `package.json` of `#{packageName}`", {packageName}) metadata.mainStyleSheet = metadata.stylesheetMain - if includeDeprecations and metadata.stylesheets? + if includeDeprecatedAPIs and metadata.stylesheets? deprecate("Use the `styleSheets` key instead of `stylesheets` in the `package.json` of `#{packageName}`", {packageName}) metadata.styleSheets = metadata.stylesheets @@ -163,7 +163,7 @@ class Package if @mainModule? if @mainModule.config? and typeof @mainModule.config is 'object' atom.config.setSchema @name, {type: 'object', properties: @mainModule.config} - else if includeDeprecations and @mainModule.configDefaults? and typeof @mainModule.configDefaults is 'object' + else if includeDeprecatedAPIs and @mainModule.configDefaults? and typeof @mainModule.configDefaults is 'object' deprecate """Use a config schema instead. See the configuration section of https://atom.io/docs/latest/hacking-atom-package-word-count and https://atom.io/docs/api/latest/Config for more details""" @@ -257,7 +257,7 @@ class Package [stylesheetPath, atom.themes.loadStylesheet(stylesheetPath, true)] getStylesheetsPath: -> - if includeDeprecations and fs.isDirectorySync(path.join(@path, 'stylesheets')) + if includeDeprecatedAPIs and fs.isDirectorySync(path.join(@path, 'stylesheets')) deprecate("Store package style sheets in the `styles/` directory instead of `stylesheets/` in the `#{@name}` package", packageName: @name) path.join(@path, 'stylesheets') else @@ -328,7 +328,7 @@ class Package deferred = Q.defer() - if includeDeprecations and fs.isDirectorySync(path.join(@path, 'scoped-properties')) + if includeDeprecatedAPIs and fs.isDirectorySync(path.join(@path, 'scoped-properties')) settingsDirPath = path.join(@path, 'scoped-properties') deprecate("Store package settings files in the `settings/` directory instead of `scoped-properties/`", packageName: @name) else @@ -356,7 +356,7 @@ class Package @mainModule?.deactivate?() catch e console.error "Error deactivating package '#{@name}'", e.stack - @emit 'deactivated' if includeDeprecations + @emit 'deactivated' if includeDeprecatedAPIs @emitter.emit 'did-deactivate' deactivateConfig: -> @@ -456,7 +456,7 @@ class Package else if _.isArray(commands) @activationCommands[selector].push(commands...) - if includeDeprecations and @metadata.activationEvents? + if includeDeprecatedAPIs and @metadata.activationEvents? deprecate """ Use `activationCommands` instead of `activationEvents` in your package.json Commands should be grouped by selector as follows: @@ -575,7 +575,7 @@ class Package atom.notifications.addFatalError(message, {stack, detail, dismissable: true}) -if includeDeprecations +if includeDeprecatedAPIs EmitterMixin = require('emissary').Emitter EmitterMixin.includeInto(Package) diff --git a/src/pane-container-element.coffee b/src/pane-container-element.coffee index 55d527971..94b008255 100644 --- a/src/pane-container-element.coffee +++ b/src/pane-container-element.coffee @@ -10,13 +10,13 @@ class PaneContainerElement extends HTMLElement @subscriptions = new CompositeDisposable @classList.add 'panes' - if Grim.includeDeprecations + if Grim.includeDeprecatedAPIs PaneContainerView ?= require './pane-container-view' @__spacePenView = new PaneContainerView(this) initialize: (@model) -> @subscriptions.add @model.observeRoot(@rootChanged.bind(this)) - @__spacePenView.setModel(@model) if Grim.includeDeprecations + @__spacePenView.setModel(@model) if Grim.includeDeprecatedAPIs this rootChanged: (root) -> diff --git a/src/pane-element.coffee b/src/pane-element.coffee index f050567b2..f5bfc18bd 100644 --- a/src/pane-element.coffee +++ b/src/pane-element.coffee @@ -13,7 +13,7 @@ class PaneElement extends HTMLElement @initializeContent() @subscribeToDOMEvents() - @createSpacePenShim() if Grim.includeDeprecations + @createSpacePenShim() if Grim.includeDeprecatedAPIs attachedCallback: -> @attached = true @@ -51,7 +51,7 @@ class PaneElement extends HTMLElement @subscriptions.add @model.observeActiveItem(@activeItemChanged.bind(this)) @subscriptions.add @model.onDidRemoveItem(@itemRemoved.bind(this)) @subscriptions.add @model.onDidDestroy(@paneDestroyed.bind(this)) - @__spacePenView.setModel(@model) if Grim.includeDeprecations + @__spacePenView.setModel(@model) if Grim.includeDeprecatedAPIs this getModel: -> @model diff --git a/src/pane.coffee b/src/pane.coffee index 07e621e46..6d2aa5154 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -41,7 +41,7 @@ class Pane extends Model # Called by the Serializable mixin during serialization. serializeParams: -> - if Grim.includeDeprecations and typeof @activeItem?.getURI is 'function' + if Grim.includeDeprecatedAPIs and typeof @activeItem?.getURI is 'function' activeItemURI = @activeItem.getURI() else if typeof @activeItem?.getUri is 'function' activeItemURI = @activeItem.getUri() @@ -660,7 +660,7 @@ class Pane extends Model else throw error -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs Pane::on = (eventName) -> switch eventName when 'activated' diff --git a/src/project.coffee b/src/project.coffee index 63e5576de..b34d301b6 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -4,7 +4,7 @@ url = require 'url' _ = require 'underscore-plus' fs = require 'fs-plus' Q = require 'q' -{includeDeprecations, deprecate} = require 'grim' +{includeDeprecatedAPIs, deprecate} = require 'grim' {Subscriber} = require 'emissary' {Emitter} = require 'event-kit' Serializable = require 'serializable' @@ -67,7 +67,7 @@ class Project extends Model @subscribeToBuffer(buffer) for buffer in @buffers - if Grim.includeDeprecations and path? + if Grim.includeDeprecatedAPIs and path? Grim.deprecate("Pass 'paths' array instead of 'path' to project constructor") paths ?= _.compact([path]) @@ -178,7 +178,7 @@ class Project extends Model @addPath(projectPath, emitEvent: false) for projectPath in projectPaths - @emit "path-changed" if includeDeprecations + @emit "path-changed" if includeDeprecatedAPIs @emitter.emit 'did-change-paths', projectPaths # Public: Add a path to the project's list of root paths @@ -205,7 +205,7 @@ class Project extends Model @repositories.push(repo ? null) unless options?.emitEvent is false - @emit "path-changed" if includeDeprecations + @emit "path-changed" if includeDeprecatedAPIs @emitter.emit 'did-change-paths', @getPaths() # Public: remove a path from the project's list of root paths. @@ -227,7 +227,7 @@ class Project extends Model [removedRepository] = @repositories.splice(indexToRemove, 1) removedDirectory.off() removedRepository?.destroy() unless removedRepository in @repositories - @emit "path-changed" if includeDeprecations + @emit "path-changed" if includeDeprecatedAPIs @emitter.emit "did-change-paths", @getPaths() true else @@ -393,7 +393,7 @@ class Project extends Model addBufferAtIndex: (buffer, index, options={}) -> @buffers.splice(index, 0, buffer) @subscribeToBuffer(buffer) - @emit 'buffer-created', buffer if includeDeprecations + @emit 'buffer-created', buffer if includeDeprecatedAPIs @emitter.emit 'did-add-buffer', buffer buffer @@ -433,7 +433,7 @@ class Project extends Model detail: error.message dismissable: true -if includeDeprecations +if includeDeprecatedAPIs Project.pathForRepositoryUrl = (repoUrl) -> deprecate '::pathForRepositoryUrl will be removed. Please remove from your code.' [repoName] = url.parse(repoUrl).path.split('/')[-1..] diff --git a/src/selection.coffee b/src/selection.coffee index af70e234c..91f942524 100644 --- a/src/selection.coffee +++ b/src/selection.coffee @@ -27,7 +27,7 @@ class Selection extends Model unless @editor.isDestroyed() @destroyed = true @editor.removeSelection(this) - @emit 'destroyed' if Grim.includeDeprecations + @emit 'destroyed' if Grim.includeDeprecatedAPIs @emitter.emit 'did-destroy' @emitter.dispose() @@ -732,7 +732,7 @@ class Selection extends Model newScreenRange: @getScreenRange() selection: this - @emit 'screen-range-changed', @getScreenRange() if Grim.includeDeprecations + @emit 'screen-range-changed', @getScreenRange() if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-range' @editor.selectionRangeChanged(eventObject) @@ -768,7 +768,7 @@ class Selection extends Model if goalScreenRange = @marker.getProperties().goalScreenRange Range.fromObject(goalScreenRange) -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs Selection::on = (eventName) -> switch eventName when 'screen-range-changed' diff --git a/src/styles-element.coffee b/src/styles-element.coffee index eaf7c53c8..74ebd23ba 100644 --- a/src/styles-element.coffee +++ b/src/styles-element.coffee @@ -1,5 +1,5 @@ {Emitter, CompositeDisposable} = require 'event-kit' -{includeDeprecations} = require 'grim' +{includeDeprecatedAPIs} = require 'grim' class StylesElement extends HTMLElement subscriptions: null @@ -19,7 +19,7 @@ class StylesElement extends HTMLElement @styleElementClonesByOriginalElement = new WeakMap attachedCallback: -> - if includeDeprecations and @context is 'atom-text-editor' + if includeDeprecatedAPIs and @context is 'atom-text-editor' for styleElement in @children @upgradeDeprecatedSelectors(styleElement) @initialize() @@ -67,7 +67,7 @@ class StylesElement extends HTMLElement @insertBefore(styleElementClone, insertBefore) - if includeDeprecations and @context is 'atom-text-editor' + if includeDeprecatedAPIs and @context is 'atom-text-editor' @upgradeDeprecatedSelectors(styleElementClone) @emitter.emit 'did-add-style-element', styleElementClone diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index b57920952..c001c2252 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -152,7 +152,7 @@ class TextEditorComponent if @editor.isAlive() @updateParentViewFocusedClassIfNeeded() @updateParentViewMiniClass() - if grim.includeDeprecations + if grim.includeDeprecatedAPIs @hostElement.__spacePenView.trigger 'cursor:moved' if cursorMoved @hostElement.__spacePenView.trigger 'selection:changed' if selectionChanged @hostElement.__spacePenView.trigger 'editor:display-updated' @@ -781,7 +781,7 @@ class TextEditorComponent @hostElement.classList.toggle('mini', @editor.isMini()) @rootElement.classList.toggle('mini', @editor.isMini()) -if grim.includeDeprecations +if grim.includeDeprecatedAPIs # Deprecated TextEditorComponent::setInvisibles = (invisibles={}) -> grim.deprecate "Use config.set('editor.invisibles', invisibles) instead" diff --git a/src/text-editor-element.coffee b/src/text-editor-element.coffee index 5822f533c..4a7a11147 100644 --- a/src/text-editor-element.coffee +++ b/src/text-editor-element.coffee @@ -21,7 +21,7 @@ class TextEditorElement extends HTMLElement createdCallback: -> @emitter = new Emitter @initializeContent() - @createSpacePenShim() if Grim.includeDeprecations + @createSpacePenShim() if Grim.includeDeprecatedAPIs @addEventListener 'focus', @focused.bind(this) @addEventListener 'blur', @blurred.bind(this) @@ -87,7 +87,7 @@ class TextEditorElement extends HTMLElement @model.onDidChangeGrammar => @addGrammarScopeAttribute() @model.onDidChangeEncoding => @addEncodingAttribute() @model.onDidDestroy => @unmountComponent() - @__spacePenView.setModel(@model) if Grim.includeDeprecations + @__spacePenView.setModel(@model) if Grim.includeDeprecatedAPIs @model getModel: -> diff --git a/src/text-editor.coffee b/src/text-editor.coffee index 1821a8a52..1f917b6a2 100644 --- a/src/text-editor.coffee +++ b/src/text-editor.coffee @@ -2,7 +2,7 @@ _ = require 'underscore-plus' path = require 'path' Serializable = require 'serializable' Delegator = require 'delegato' -{includeDeprecations, deprecate} = require 'grim' +{includeDeprecatedAPIs, deprecate} = require 'grim' {Model} = require 'theorist' EmitterMixin = require('emissary').Emitter {CompositeDisposable, Emitter} = require 'event-kit' @@ -1252,7 +1252,7 @@ class TextEditor extends Model # # Returns a {Decoration} object decorateMarker: (marker, decorationParams) -> - if includeDeprecations and decorationParams.type is 'gutter' + if includeDeprecatedAPIs and decorationParams.type is 'gutter' deprecate("Decorations of `type: 'gutter'` have been renamed to `type: 'line-number'`.") decorationParams.type = 'line-number' @displayBuffer.decorateMarker(marker, decorationParams) @@ -2835,7 +2835,7 @@ class TextEditor extends Model logScreenLines: (start, end) -> @displayBuffer.logLines(start, end) -if includeDeprecations +if includeDeprecatedAPIs TextEditor::getViewClass = -> require './text-editor-view' diff --git a/src/tokenized-buffer.coffee b/src/tokenized-buffer.coffee index ff06c66e6..bfc563d93 100644 --- a/src/tokenized-buffer.coffee +++ b/src/tokenized-buffer.coffee @@ -87,7 +87,7 @@ class TokenizedBuffer extends Model @retokenizeLines() - @emit 'grammar-changed', grammar if Grim.includeDeprecations + @emit 'grammar-changed', grammar if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-grammar', grammar reloadGrammar: -> @@ -109,7 +109,7 @@ class TokenizedBuffer extends Model @invalidateRow(0) @fullyTokenized = false event = {start: 0, end: lastRow, delta: 0} - @emit 'changed', event if Grim.includeDeprecations + @emit 'changed', event if Grim.includeDeprecatedAPIs @emitter.emit 'did-change', event setVisible: (@visible) -> @@ -171,7 +171,7 @@ class TokenizedBuffer extends Model [startRow, endRow] = @updateFoldableStatus(startRow, endRow) event = {start: startRow, end: endRow, delta: 0} - @emit 'changed', event if Grim.includeDeprecations + @emit 'changed', event if Grim.includeDeprecatedAPIs @emitter.emit 'did-change', event if @firstInvalidRow()? @@ -181,7 +181,7 @@ class TokenizedBuffer extends Model markTokenizationComplete: -> unless @fullyTokenized - @emit 'tokenized' if Grim.includeDeprecations + @emit 'tokenized' if Grim.includeDeprecatedAPIs @emitter.emit 'did-tokenize' @fullyTokenized = true @@ -228,7 +228,7 @@ class TokenizedBuffer extends Model end -= delta event = { start, end, delta, bufferChange: e } - @emit 'changed', event if Grim.includeDeprecations + @emit 'changed', event if Grim.includeDeprecatedAPIs @emitter.emit 'did-change', event retokenizeWhitespaceRowsIfIndentLevelChanged: (row, increment) -> @@ -464,7 +464,7 @@ class TokenizedBuffer extends Model console.log row, line, line.length return -if Grim.includeDeprecations +if Grim.includeDeprecatedAPIs EmitterMixin = require('emissary').Emitter TokenizedBuffer::on = (eventName) -> diff --git a/src/workspace-element.coffee b/src/workspace-element.coffee index 66ded0084..33ea14093 100644 --- a/src/workspace-element.coffee +++ b/src/workspace-element.coffee @@ -16,10 +16,10 @@ class WorkspaceElement extends HTMLElement @initializeContent() @observeScrollbarStyle() @observeTextEditorFontConfig() - @createSpacePenShim() if Grim.includeDeprecations + @createSpacePenShim() if Grim.includeDeprecatedAPIs attachedCallback: -> - callAttachHooks(this) if Grim.includeDeprecations + callAttachHooks(this) if Grim.includeDeprecatedAPIs @focus() detachedCallback: -> @@ -82,7 +82,7 @@ class WorkspaceElement extends HTMLElement @appendChild(@panelContainers.modal) - @__spacePenView.setModel(@model) if Grim.includeDeprecations + @__spacePenView.setModel(@model) if Grim.includeDeprecatedAPIs this getModel: -> @model diff --git a/src/workspace.coffee b/src/workspace.coffee index 858ae063f..722a45f21 100644 --- a/src/workspace.coffee +++ b/src/workspace.coffee @@ -1,4 +1,4 @@ -{includeDeprecations, deprecate} = require 'grim' +{includeDeprecatedAPIs, deprecate} = require 'grim' _ = require 'underscore-plus' path = require 'path' {join} = path @@ -112,7 +112,7 @@ class Workspace extends Model _.uniq(packageNames) editorAdded: (editor) -> - @emit 'editor-created', editor if includeDeprecations + @emit 'editor-created', editor if includeDeprecatedAPIs installShellCommands: -> require('./command-installer').installShellCommandsInteractively() @@ -389,7 +389,7 @@ class Workspace extends Model # the containing pane. Defaults to `true`. openSync: (uri='', options={}) -> # TODO: Remove deprecated changeFocus option - if includeDeprecations and options.changeFocus? + if includeDeprecatedAPIs and options.changeFocus? deprecate("The `changeFocus` option has been renamed to `activatePane`") options.activatePane = options.changeFocus delete options.changeFocus @@ -410,7 +410,7 @@ class Workspace extends Model openURIInPane: (uri, pane, options={}) -> # TODO: Remove deprecated changeFocus option - if includeDeprecations and options.changeFocus? + if includeDeprecatedAPIs and options.changeFocus? deprecate("The `changeFocus` option has been renamed to `activatePane`") options.activatePane = options.changeFocus delete options.changeFocus @@ -446,7 +446,7 @@ class Workspace extends Model if options.initialLine? or options.initialColumn? item.setCursorBufferPosition?([options.initialLine, options.initialColumn]) index = pane.getActiveItemIndex() - @emit "uri-opened" if includeDeprecations + @emit "uri-opened" if includeDeprecatedAPIs @emitter.emit 'did-open', {uri, pane, item, index} item @@ -477,7 +477,7 @@ class Workspace extends Model # Returns a {Disposable} on which `.dispose()` can be called to remove the # opener. addOpener: (opener) -> - if includeDeprecations + if includeDeprecatedAPIs packageName = @getCallingPackageName() wrappedOpener = (uri, options) -> @@ -891,7 +891,7 @@ class Workspace extends Model deferred.promise -if includeDeprecations +if includeDeprecatedAPIs Object.defineProperty Workspace::, 'activePaneItem', get: -> Grim.deprecate "Use ::getActivePaneItem() instead of the ::activePaneItem property" diff --git a/static/index.js b/static/index.js index 7c8e92571..aa582f845 100644 --- a/static/index.js +++ b/static/index.js @@ -34,7 +34,7 @@ window.onload = function() { ModuleCache.register(loadSettings); ModuleCache.add(loadSettings.resourcePath); - require('grim').includeDeprecations = !loadSettings.apiPreviewMode; + require('grim').includeDeprecatedAPIs = !loadSettings.apiPreviewMode; // Start the crash reporter before anything else. require('crash-reporter').start({ From 183ac788a1e48e6c50e3f0359e8baae1dee5dbc2 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 09:22:36 -0700 Subject: [PATCH 55/65] Check Grim.includeDeprecatedAPIs in keymap-extensions --- src/keymap-extensions.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/keymap-extensions.coffee b/src/keymap-extensions.coffee index 821abbc0c..551c6580d 100644 --- a/src/keymap-extensions.coffee +++ b/src/keymap-extensions.coffee @@ -3,13 +3,14 @@ path = require 'path' KeymapManager = require 'atom-keymap' CSON = require 'season' {jQuery} = require 'space-pen' +Grim = require 'grim' KeymapManager::onDidLoadBundledKeymaps = (callback) -> @emitter.on 'did-load-bundled-keymaps', callback KeymapManager::loadBundledKeymaps = -> @loadKeymap(path.join(@resourcePath, 'keymaps')) - @emit 'bundled-keymaps-loaded' + @emit 'bundled-keymaps-loaded' if Grim.includeDeprecatedAPIs @emitter.emit 'did-load-bundled-keymaps' KeymapManager::getUserKeymapPath = -> From ec5cd753508a61b2dbaf03425c726492548b19ef Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 09:40:17 -0700 Subject: [PATCH 56/65] includeDeprecations -> includeDeprecatedAPIs --- src/grammar-registry.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/grammar-registry.coffee b/src/grammar-registry.coffee index b43e095d9..8272dce47 100644 --- a/src/grammar-registry.coffee +++ b/src/grammar-registry.coffee @@ -38,7 +38,7 @@ class GrammarRegistry extends FirstMate.GrammarRegistry selectGrammar: (filePath, fileContents) -> super clearObservers: -> - @off() if includeDeprecations + @off() if includeDeprecatedAPIs @emitter = new Emitter if includeDeprecatedAPIs From 50d7825200d9fc0eeb2b7f1568363eacc44bfc98 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 09:45:13 -0700 Subject: [PATCH 57/65] Always assign paths --- src/project.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/project.coffee b/src/project.coffee index b34d301b6..f7f1eb498 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -69,7 +69,7 @@ class Project extends Model if Grim.includeDeprecatedAPIs and path? Grim.deprecate("Pass 'paths' array instead of 'path' to project constructor") - paths ?= _.compact([path]) + paths ?= _.compact([path]) @setPaths(paths) From d1289be584bb98358414c597c78f5ec0f4958357 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 09:51:11 -0700 Subject: [PATCH 58/65] :arrow_up: markdown-preview@0.147 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8b575680c..e1f0b075a 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "incompatible-packages": "0.24.0", "keybinding-resolver": "0.30.0", "link": "0.30.0", - "markdown-preview": "0.146.0", + "markdown-preview": "0.147.0", "metrics": "0.45.0", "notifications": "0.35.0", "open-on-github": "0.36.0", From 8be59f7433ecc6b51b3f398742a05673088c51a0 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 09:53:18 -0700 Subject: [PATCH 59/65] :arrow_up: wrap-guide@0.32 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e1f0b075a..531f8f093 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "update-package-dependencies": "0.9.0", "welcome": "0.26.0", "whitespace": "0.29.0", - "wrap-guide": "0.31.0", + "wrap-guide": "0.32.0", "language-c": "0.43.0", "language-clojure": "0.13.0", "language-coffee-script": "0.39.0", From 2cf1a926889cee018ace189253370abdbb2ac116 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 11:11:25 -0700 Subject: [PATCH 60/65] :arrow_up: donna@1.0.9 --- build/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/package.json b/build/package.json index 297ddadfd..18bef4d1e 100644 --- a/build/package.json +++ b/build/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "async": "~0.2.9", - "donna": "1.0.7", + "donna": "1.0.9", "formidable": "~1.0.14", "fs-plus": "2.x", "github-releases": "~0.2.0", From f5aab3547659759a016f43f8306e76036d2e8864 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 11:21:54 -0700 Subject: [PATCH 61/65] Check Grim.includeDeprecatedAPIs before emitting --- src/pane.coffee | 10 +++++----- src/text-editor.coffee | 29 +++++++++++++++-------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/pane.coffee b/src/pane.coffee index 6d2aa5154..c69c74180 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -317,7 +317,7 @@ class Pane extends Model @subscribe item, 'destroyed', => @removeItem(item, true) @items.splice(index, 0, item) - @emit 'item-added', item, index + @emit 'item-added', item, index if Grim.includeDeprecatedAPIs @emitter.emit 'did-add-item', {item, index} @setActiveItem(item) unless @getActiveItem()? item @@ -352,7 +352,7 @@ class Pane extends Model else @activatePreviousItem() @items.splice(index, 1) - @emit 'item-removed', item, index, destroyed + @emit 'item-removed', item, index, destroyed if Grim.includeDeprecatedAPIs @emitter.emit 'did-remove-item', {item, index, destroyed} @container?.didDestroyPaneItem({item, index, pane: this}) if destroyed @destroy() if @items.length is 0 and atom.config.get('core.destroyEmptyPanes') @@ -365,7 +365,7 @@ class Pane extends Model oldIndex = @items.indexOf(item) @items.splice(oldIndex, 1) @items.splice(newIndex, 0, item) - @emit 'item-moved', item, newIndex + @emit 'item-moved', item, newIndex if Grim.includeDeprecatedAPIs @emitter.emit 'did-move-item', {item, oldIndex, newIndex} # Public: Move the given item to the given index on another pane. @@ -393,7 +393,7 @@ class Pane extends Model destroyItem: (item) -> index = @items.indexOf(item) if index isnt -1 - @emit 'before-item-destroyed', item + @emit 'before-item-destroyed', item if Grim.includeDeprecatedAPIs @emitter.emit 'will-destroy-item', {item, index} @container?.willDestroyPaneItem({item, index, pane: this}) if @promptToSaveItem(item) @@ -530,7 +530,7 @@ class Pane extends Model throw new Error("Pane has been destroyed") if @isDestroyed() @container?.setActivePane(this) - @emit 'activated' + @emit 'activated' if Grim.includeDeprecatedAPIs @emitter.emit 'did-activate' # Public: Close the pane and destroy all its items. diff --git a/src/text-editor.coffee b/src/text-editor.coffee index 1f917b6a2..cbf1136a2 100644 --- a/src/text-editor.coffee +++ b/src/text-editor.coffee @@ -109,10 +109,10 @@ class TextEditor extends Model @setEncoding(atom.config.get('core.fileEncoding', scope: @getRootScopeDescriptor())) @subscribe @$scrollTop, (scrollTop) => - @emit 'scroll-top-changed', scrollTop + @emit 'scroll-top-changed', scrollTop if includeDeprecatedAPIs @emitter.emit 'did-change-scroll-top', scrollTop @subscribe @$scrollLeft, (scrollLeft) => - @emit 'scroll-left-changed', scrollLeft + @emit 'scroll-left-changed', scrollLeft if includeDeprecatedAPIs @emitter.emit 'did-change-scroll-left', scrollLeft atom.workspace?.editorAdded(this) if registerEditor @@ -134,18 +134,19 @@ class TextEditor extends Model @subscribe @buffer.onDidChangePath => unless atom.project.getPaths().length > 0 atom.project.setPaths([path.dirname(@getPath())]) - @emit "title-changed" + @emit "title-changed" if includeDeprecatedAPIs @emitter.emit 'did-change-title', @getTitle() - @emit "path-changed" + @emit "path-changed" if includeDeprecatedAPIs @emitter.emit 'did-change-path', @getPath() @subscribe @buffer.onDidChangeEncoding => @emitter.emit 'did-change-encoding', @getEncoding() @subscribe @buffer.onDidDestroy => @destroy() # TODO: remove these when we remove the deprecations. They are old events. - @subscribe @buffer.onDidStopChanging => @emit "contents-modified" - @subscribe @buffer.onDidConflict => @emit "contents-conflicted" - @subscribe @buffer.onDidChangeModified => @emit "modified-status-changed" + if includeDeprecatedAPIs + @subscribe @buffer.onDidStopChanging => @emit "contents-modified" + @subscribe @buffer.onDidConflict => @emit "contents-conflicted" + @subscribe @buffer.onDidChangeModified => @emit "modified-status-changed" @preserveCursorPositionOnBufferReload() @@ -1630,14 +1631,14 @@ class TextEditor extends Model @decorateMarker(marker, type: 'line-number', class: 'cursor-line') @decorateMarker(marker, type: 'line-number', class: 'cursor-line-no-selection', onlyHead: true, onlyEmpty: true) @decorateMarker(marker, type: 'line', class: 'cursor-line', onlyEmpty: true) - @emit 'cursor-added', cursor + @emit 'cursor-added', cursor if includeDeprecatedAPIs @emitter.emit 'did-add-cursor', cursor cursor # Remove the given cursor from this editor. removeCursor: (cursor) -> _.remove(@cursors, cursor) - @emit 'cursor-removed', cursor + @emit 'cursor-removed', cursor if includeDeprecatedAPIs @emitter.emit 'did-remove-cursor', cursor moveCursors: (fn) -> @@ -1645,7 +1646,7 @@ class TextEditor extends Model @mergeCursors() cursorMoved: (event) -> - @emit 'cursor-moved', event + @emit 'cursor-moved', event if includeDeprecatedAPIs @emitter.emit 'did-change-cursor-position', event # Merge cursors that have the same screen position @@ -2092,14 +2093,14 @@ class TextEditor extends Model if selection.intersectsBufferRange(selectionBufferRange) return selection else - @emit 'selection-added', selection + @emit 'selection-added', selection if includeDeprecatedAPIs @emitter.emit 'did-add-selection', selection selection # Remove the given selection. removeSelection: (selection) -> _.remove(@selections, selection) - @emit 'selection-removed', selection + @emit 'selection-removed', selection if includeDeprecatedAPIs @emitter.emit 'did-remove-selection', selection # Reduce one or more selections to a single empty selection based on the most @@ -2119,7 +2120,7 @@ class TextEditor extends Model # Called by the selection selectionRangeChanged: (event) -> - @emit 'selection-screen-range-changed', event + @emit 'selection-screen-range-changed', event if includeDeprecatedAPIs @emitter.emit 'did-change-selection-range', event ### @@ -2723,7 +2724,7 @@ class TextEditor extends Model @updateInvisibles() @subscribeToScopedConfigSettings() @unfoldAll() - @emit 'grammar-changed' + @emit 'grammar-changed' if includeDeprecatedAPIs @emitter.emit 'did-change-grammar', @getGrammar() handleMarkerCreated: (marker) => From e39df0e40d44feb0e142e5327af8582dc1de0d92 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 11:26:36 -0700 Subject: [PATCH 62/65] Conditionally include deprecations in ThemeManager --- src/theme-manager.coffee | 157 ++++++++++++++++----------------------- 1 file changed, 64 insertions(+), 93 deletions(-) diff --git a/src/theme-manager.coffee b/src/theme-manager.coffee index 0ff42c4d2..01bb9652a 100644 --- a/src/theme-manager.coffee +++ b/src/theme-manager.coffee @@ -1,22 +1,16 @@ path = require 'path' - _ = require 'underscore-plus' -EmitterMixin = require('emissary').Emitter {Emitter, Disposable, CompositeDisposable} = require 'event-kit' {File} = require 'pathwatcher' fs = require 'fs-plus' Q = require 'q' Grim = require 'grim' -Package = require './package' - # Extended: Handles loading and activating available themes. # # An instance of this class is always available as the `atom.themes` global. module.exports = class ThemeManager - EmitterMixin.includeInto(this) - constructor: ({@packageManager, @resourcePath, @configDirPath, @safeMode}) -> @emitter = new Emitter @styleSheetDisposablesBySourcePath = {} @@ -33,24 +27,24 @@ class ThemeManager styleElementAdded: (styleElement) -> {sheet} = styleElement @sheetsByStyleElement.set(styleElement, sheet) - @emit 'stylesheet-added', sheet + @emit 'stylesheet-added', sheet if Grim.includeDeprecatedAPIs @emitter.emit 'did-add-stylesheet', sheet - @emit 'stylesheets-changed' + @emit 'stylesheets-changed' if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-stylesheets' styleElementRemoved: (styleElement) -> sheet = @sheetsByStyleElement.get(styleElement) - @emit 'stylesheet-removed', sheet + @emit 'stylesheet-removed', sheet if Grim.includeDeprecatedAPIs @emitter.emit 'did-remove-stylesheet', sheet - @emit 'stylesheets-changed' + @emit 'stylesheets-changed' if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-stylesheets' styleElementUpdated: ({sheet}) -> - @emit 'stylesheet-removed', sheet + @emit 'stylesheet-removed', sheet if Grim.includeDeprecatedAPIs @emitter.emit 'did-remove-stylesheet', sheet - @emit 'stylesheet-added', sheet + @emit 'stylesheet-added', sheet if Grim.includeDeprecatedAPIs @emitter.emit 'did-add-stylesheet', sheet - @emit 'stylesheets-changed' + @emit 'stylesheets-changed' if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-stylesheets' ### @@ -65,65 +59,6 @@ class ThemeManager @emitter.on 'did-change-active-themes', callback @emitter.on 'did-reload-all', callback # TODO: Remove once deprecated pre-1.0 APIs are gone - onDidReloadAll: (callback) -> - Grim.deprecate("Use `::onDidChangeActiveThemes` instead.") - @onDidChangeActiveThemes(callback) - - # Deprecated: Invoke `callback` when a stylesheet has been added to the dom. - # - # * `callback` {Function} - # * `stylesheet` {StyleSheet} the style node - # - # Returns a {Disposable} on which `.dispose()` can be called to unsubscribe. - onDidAddStylesheet: (callback) -> - Grim.deprecate("Use atom.styles.onDidAddStyleElement instead") - @emitter.on 'did-add-stylesheet', callback - - # Deprecated: Invoke `callback` when a stylesheet has been removed from the dom. - # - # * `callback` {Function} - # * `stylesheet` {StyleSheet} the style node - # - # Returns a {Disposable} on which `.dispose()` can be called to unsubscribe. - onDidRemoveStylesheet: (callback) -> - Grim.deprecate("Use atom.styles.onDidRemoveStyleElement instead") - @emitter.on 'did-remove-stylesheet', callback - - # Deprecated: Invoke `callback` when a stylesheet has been updated. - # - # * `callback` {Function} - # * `stylesheet` {StyleSheet} the style node - # - # Returns a {Disposable} on which `.dispose()` can be called to unsubscribe. - onDidUpdateStylesheet: (callback) -> - Grim.deprecate("Use atom.styles.onDidUpdateStyleElement instead") - @emitter.on 'did-update-stylesheet', callback - - # Deprecated: Invoke `callback` when any stylesheet has been updated, added, or removed. - # - # * `callback` {Function} - # - # Returns a {Disposable} on which `.dispose()` can be called to unsubscribe. - onDidChangeStylesheets: (callback) -> - Grim.deprecate("Use atom.styles.onDidAdd/RemoveStyleElement instead") - @emitter.on 'did-change-stylesheets', callback - - on: (eventName) -> - switch eventName - when 'reloaded' - Grim.deprecate 'Use ThemeManager::onDidChangeActiveThemes instead' - when 'stylesheet-added' - Grim.deprecate 'Use ThemeManager::onDidAddStylesheet instead' - when 'stylesheet-removed' - Grim.deprecate 'Use ThemeManager::onDidRemoveStylesheet instead' - when 'stylesheet-updated' - Grim.deprecate 'Use ThemeManager::onDidUpdateStylesheet instead' - when 'stylesheets-changed' - Grim.deprecate 'Use ThemeManager::onDidChangeStylesheets instead' - else - Grim.deprecate 'ThemeManager::on is deprecated. Use event subscription methods instead.' - EmitterMixin::on.apply(this, arguments) - ### Section: Accessing Available Themes ### @@ -140,10 +75,6 @@ class ThemeManager getLoadedThemeNames: -> theme.name for theme in @getLoadedThemes() - getLoadedNames: -> - Grim.deprecate("Use `::getLoadedThemeNames` instead.") - @getLoadedThemeNames() - # Public: Get an array of all the loaded themes. getLoadedThemes: -> pack for pack in @packageManager.getLoadedPackages() when pack.isTheme() @@ -156,10 +87,6 @@ class ThemeManager getActiveThemeNames: -> theme.name for theme in @getActiveThemes() - getActiveNames: -> - Grim.deprecate("Use `::getActiveThemeNames` instead.") - @getActiveThemeNames() - # Public: Get an array of all the active themes. getActiveThemes: -> pack for pack in @packageManager.getActivePackages() when pack.isTheme() @@ -208,22 +135,10 @@ class ThemeManager # the first/top theme to override later themes in the stack. themeNames.reverse() - # Set the list of enabled themes. - # - # * `enabledThemeNames` An {Array} of {String} theme names. - setEnabledThemes: (enabledThemeNames) -> - Grim.deprecate("Use `atom.config.set('core.themes', arrayOfThemeNames)` instead") - atom.config.set('core.themes', enabledThemeNames) - ### Section: Private ### - # Returns the {String} path to the user's stylesheet under ~/.atom - getUserStylesheetPath: -> - Grim.deprecate("Call atom.styles.getUserStyleSheetPath() instead") - atom.styles.getUserStyleSheetPath() - # Resolve and apply the stylesheet specified by the path. # # This supports both CSS and Less stylsheets. @@ -366,7 +281,7 @@ class ThemeManager @loadUserStylesheet() @reloadBaseStylesheets() @initialLoadComplete = true - @emit 'reloaded' + @emit 'reloaded' if Grim.includeDeprecatedAPIs @emitter.emit 'did-change-active-themes' deferred.resolve() @@ -410,3 +325,59 @@ class ThemeManager themePaths.push(path.join(themePath, 'styles')) themePaths.filter (themePath) -> fs.isDirectorySync(themePath) + +if Grim.includeDeprecatedAPIs + EmitterMixin = require('emissary').Emitter + EmitterMixin.includeInto(ThemeManager) + + ThemeManager::on = (eventName) -> + switch eventName + when 'reloaded' + Grim.deprecate 'Use ThemeManager::onDidChangeActiveThemes instead' + when 'stylesheet-added' + Grim.deprecate 'Use ThemeManager::onDidAddStylesheet instead' + when 'stylesheet-removed' + Grim.deprecate 'Use ThemeManager::onDidRemoveStylesheet instead' + when 'stylesheet-updated' + Grim.deprecate 'Use ThemeManager::onDidUpdateStylesheet instead' + when 'stylesheets-changed' + Grim.deprecate 'Use ThemeManager::onDidChangeStylesheets instead' + else + Grim.deprecate 'ThemeManager::on is deprecated. Use event subscription methods instead.' + EmitterMixin::on.apply(this, arguments) + + ThemeManager::onDidReloadAll = (callback) -> + Grim.deprecate("Use `::onDidChangeActiveThemes` instead.") + @onDidChangeActiveThemes(callback) + + ThemeManager::onDidAddStylesheet = (callback) -> + Grim.deprecate("Use atom.styles.onDidAddStyleElement instead") + @emitter.on 'did-add-stylesheet', callback + + ThemeManager::onDidRemoveStylesheet = (callback) -> + Grim.deprecate("Use atom.styles.onDidRemoveStyleElement instead") + @emitter.on 'did-remove-stylesheet', callback + + ThemeManager::onDidUpdateStylesheet = (callback) -> + Grim.deprecate("Use atom.styles.onDidUpdateStyleElement instead") + @emitter.on 'did-update-stylesheet', callback + + ThemeManager::onDidChangeStylesheets = (callback) -> + Grim.deprecate("Use atom.styles.onDidAdd/RemoveStyleElement instead") + @emitter.on 'did-change-stylesheets', callback + + ThemeManager::getUserStylesheetPath = -> + Grim.deprecate("Call atom.styles.getUserStyleSheetPath() instead") + atom.styles.getUserStyleSheetPath() + + ThemeManager::getLoadedNames = -> + Grim.deprecate("Use `::getLoadedThemeNames` instead.") + @getLoadedThemeNames() + + ThemeManager::getActiveNames = -> + Grim.deprecate("Use `::getActiveThemeNames` instead.") + @getActiveThemeNames() + + ThemeManager::setEnabledThemes = (enabledThemeNames) -> + Grim.deprecate("Use `atom.config.set('core.themes', arrayOfThemeNames)` instead") + atom.config.set('core.themes', enabledThemeNames) From 73707ce57c8a1349ce6e19295dadb5f28b8c5354 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 11:35:04 -0700 Subject: [PATCH 63/65] :art: --- src/package-manager.coffee | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/package-manager.coffee b/src/package-manager.coffee index bc4443418..16142cda4 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -411,16 +411,9 @@ class PackageManager atom.notifications.addError(message, {stack, detail, dismissable: true}) if Grim.includeDeprecatedAPIs - PackageManager::onDidLoadAll = (callback) -> - Grim.deprecate("Use `::onDidLoadInitialPackages` instead.") - @onDidLoadInitialPackages(callback) - - PackageManager::onDidActivateAll = (callback) -> - Grim.deprecate("Use `::onDidActivateInitialPackages` instead.") - @onDidActivateInitialPackages(callback) - EmitterMixin = require('emissary').Emitter EmitterMixin.includeInto(PackageManager) + PackageManager::on = (eventName) -> switch eventName when 'loaded' @@ -430,3 +423,11 @@ if Grim.includeDeprecatedAPIs else Grim.deprecate 'PackageManager::on is deprecated. Use event subscription methods instead.' EmitterMixin::on.apply(this, arguments) + + PackageManager::onDidLoadAll = (callback) -> + Grim.deprecate("Use `::onDidLoadInitialPackages` instead.") + @onDidLoadInitialPackages(callback) + + PackageManager::onDidActivateAll = (callback) -> + Grim.deprecate("Use `::onDidActivateInitialPackages` instead.") + @onDidActivateInitialPackages(callback) From 5aeffd49ab597a0545de3b5bfe4e508408a4e3e6 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 11:36:10 -0700 Subject: [PATCH 64/65] :art: --- src/project.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/project.coffee b/src/project.coffee index f7f1eb498..b1c939905 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -69,8 +69,8 @@ class Project extends Model if Grim.includeDeprecatedAPIs and path? Grim.deprecate("Pass 'paths' array instead of 'path' to project constructor") - paths ?= _.compact([path]) + paths ?= _.compact([path]) @setPaths(paths) destroyed: -> From 60913cd9bfa9794a0b4a0f5c659eb8d766824f18 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Fri, 3 Apr 2015 11:37:34 -0700 Subject: [PATCH 65/65] :memo: Remove empty deprecated comments --- src/text-editor-component.coffee | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index c001c2252..bd0e0ee86 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -782,12 +782,10 @@ class TextEditorComponent @rootElement.classList.toggle('mini', @editor.isMini()) if grim.includeDeprecatedAPIs - # Deprecated TextEditorComponent::setInvisibles = (invisibles={}) -> grim.deprecate "Use config.set('editor.invisibles', invisibles) instead" atom.config.set('editor.invisibles', invisibles) - # Deprecated TextEditorComponent::setShowInvisibles = (showInvisibles) -> grim.deprecate "Use config.set('editor.showInvisibles', showInvisibles) instead" atom.config.set('editor.showInvisibles', showInvisibles)