18
18
lDir = pDir + os .sep + 'locale'
19
19
20
20
mExt = '.sublime-menu.json'
21
+ mMenu = 'Main.sublime-menu'
21
22
sFile = pName + '.sublime-settings'
22
23
cFile = pName + '.sublime-commands'
23
24
@@ -77,6 +78,8 @@ def setLocale(locale, force = False):
77
78
m .update (findMenu (d ))
78
79
79
80
updateMenu (m )
81
+ if getSetting ('updateTopMenu' , True ):
82
+ updateTopMenu ()
80
83
sublime .status_message ('Locale ' + locale + ' has loaded.' )
81
84
82
85
def getLink (locale ):
@@ -181,7 +184,7 @@ def makeMenu(locale, force = False):
181
184
},
182
185
"caption" : caption + ' (' + item + ')'
183
186
})
184
- mFile = os .path .join (pDir , 'Main.sublime-menu' )
187
+ mFile = os .path .join (pDir , mMenu )
185
188
saveJson (mFile , menu )
186
189
187
190
def updateMenu (m ):
@@ -191,11 +194,24 @@ def updateMenu(m):
191
194
target = os .path .join (dDir , k [:- 5 ])
192
195
menu = getJson (m [k ])
193
196
menu = updateHotkey (menu )
194
- if p == 'osx' and target [- 17 :]. upper () == 'Main.sublime-menu' . upper () :
197
+ if p == 'osx' and target [- 17 :] == mMenu :
195
198
menu [8 ]['caption' ] = 'Preferences'
196
199
menu [8 ]['mnemonic' ] = 'n'
197
200
saveJson (target , menu )
198
201
202
+ def updateTopMenu ():
203
+ tDir = pkgs + os .sep + 'ZZZZZZZZ-' + pName
204
+ if not os .path .isdir (tDir ):
205
+ os .makedirs (tDir )
206
+ topMenu = []
207
+ menu = getJson (dDir + os .sep + mMenu )
208
+ for idx , subMenu in enumerate (menu ):
209
+ if isset (subMenu , 'children' ):
210
+ del (subMenu ['children' ])
211
+ topMenu .append (subMenu )
212
+ target = os .path .join (tDir , mMenu )
213
+ saveJson (target , topMenu )
214
+
199
215
def backupMenu ():
200
216
if not os .path .isdir (dDir ):
201
217
return
0 commit comments