I’m working on something you may be interested in: https://www.dropbox.com/s/2ov6prv7cfn7sca/Screenshots.zip?dl=0
Basically Acecool Code Mapping System is similar to CodeMap except it comes with a lot of languages mapped, uses Sublime Text Symbols for quick / universal language mapping, has category and nested category support so there is no wasted space, allows many different methods of outputting the data ( ie Path.To.Class.FuncName( args ) as an entry in a category or having Path.To.Class as a category with FuncName( args ) as an entry underneath to save space, or shorten so Class.FuncName( args ) as the entry…
I’ve just started added similar features to JavaScript… I’m still working on making this addon standalone because there is a huge problem with the previous partnership…
For example - .php file extension supports 6 or so languages… PHP, HTML, JavaScript, CSS, RegEx ( PHP and JavaScript implementations ), SQL… With CodeMap ( which is currently needed until I finish up a few things ) you would have to have the map for .php with everything in it… that it also means languages which use multiple extensions such as cpp, .h, etc… can’t use the same class easily either…
So my method is to map file extensions and define which languages they use… You then create language maps and classes to add extra mappings for your projects… in a settings file for the extension you define the languages the file uses, and ( eventually) you define when the mapper is active… For php would be inside of <? ?> tags, html outside… for CSS - html must be active and Style tag found… for JavaScript, html must be active and then inside of script tag… for RegEx JavaScript or php must be active and their function call, or some other method will be used to detect them… sql would be detected in function calls, etc…
Rules based - but also very easy to set up…
Then, You can decide which class to use ( for each language ) so if you have a project in PHP where you want to expand accessor funcs into their various functions as entries you can create a class extending PHP and then in your mapping config for the language itself ( not the extension ) you would define that PHP.User class is active if the file is ( and a set of rules - so it can be active in a folder, all the time, etc… )…
This addon is a vital part of any idea - being able to quickly and easily identify code, errors, tasks, notes, etc… from a file potentially thousands of lines long and be able to jump to that block of code with a single double-click or other action ( and I plan on adding multiple panel support so one can be mapping, the other for notes / tasks / errors / and one more for snippets with the user deciding as much or as little as they want to see )… makes a world of difference and improves coding efficiency many times over…
I’m currently working on making it stand-alone and I am almost to the point where I can start removing all of the configuration from the class files ( and split them up ) and into sublime-settings files, along with displaying the data in the panel I create and control… Right now to use it, it is still displayed through CodeMap but hopefully the next few days I’ll have my panel working as desired ( right now it opens and closes without any issues, properly detects when open after closing st and reopening st - but if the user closes it with middle-mouse or X instead of the context menu [ and this bug exists in CodeMap with the additional bug being that it also exists with context menu and key-binds ] then not only does the group close, it closes the next file which takes focus - so it’s either a sublime text issue or something I need to figure out… At the moment, I’m a few steps ahead of CodeMap because the bug only exists in one place instead of 4 but I can’t seem to figure out why - and it happens with the user closing the tab instead of through my code which is why I think it is from sublime text… )…
Sorry for the wall - but once it is stand alone if you want to link the IDE project through my system ( ie group of addons to build this system ) then feel free to message me
I’m all about efficiency, backwards / future compatibility, effective and bug-free coding, and human readable so I use my own coding standards while coding.
Oh, I’m also simplifying the callback system - right now there are a lot of arguments for each callback and this is annoying to update, especially as my database of language mappers grows so I’ll be using an object as the argument so that can be altered without having to go through all of the mappers and alter them ( which would then require the users to too )…
And, finally, since advanced panels aren’t possible in Sublime Text, but we are given access to Python and Python has a lot of cross-platform gui modules - and some addons create panels this way - I may create a more advanced panel ( the user can then choose to use the advanced external or the more basic internal panel( s ) ) with many more output options such as more advanced trees ( I will offer folding support with my categories too soon ) dropdowns to select other aspects quickly, and to filter what they want along with a quick-search field… but this is down the road a little…
Anyways, let me know if you’re interested…