Sublime Forum

Improve "Packages" structure & load nested plugins

#1

Current Issues:

  • /Packages/ is a mess of unpackaged plugins, modified instances of packaged plugin files, & dependencies.

  • Sublime Text only loads .py files that are within /Packages/ or one subdirectory level deep.

  • /Packages/Users/ contains user instances of .sublime-settings files mixed with plugin resources.
     



 
I propose implementing an improved structure that:

  • Implements _Dependencies, _Modified, _Settings, & _Resources as system folders for their respective contents.

  • Allows .sublime-plugin files to be parsed as plugins, no matter how deep they are in the directory structure, so that users can arbitrarily organize unpackaged plugins. This would be especially useful for plugin development.

 

For example:

Packages
   │    
   │    #■■■■■  System Folders  ■■■■■#
   │    
   ├─── _Dependencies
   │       │
   │       ├─── mdpopups
   │       │       └─── mdpopups.py
   │       │
   │       └─── pygments
   │               └─── pygments.py
   │
   ├─── _Modified
   │       │
   │       ├─── Java
   │       │       └─── JavaC.sublime-build
   │       │
   │       └─── Python
   │               └─── Snippets
   │                      └─── New-Class.sublime-snippet
   │
   ├─── _Settings
   │       │
   │       ├─── ASCII Decorator.sublime-settings
   │       └─── SideBar Git.sublime-settings
   │
   ├─── _Resources
   │       │
   │       ├─── Color Highlighter
   │       │      └─── ColorPicker_win.exe
   │       └─── PackageControl
   │               └─── Package Control.last-run
   │
   │    #■■■■■  User Folders ( Unpackaged )  ■■■■■#
   │
   ├─── My_Plugins
   │       │
   │       ├─── Released
   │       │       ├─── MyPlugin_1.sublime-plugin
   │       │       └─── MyPlugin_1.sublime-plugin
   │       │
   │       └─── In Development
   │               ├─── MyPlugin_3.sublime-plugin
   │               └─── MyPlugin_4.sublime-plugin
   │
   ├─── SyntaxSpecific_Plugins
   │       │
   │       ├─── Anaconda
   │       │       └─── Anaconda.sublime-plugin
   │       │
   │       └─── CSS3
   │               └─── CSS3.sublime-plugin
   │
   └─── Misc_Plugins
           │
           ├─── ASCII Decorator
           │       └─── ASCII Decorator.sublime-plugin
           │
           └─── SideBar Git
                   └─── SideBar Git.sublime-plugin
1 Like

ignored_packages also ignores folder in Packages/User
#2

Compare:










1 Like

#3

I highly agree that dependencies should not be in the Packages folder. However, nobody has done work for it yet (me included).

The other suggestions are over-thinking it imo. Besides a separate folder for override packages, which could then also override non-archived package distributions (for example when syncing via git or a PC package with a .no-sublime-package file). It should be in Data/Override Packages/ though, imo.

1 Like

#4

 
Idk, for me - the ability to load .sublime-plugin files from any sub-directoy would be the most useful enhancement.  Then, even if the rest of /Packages/ is a hot mess, I can at least house my plugins in /Packages/_Releases and /Packages/_InDevelopment.  It’s pretty inefficient to visually scan for them when they’re mixed in with 50-100 random plugins, overridden files, & dependencies.

 

 
Agreed, thats actually better than what I suggested since it allows unpackaged plugin files to be overridden. :slightly_smiling:

0 Likes