|
10 | 10 | import ntpath
|
11 | 11 |
|
12 | 12 | def dxProjectFolder():
|
13 |
| - open_folders = sublime.active_window().folders() |
14 |
| - for folder in open_folders: |
15 |
| - for root, dirs, files in os.walk(folder, topdown=False): |
16 |
| - for name in files: |
17 |
| - if name == 'sfdx-project.json': |
18 |
| - return folder |
19 |
| - return '' |
| 13 | + for window in sublime.windows(): |
| 14 | + open_folders = window.folders() |
| 15 | + for folder in open_folders: |
| 16 | + for root, dirs, files in os.walk(folder, topdown=False): |
| 17 | + for name in files: |
| 18 | + if name == 'sfdx-project.json': |
| 19 | + return folder |
| 20 | + return '' |
20 | 21 |
|
21 | 22 |
|
22 | 23 | class LanguageServer:
|
23 | 24 |
|
24 |
| - UBER_JAR_NAME = os.path.join(sublime.packages_path(), 'sfdx', 'apex-jorje-lsp.jar') |
| 25 | + UBER_JAR_NAME = 'apex-jorje-lsp.jar' |
25 | 26 | JDWP_DEBUG_PORT = 2739
|
26 | 27 | APEX_LANGUAGE_SERVER_MAIN = 'apex.jorje.lsp.ApexLanguageServerLauncher'
|
27 | 28 |
|
28 | 29 | def createServer(self):
|
29 |
| - self.deleteDbIfExists() |
30 |
| - uberJar = os.path.join(sublime.packages_path(), 'salesforce-dx', self.UBER_JAR_NAME) |
31 |
| - args = ['javaw', '-cp', uberJar, '-Ddebug.internal.errors=true','-Ddebug.semantic.errors=false', self.APEX_LANGUAGE_SERVER_MAIN] |
32 |
| - p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr = subprocess.STDOUT) |
| 30 | + if(dxProjectFolder() != ''): |
| 31 | + self.deleteDbIfExists() |
| 32 | + uberJar = os.path.join(sublime.packages_path(), 'dxmate', self.UBER_JAR_NAME) |
| 33 | + args = ['javaw', '-cp', uberJar, '-Ddebug.internal.errors=true','-Ddebug.semantic.errors=false', self.APEX_LANGUAGE_SERVER_MAIN] |
| 34 | + p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr = subprocess.STDOUT, cwd=dxProjectFolder()) |
33 | 35 |
|
34 | 36 |
|
35 | 37 |
|
@@ -83,13 +85,16 @@ def is_enabled(self):
|
83 | 85 | def description(self):
|
84 | 86 | return
|
85 | 87 |
|
86 |
| -#not ready for code completion yet |
87 |
| -#ls = LanguageServer() |
88 |
| -#ls.createServer() |
89 |
| - |
90 |
| -active_window_id = sublime.active_window().id() |
91 |
| -printer = PanelPrinter.get(active_window_id) |
92 |
| -printer.write("sfdx plugin loaded", erase = True) |
| 88 | +ls = LanguageServer() |
| 89 | +printer = None |
| 90 | +def plugin_loaded(): |
| 91 | + global ls |
| 92 | + global printer |
| 93 | + # not ready for language services yet |
| 94 | + #ls.createServer() |
| 95 | + active_window_id = sublime.active_window().id() |
| 96 | + printer = PanelPrinter.get(active_window_id) |
| 97 | + printer.write("sfdx plugin loaded", erase = True) |
93 | 98 |
|
94 | 99 | class DxmateRunFileTestsCommand(sublime_plugin.WindowCommand):
|
95 | 100 | def run(self):
|
|
0 commit comments