@@ -29,7 +29,10 @@ def __generate_default_root(self):
2929 if path is None and folder_index is None :
3030 return os .path .expanduser (self .settings .get (DEFAULT_PATH_SETTING ))
3131 elif path is None :
32- return self .window .folders ()[folder_index ]
32+ if folder_index >= 0 :
33+ return self .window .folders ()[folder_index ]
34+ else :
35+ return os .path .expanduser ("~/" )
3336 return path
3437
3538 def __generate_alias_root (self ):
@@ -38,7 +41,10 @@ def __generate_alias_root(self):
3841 if path is None and folder_index is None :
3942 return os .path .expanduser (self .settings .get (ALIAS_PATH_SETTING ))
4043 elif path is None :
41- return self .window .folders ()[folder_index ]
44+ if folder_index >= 0 :
45+ return self .window .folders ()[folder_index ]
46+ else :
47+ return os .path .expanduser ("~/" )
4248 return path
4349
4450 def generate_initial_path (self , initial_path = None ):
@@ -86,6 +92,7 @@ def __get_aliases(self):
8692 def __parse_path_setting (self , setting , index_setting ):
8793 root = None
8894 folder_index = None
95+ num_folders = len (self .window .folders ())
8996 if setting == "home" :
9097 root = os .path .expanduser ("~/" )
9198 elif setting == "current" :
@@ -96,15 +103,20 @@ def __parse_path_setting(self, setting, index_setting):
96103 root = os .path .expanduser ("~/" )
97104 elif setting == "project_folder" :
98105 folder_index = self .settings .get (index_setting )
99- num_folders = len (self .window .folders ())
100- if num_folders < folder_index :
106+ if num_folders == 0 :
107+ folder_index = - 1
108+ elif num_folders < folder_index :
101109 folder_index = 0
102110 elif setting == "top_folder" :
103- folder_index = 0
111+ if num_folders == 0 :
112+ folder_index = - 1
113+ else :
114+ folder_index = 0
104115 elif setting == "path" :
105116 pass
106117 else :
107118 print ("Invalid root specifier" )
119+
108120 return (root , folder_index )
109121
110122 def split_path (self , path = "" ):
0 commit comments