@@ -100,7 +100,7 @@ function M:_write_version_file(version)
100100 file :write (version )
101101 file :close ()
102102 else
103- Logger .notify (" Could not write version file: " .. self ._version_file , vim . log . levels . WARN )
103+ Logger .warn (" Could not write version file: " .. self ._version_file )
104104 end
105105end
106106
@@ -136,7 +136,7 @@ function M:_download_latest_server(server_path, version)
136136
137137 local download_path = self ._cache_dir .. " /" .. artifact_name
138138
139- Logger .notify (" Downloading latest ECA server version from: " .. download_url , vim . log . levels . INFO )
139+ Logger .debug (" Downloading latest ECA server version from: " .. download_url )
140140
141141 -- Ensure cache directory exists
142142 vim .fn .mkdir (self ._cache_dir , " p" )
@@ -150,8 +150,7 @@ function M:_download_latest_server(server_path, version)
150150
151151 local download_result = os.execute (download_cmd )
152152 if download_result ~= 0 then
153- Logger .notify (" Failed to download ECA server from: " .. download_url , vim .log .levels .ERROR )
154- return false
153+ error (" Failed to download ECA server from: " .. download_url )
155154 end
156155
157156 -- Extract if it's a zip file
@@ -161,44 +160,32 @@ function M:_download_latest_server(server_path, version)
161160
162161 local extract_result = os.execute (extract_cmd )
163162 if extract_result ~= 0 then
164- Logger .notify (" Failed to extract ECA server" , vim .log .levels .ERROR )
165- return false
163+ error (" Failed to extract ECA server" )
166164 end
167165
168166 -- Remove the zip file after extraction
169167 os.remove (download_path )
170168 end
171169
172170 -- Make executable (if not Windows)
173- if not vim . loop .os_uname ().sysname :lower ():match (" windows" ) then
171+ if not uv .os_uname ().sysname :lower ():match (" windows" ) then
174172 os.execute (" chmod +x " .. vim .fn .shellescape (server_path ))
175173 end
176174
177175 if not Utils .file_exists (server_path ) then
178- Logger .notify (" ECA server binary not found after download and extraction" , vim .log .levels .ERROR )
179- return false
176+ error (" ECA server binary not found after download and extraction" )
180177 end
181178
182179 -- Write version file
183180 self :_write_version_file (version )
184181
185- Logger .notify (" ECA server downloaded successfully" , vim .log .levels .INFO )
182+ Logger .debug (" ECA server downloaded successfully" )
183+
186184 return true
187185end
188186
189187--- @return string
190188function M :find ()
191- -- Check for custom server path first
192- local custom_path = Config .server_path
193- if custom_path and custom_path :gsub (" %s+" , " " ) ~= " " then
194- if Utils .file_exists (custom_path ) then
195- Logger .debug (" Using custom server path: " .. custom_path )
196- return custom_path
197- else
198- Logger .notify (" Custom server path does not exist: " .. custom_path , vim .log .levels .WARN )
199- end
200- end
201-
202189 local server_path = self :_get_extension_server_path ()
203190 local latest_version = self :_get_latest_version ()
204191 local current_version = self :_read_version_file ()
@@ -215,13 +202,18 @@ function M:find()
215202 -- Download if server doesn't exist or version is outdated
216203 if not server_exists or (latest_version and current_version ~= latest_version ) then
217204 if not latest_version then
218- Logger .notify (" Could not check for latest version, using existing server" , vim . log . levels . WARN )
205+ Logger .warn (" Could not check for latest version, using existing server" )
219206 return server_path
220207 end
221208
222- local success = self :_download_latest_server (server_path , latest_version )
223- if not success then
224- error (" Failed to download ECA server" )
209+ local success
210+
211+ local ok , err = pcall (function ()
212+ success = self :_download_latest_server (server_path , latest_version )
213+ end )
214+
215+ if not ok or not success then
216+ error ((err and tostring (err )) or " Failed to download ECA server" )
225217 end
226218 end
227219
0 commit comments