How can I use color schemes for each folder? (Sublime text 3)

Here is my problem: when writing javascript for the server and on the client side, I regularly exchange methods and / or close the file names. I would like to be able to take into account the context, simply by the background color of the open files. So I'm looking for a way to tell sublime text in order to use one color scheme for the files in the server folder and another for those in the client folder: any hint on how I can do this?

I am not sure if this is possible, since this implies a configuration file for each folder, I think, but that my bottle is in the sea ... thanks!

+4
source share
2

- projects. , - . Project -> Edit Project, - :

{
    "folders":
    [
        {
            "follow_symlinks": true,
            "path": "/home/mattdmo/Projects/js/MySweetApp/server-side"
        }
    ]
}

, : "settings" "build_systems". settings , Preferences -> Settings-User, "color_scheme":

{
    "folders":
    [
        {
            "follow_symlinks": true,
            "path": "/home/mattdmo/Projects/js/MySweetApp/server-side"
        }
    ],

    "settings":
    {
        "color_scheme": "Packages/Neon Color Scheme/Neon.tmTheme"
    }
}

.sublime-project, , settings color_scheme , .


, , . Python :

import sublime
import sublime_plugin


class ClientServerColorSchemeCommand(sublime_plugin.TextCommand):

    def run(self, edit):
        if "/server/" in self.view.file_name():
            self.view.settings().set("color_scheme", 
                "Packages/User/server.tmTheme")
        elif "/client/" in self.view.file_name():
            self.view.settings().set("color_scheme", 
                "Packages/User/client.tmTheme")


class ClientServerEventListener(sublime_plugin.EventListener):

    def on_load_async(self, view):
        view.run_command("client_server_color_scheme")

, "color_scheme" , , "/server/" / "/client/" if/elif, . Windows, / \\. Packages/User/client_server_color_scheme.py, Packages - , Preferences -> Browse Packages....

, , , , , . .

, ST3. ST2, def on_load_async def on_load.

+7

MattDMo Sublime Text 3 ( 3143):

import sublime, sublime_plugin
class ColorSchemeByPathCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        settings = self.view.settings()
        if "/test/" in self.view.file_name():
            settings.set('color_scheme', "Packages/User/SublimeLinter/Orange01 (SL).tmTheme")
        else:
            settings.set('color_scheme', "Packages/User/SublimeLinter/Blue01 (SL).tmTheme")
class ColorSchemeByPathEventListener(sublime_plugin.EventListener):
    def on_load_async(self, view):
        view.run_command("color_scheme_by_path")
+2

All Articles