From cfdf5f1bcc2127cd6c2a934600950904abb998bb Mon Sep 17 00:00:00 2001 From: Ivan Zuzak Date: Sun, 26 Apr 2015 11:22:07 +0200 Subject: [PATCH 1/2] Move Grim.deprecate call so that it can be correctly attributed --- src/package.coffee | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/package.coffee b/src/package.coffee index a395dfb14..b16e76ba0 100644 --- a/src/package.coffee +++ b/src/package.coffee @@ -191,7 +191,20 @@ class Package for [menuPath, map] in @menus when map['context-menu']? try - @activationDisposables.add(atom.contextMenu.add(map['context-menu'])) + itemsBySelector = map['context-menu'] + + if includeDeprecatedAPIs + # Detect deprecated format for items object + for key, value of itemsBySelector + unless _.isArray(value) + deprecate(""" + The context menu CSON format has changed. Please see + https://atom.io/docs/api/latest/ContextMenuManager#context-menu-cson-format + for more info. + """, {packageName: @name}) + itemsBySelector = atom.contextMenu.convertLegacyItemsBySelector(itemsBySelector) + + @activationDisposables.add(atom.contextMenu.add(itemsBySelector)) catch error if error.code is 'EBADSELECTOR' error.message += " in #{menuPath}" From 46ab8e7f6320c1b93fc0fd65fb3b12ce3230c681 Mon Sep 17 00:00:00 2001 From: Ivan Zuzak Date: Sun, 26 Apr 2015 11:23:13 +0200 Subject: [PATCH 2/2] Link to section in API docs for ContextMenuManager::add --- src/context-menu-manager.coffee | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/context-menu-manager.coffee b/src/context-menu-manager.coffee index bd5ff943e..0fdcf4ab6 100644 --- a/src/context-menu-manager.coffee +++ b/src/context-menu-manager.coffee @@ -105,9 +105,9 @@ class ContextMenuManager # 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 + `ContextMenuManager::add` has changed to take a single object as its argument. Please see - https://atom.io/docs/api/latest/ContextMenuManager for more info. + https://atom.io/docs/api/latest/ContextMenuManager#context-menu-cson-format for more info. """ itemsBySelector = arguments[1] devMode = arguments[2]?.devMode @@ -116,9 +116,9 @@ class ContextMenuManager for key, value of itemsBySelector unless _.isArray(value) Grim.deprecate """ - ContextMenuManager::add has changed to take a single object as its + `ContextMenuManager::add` has changed to take a single object as its argument. Please see - https://atom.io/docs/api/latest/ContextMenuManager for more info. + https://atom.io/docs/api/latest/ContextMenuManager#context-menu-cson-format for more info. """ itemsBySelector = @convertLegacyItemsBySelector(itemsBySelector, devMode)