@@ -36,11 +36,9 @@ def get(self, key, default=None):
36
36
37
37
window = sublime .active_window ()
38
38
if window :
39
- view = window .active_view ()
40
- if view :
41
- project_settings = view .settings ().get ("SendCode" , {})
42
- if project_settings :
43
- settings_list .insert (0 , project_settings )
39
+ project_settings = window .project_data ().get ("settings" , {}).get ("SendCode" , {})
40
+ if project_settings :
41
+ settings_list .insert (0 , project_settings )
44
42
45
43
for settings in settings_list :
46
44
# check syntax settings
@@ -59,17 +57,36 @@ def get(self, key, default=None):
59
57
def set (self , key , value ):
60
58
syntax = self .syntax ()
61
59
60
+ window = sublime .active_window ()
61
+ if window :
62
+ project_data = window .project_data ()
63
+ project_settings = project_data .get ("settings" , {}).get ("SendCode" , {})
64
+
65
+ if key == "prog" and key in project_settings :
66
+ project_settings [key ] = value
67
+
68
+ if syntax :
69
+ syntax_settings = project_settings .get (syntax , {})
70
+ if key in syntax_settings :
71
+ syntax_settings [key ] = value
72
+ window .set_project_data (project_data )
73
+ return
74
+ if key in project_settings :
75
+ project_settings [key ] = value
76
+ window .set_project_data (project_data )
77
+ return
78
+
62
79
# check syntax settings
80
+ if key == "prog" :
81
+ self .s .set (key , value )
82
+
63
83
if syntax :
64
84
syntax_settings = self .s .get (syntax , {})
65
85
syntax_settings [key ] = value
66
86
self .s .set (syntax , syntax_settings )
67
87
else :
68
88
self .s .set (key , value )
69
89
70
- if key == "prog" :
71
- self .s .set (key , value )
72
-
73
90
sublime .save_settings ('SendCode.sublime-settings' )
74
91
75
92
def erase (self , key ):
0 commit comments