-
Notifications
You must be signed in to change notification settings - Fork 50
/
Copy pathAgila.py
57 lines (48 loc) · 1.89 KB
/
Agila.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import re
import sublime
import sublime_plugin
class AgilaSelectThemeCommand(sublime_plugin.TextCommand):
def run(self, action):
self.themes = [
"Agila",
"Agila Origin",
"Agila Dracula",
"Agila Monokai",
"Agila Cobalt",
"Agila Classic",
"Agila Light",
"Agila Neon",
]
self.schemes = [
"Packages/Agila Theme/Agila Oceanic Next.tmTheme",
"Packages/Agila Theme/Agila Origin Oceanic Next.tmTheme",
"Packages/Agila Theme/Agila Dracula.tmTheme",
"Packages/Agila Theme/Agila Monokai Extended.tmTheme",
"Packages/Agila Theme/Agila Cobalt.tmTheme",
"Packages/Agila Theme/Agila Classic Oceanic Next.tmTheme",
"Packages/Agila Theme/Agila Light Solarized.tmTheme",
"Packages/Agila Theme/Agila Neon Monocyanide.tmTheme",
]
self.show_panel()
def show_panel(self):
self.view.window().show_quick_panel(self.themes, self.on_done, on_highlight=self.on_highlighted)
def on_done(self, index):
theme = self.themes[index] + '.sublime-theme'
self.set_scheme(self.schemes[index])
self.set_theme(theme)
self.save_settings(theme)
def on_highlighted(self, index):
self.set_scheme(self.schemes[index])
self.set_theme(self.themes[index] + '.sublime-theme')
def set_scheme(self, scheme):
self.get_settings().set('color_scheme', scheme)
def set_theme(self, theme):
self.get_settings().set('theme', theme)
def get_settings(self):
return sublime.load_settings('Preferences.sublime-settings')
def save_settings(self, theme):
sublime.save_settings('Preferences.sublime-settings')
sublime.status_message('Agila Theme: ' + theme)
print('')
print('[Agila Theme] ' + theme)
print('')