Skip to content

Commit 72a52fc

Browse files
fix not closing wit no selection in popup after adding new project type
1 parent 598e44a commit 72a52fc

File tree

5 files changed

+51
-31
lines changed

5 files changed

+51
-31
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ developing and managing **javascript projects**, such as:
2121
- JavaScript real-time errors
2222
- etc.
2323

24+
You could use it also in **existing projects** (see the [Wiki](https://github.com/pichillilorenzo/JavaScriptEnhancements/wiki))!
25+
2426
It will turn Sublime Text into a **JavaScript IDE** like!
2527

2628
This project is based on my other Sublime Text plugin [JavaScript Completions](https://github.com/pichillilorenzo/JavaScript-Completions)
@@ -37,7 +39,7 @@ If you want use this plugin, you may want **uninstall/disable** the **JavaScript
3739

3840
In order to work properly, this plugin has some dependencies:
3941

40-
- Sublime Text 3 (build 3124 or newer)
42+
- **Sublime Text 3** (build **3124** or newer)
4143
- **Node.js** and **npm** ([nodejs.org](https://nodejs.org) or [nvm](https://github.com/creationix/nvm))
4244
- **TerminalView** sublime text plugin ([TerminalView](https://github.com/Wramberg/TerminalView))
4345

_generated_2018_01_01_at_16_07_42.py renamed to _generated_2018_01_01_at_16_42_01.py

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1650,7 +1650,7 @@ def project_path_on_done(self, path):
16501650
path = shlex.quote( path.strip() )
16511651

16521652
if os.path.isdir(os.path.join(path, PROJECT_SETTINGS_FOLDER_NAME)):
1653-
sublime.error_message(path+" is not empty. Can not create the project.")
1653+
sublime.error_message("Can't create the project. There is already another project in "+path+".")
16541654
return
16551655

16561656
if not os.path.isdir(path):
@@ -1687,17 +1687,18 @@ def project_path_on_done(self, path):
16871687
with open(project_settings, 'w+', encoding="utf-8") as file:
16881688
file.write(json.dumps(default_config["project_settings"], indent=2))
16891689

1690-
# node = NodeJS()
1691-
# result = node.execute("flow", ["init"], is_from_bin=True, chdir=path)
1692-
# if not result[0]:
1693-
# sublime.error_message("Can not init flow.")
1694-
# else:
1695-
# with open(flowconfig_file_path, 'r+', encoding="utf-8") as file:
1696-
# content = file.read()
1697-
# content = content.replace("[ignore]", """[ignore]""")
1698-
# file.seek(0)
1699-
# file.truncate()
1700-
# file.write(content)
1690+
if not os.path.exists(flowconfig_file_path) :
1691+
node = NodeJS(check_local=True)
1692+
result = node.execute("flow", ["init"], is_from_bin=True, chdir=path)
1693+
if not result[0]:
1694+
sublime.error_message("Can't initialize flow.")
1695+
# else:
1696+
# with open(flowconfig_file_path, 'r+', encoding="utf-8") as file:
1697+
# content = file.read()
1698+
# content = content.replace("[ignore]", """[ignore]""")
1699+
# file.seek(0)
1700+
# file.truncate()
1701+
# file.write(content)
17011702

17021703
Hook.apply(self.project_type+"_after_create_new_project", path, "create_new_project")
17031704
Hook.apply("after_create_new_project", path, "create_new_project")
@@ -1718,6 +1719,9 @@ def run(self, **kwargs):
17181719

17191720
def project_type_selected(self, index):
17201721

1722+
if index == -1:
1723+
return
1724+
17211725
self.project_type = PROJECT_TYPE_SUPPORTED[index]
17221726
self.window.show_input_panel("Working Directory:", self.settings["project_dir_name"]+os.path.sep, self.working_directory_on_done, None, None)
17231727

@@ -1750,6 +1754,9 @@ def run(self, *args):
17501754

17511755
def project_type_selected(self, index):
17521756

1757+
if index == -1:
1758+
return
1759+
17531760
self.project_type = PROJECT_TYPE_SUPPORTED[index]
17541761
self.window.show_input_panel("Working directory:", self.settings["project_dir_name"]+os.path.sep, self.working_directory_on_done, None, None)
17551762

@@ -3914,7 +3921,7 @@ def on_modified_async_with_thread(self, recheck=True) :
39143921

39153922
def on_hover(self, point, hover_zone) :
39163923
view = self.view
3917-
#view.erase_phantoms("flow_error")
3924+
39183925
if hover_zone != sublime.HOVER_TEXT :
39193926
return
39203927

@@ -3995,8 +4002,6 @@ def on_selection_modified_async(self, *args) :
39954002
) and not view.find_by_selector("source.js.embedded.html")) or not self.errors or not view.get_regions("flow_error"):
39964003
hide_flow_errors(view)
39974004
return
3998-
3999-
view.erase_phantoms("flow_error")
40004005

40014006
settings = get_project_settings()
40024007
if settings :
@@ -4834,6 +4839,10 @@ def start():
48344839

48354840
global mainPlugin
48364841

4842+
if sublime.platform() == 'windows':
4843+
sublime.error_message("Windows is not supported by this plugin for now.")
4844+
return
4845+
48374846
try:
48384847
sys.modules["TerminalView"]
48394848
except Exception as err:

helper/javascript_completions/show_flow_errors_view_event_listener.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def on_modified_async_with_thread(self, recheck=True) :
112112

113113
def on_hover(self, point, hover_zone) :
114114
view = self.view
115-
#view.erase_phantoms("flow_error")
115+
116116
if hover_zone != sublime.HOVER_TEXT :
117117
return
118118

@@ -193,8 +193,6 @@ def on_selection_modified_async(self, *args) :
193193
) and not view.find_by_selector("source.js.embedded.html")) or not self.errors or not view.get_regions("flow_error"):
194194
hide_flow_errors(view)
195195
return
196-
197-
view.erase_phantoms("flow_error")
198196

199197
settings = get_project_settings()
200198
if settings :

make/_init.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@ def start():
103103

104104
global mainPlugin
105105

106+
if sublime.platform() == 'windows':
107+
sublime.error_message("Windows is not supported by this plugin for now.")
108+
return
109+
106110
try:
107111
sys.modules["TerminalView"]
108112
except Exception as err:

project/create_new_project/create_new_project.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def project_path_on_done(self, path):
2121
path = shlex.quote( path.strip() )
2222

2323
if os.path.isdir(os.path.join(path, PROJECT_SETTINGS_FOLDER_NAME)):
24-
sublime.error_message(path+" is not empty. Can not create the project.")
24+
sublime.error_message("Can't create the project. There is already another project in "+path+".")
2525
return
2626

2727
if not os.path.isdir(path):
@@ -58,17 +58,18 @@ def project_path_on_done(self, path):
5858
with open(project_settings, 'w+', encoding="utf-8") as file:
5959
file.write(json.dumps(default_config["project_settings"], indent=2))
6060

61-
# node = NodeJS()
62-
# result = node.execute("flow", ["init"], is_from_bin=True, chdir=path)
63-
# if not result[0]:
64-
# sublime.error_message("Can not init flow.")
65-
# else:
66-
# with open(flowconfig_file_path, 'r+', encoding="utf-8") as file:
67-
# content = file.read()
68-
# content = content.replace("[ignore]", """[ignore]""")
69-
# file.seek(0)
70-
# file.truncate()
71-
# file.write(content)
61+
if not os.path.exists(flowconfig_file_path) :
62+
node = NodeJS(check_local=True)
63+
result = node.execute("flow", ["init"], is_from_bin=True, chdir=path)
64+
if not result[0]:
65+
sublime.error_message("Can't initialize flow.")
66+
# else:
67+
# with open(flowconfig_file_path, 'r+', encoding="utf-8") as file:
68+
# content = file.read()
69+
# content = content.replace("[ignore]", """[ignore]""")
70+
# file.seek(0)
71+
# file.truncate()
72+
# file.write(content)
7273

7374
Hook.apply(self.project_type+"_after_create_new_project", path, "create_new_project")
7475
Hook.apply("after_create_new_project", path, "create_new_project")
@@ -89,6 +90,9 @@ def run(self, **kwargs):
8990

9091
def project_type_selected(self, index):
9192

93+
if index == -1:
94+
return
95+
9296
self.project_type = PROJECT_TYPE_SUPPORTED[index]
9397
self.window.show_input_panel("Working Directory:", self.settings["project_dir_name"]+os.path.sep, self.working_directory_on_done, None, None)
9498

@@ -121,6 +125,9 @@ def run(self, *args):
121125

122126
def project_type_selected(self, index):
123127

128+
if index == -1:
129+
return
130+
124131
self.project_type = PROJECT_TYPE_SUPPORTED[index]
125132
self.window.show_input_panel("Working directory:", self.settings["project_dir_name"]+os.path.sep, self.working_directory_on_done, None, None)
126133

0 commit comments

Comments
 (0)