Skip to content

Commit aa333e0

Browse files
committed
chore: M5 CI/Workflow Sweep - final synchronisation
1 parent 7870860 commit aa333e0

11 files changed

Lines changed: 54 additions & 54 deletions

File tree

ffi/zig/src/main.zig

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// {{PROJECT}} FFI Implementation
1+
// UNIVERSAL_LANGUAGE_SERVER_PLUGIN FFI Implementation
22
//
33
// This module implements the C-compatible FFI declared in src/abi/Foreign.idr
44
// All types and layouts must match the Idris2 ABI definitions.
@@ -9,7 +9,7 @@ const std = @import("std");
99

1010
// Version information (keep in sync with project)
1111
const VERSION = "0.1.0";
12-
const BUILD_INFO = "{{PROJECT}} built with Zig " ++ @import("builtin").zig_version_string;
12+
const BUILD_INFO = "UNIVERSAL_LANGUAGE_SERVER_PLUGIN built with Zig " ++ @import("builtin").zig_version_string;
1313

1414
/// Thread-local error storage
1515
threadlocal var last_error: ?[]const u8 = null;
@@ -51,7 +51,7 @@ pub const Handle = opaque {
5151

5252
/// Initialize the library
5353
/// Returns a handle, or null on failure
54-
export fn {{project}}_init() ?*Handle {
54+
export fn universal_language_server_plugin_init() ?*Handle {
5555
const allocator = std.heap.c_allocator;
5656

5757
const handle = allocator.create(Handle) catch {
@@ -70,7 +70,7 @@ export fn {{project}}_init() ?*Handle {
7070
}
7171

7272
/// Free the library handle
73-
export fn {{project}}_free(handle: ?*Handle) void {
73+
export fn universal_language_server_plugin_free(handle: ?*Handle) void {
7474
const h = handle orelse return;
7575
const allocator = h.allocator;
7676

@@ -86,7 +86,7 @@ export fn {{project}}_free(handle: ?*Handle) void {
8686
//==============================================================================
8787

8888
/// Process data (example operation)
89-
export fn {{project}}_process(handle: ?*Handle, input: u32) Result {
89+
export fn universal_language_server_plugin_process(handle: ?*Handle, input: u32) Result {
9090
const h = handle orelse {
9191
setError("Null handle");
9292
return .null_pointer;
@@ -110,7 +110,7 @@ export fn {{project}}_process(handle: ?*Handle, input: u32) Result {
110110

111111
/// Get a string result (example)
112112
/// Caller must free the returned string
113-
export fn {{project}}_get_string(handle: ?*Handle) ?[*:0]const u8 {
113+
export fn universal_language_server_plugin_get_string(handle: ?*Handle) ?[*:0]const u8 {
114114
const h = handle orelse {
115115
setError("Null handle");
116116
return null;
@@ -132,7 +132,7 @@ export fn {{project}}_get_string(handle: ?*Handle) ?[*:0]const u8 {
132132
}
133133

134134
/// Free a string allocated by the library
135-
export fn {{project}}_free_string(str: ?[*:0]const u8) void {
135+
export fn universal_language_server_plugin_free_string(str: ?[*:0]const u8) void {
136136
const s = str orelse return;
137137
const allocator = std.heap.c_allocator;
138138

@@ -145,7 +145,7 @@ export fn {{project}}_free_string(str: ?[*:0]const u8) void {
145145
//==============================================================================
146146

147147
/// Process an array of data
148-
export fn {{project}}_process_array(
148+
export fn universal_language_server_plugin_process_array(
149149
handle: ?*Handle,
150150
buffer: ?[*]const u8,
151151
len: u32,
@@ -181,7 +181,7 @@ export fn {{project}}_process_array(
181181

182182
/// Get the last error message
183183
/// Returns null if no error
184-
export fn {{project}}_last_error() ?[*:0]const u8 {
184+
export fn universal_language_server_plugin_last_error() ?[*:0]const u8 {
185185
const err = last_error orelse return null;
186186

187187
// Return C string (static storage, no need to free)
@@ -195,12 +195,12 @@ export fn {{project}}_last_error() ?[*:0]const u8 {
195195
//==============================================================================
196196

197197
/// Get the library version
198-
export fn {{project}}_version() [*:0]const u8 {
198+
export fn universal_language_server_plugin_version() [*:0]const u8 {
199199
return VERSION.ptr;
200200
}
201201

202202
/// Get build information
203-
export fn {{project}}_build_info() [*:0]const u8 {
203+
export fn universal_language_server_plugin_build_info() [*:0]const u8 {
204204
return BUILD_INFO.ptr;
205205
}
206206

@@ -212,7 +212,7 @@ export fn {{project}}_build_info() [*:0]const u8 {
212212
pub const Callback = *const fn (u64, u32) callconv(.C) u32;
213213

214214
/// Register a callback
215-
export fn {{project}}_register_callback(
215+
export fn universal_language_server_plugin_register_callback(
216216
handle: ?*Handle,
217217
callback: ?Callback,
218218
) Result {
@@ -243,7 +243,7 @@ export fn {{project}}_register_callback(
243243
//==============================================================================
244244

245245
/// Check if handle is initialized
246-
export fn {{project}}_is_initialized(handle: ?*Handle) u32 {
246+
export fn universal_language_server_plugin_is_initialized(handle: ?*Handle) u32 {
247247
const h = handle orelse return 0;
248248
return if (h.initialized) 1 else 0;
249249
}
@@ -253,22 +253,22 @@ export fn {{project}}_is_initialized(handle: ?*Handle) u32 {
253253
//==============================================================================
254254

255255
test "lifecycle" {
256-
const handle = {{project}}_init() orelse return error.InitFailed;
257-
defer {{project}}_free(handle);
256+
const handle = universal_language_server_plugin_init() orelse return error.InitFailed;
257+
defer universal_language_server_plugin_free(handle);
258258

259-
try std.testing.expect({{project}}_is_initialized(handle) == 1);
259+
try std.testing.expect(universal_language_server_plugin_is_initialized(handle) == 1);
260260
}
261261

262262
test "error handling" {
263-
const result = {{project}}_process(null, 0);
263+
const result = universal_language_server_plugin_process(null, 0);
264264
try std.testing.expectEqual(Result.null_pointer, result);
265265

266-
const err = {{project}}_last_error();
266+
const err = universal_language_server_plugin_last_error();
267267
try std.testing.expect(err != null);
268268
}
269269

270270
test "version" {
271-
const ver = {{project}}_version();
271+
const ver = universal_language_server_plugin_version();
272272
const ver_str = std.mem.span(ver);
273273
try std.testing.expectEqualStrings(VERSION, ver_str);
274274
}

server/src/auth.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ mod tests {
296296
let config = AuthConfig::default();
297297
let service = AuthService::new(config);
298298

299-
let token = service.generate_token("user123".to_string(), vec!["read".to_string()]).unwrap();
299+
let token = service.generate_token("user123".to_string(), vec!["read".to_string()]).expect("TODO: handle error");
300300
assert!(token.starts_with("Bearer "));
301301
}
302302

server/src/core.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ impl ConversionCore {
227227

228228
// Extract headings
229229
for level in 1..=6 {
230-
let selector = Selector::parse(&format!("h{level}")).unwrap();
230+
let selector = Selector::parse(&format!("h{level}")).expect("TODO: handle error");
231231
for element in document.select(&selector) {
232232
let text = element.text().collect::<String>();
233233
markdown.push_str(&format!("{} {}\n\n", "#".repeat(level), text.trim()));
@@ -268,7 +268,7 @@ impl ConversionCore {
268268

269269
// If we got nothing, just extract all text
270270
if markdown.trim().is_empty() {
271-
let body_selector = Selector::parse("body").unwrap();
271+
let body_selector = Selector::parse("body").expect("TODO: handle error");
272272
if let Some(body) = document.select(&body_selector).next() {
273273
markdown = body.text().collect::<String>();
274274
} else {
@@ -300,7 +300,7 @@ impl ConversionCore {
300300
// Extract headings
301301
let mut headings = Vec::new();
302302
for level in 1..=6 {
303-
let selector = Selector::parse(&format!("h{level}")).unwrap();
303+
let selector = Selector::parse(&format!("h{level}")).expect("TODO: handle error");
304304
for element in document.select(&selector) {
305305
headings.push(format!("H{}: {}", level, element.text().collect::<String>()));
306306
}
@@ -412,7 +412,7 @@ mod tests {
412412
#[test]
413413
fn test_html_to_markdown() {
414414
let html = "<h1>Hello World</h1><p>This is a test.</p>";
415-
let markdown = ConversionCore::html_to_markdown(html).unwrap();
415+
let markdown = ConversionCore::html_to_markdown(html).expect("TODO: handle error");
416416
assert!(markdown.contains("# Hello World"));
417417
assert!(markdown.contains("This is a test"));
418418
}
@@ -424,7 +424,7 @@ mod tests {
424424
from: Format::Markdown,
425425
to: Format::Html,
426426
};
427-
let response = ConversionCore::convert(request).unwrap();
427+
let response = ConversionCore::convert(request).expect("TODO: handle error");
428428
assert!(response.content.contains("<h1>"));
429429
}
430430

@@ -435,7 +435,7 @@ mod tests {
435435
from: Format::Markdown,
436436
to: Format::Markdown,
437437
};
438-
let response = ConversionCore::convert(request).unwrap();
438+
let response = ConversionCore::convert(request).expect("TODO: handle error");
439439
assert_eq!(response.content, "# Test");
440440
}
441441

@@ -447,25 +447,25 @@ mod tests {
447447
from: Format::Markdown,
448448
to: Format::Json,
449449
};
450-
let json_response = ConversionCore::convert(request).unwrap();
450+
let json_response = ConversionCore::convert(request).expect("TODO: handle error");
451451

452452
let request = ConversionRequest {
453453
content: json_response.content,
454454
from: Format::Json,
455455
to: Format::Markdown,
456456
};
457-
let md_response = ConversionCore::convert(request).unwrap();
457+
let md_response = ConversionCore::convert(request).expect("TODO: handle error");
458458
assert!(md_response.content.contains("Title"));
459459
}
460460

461461
#[test]
462462
fn test_validate_json() {
463463
let valid = r#"{"key": "value"}"#;
464-
let diagnostics = ConversionCore::validate(valid, Format::Json).unwrap();
464+
let diagnostics = ConversionCore::validate(valid, Format::Json).expect("TODO: handle error");
465465
assert!(diagnostics.is_empty());
466466

467467
let invalid = r#"{"key": invalid}"#;
468-
let diagnostics = ConversionCore::validate(invalid, Format::Json).unwrap();
468+
let diagnostics = ConversionCore::validate(invalid, Format::Json).expect("TODO: handle error");
469469
assert!(!diagnostics.is_empty());
470470
}
471471
}

server/src/document_store.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ mod tests {
194194
assert_eq!(store.count(), 1);
195195

196196
// Get
197-
let doc = store.get("file:///test.md").unwrap();
197+
let doc = store.get("file:///test.md").expect("TODO: handle error");
198198
assert_eq!(doc.content, "# Hello");
199199

200200
// Update
@@ -203,7 +203,7 @@ mod tests {
203203
"# Hello World".to_string(),
204204
"markdown".to_string(),
205205
);
206-
let doc = store.get("file:///test.md").unwrap();
206+
let doc = store.get("file:///test.md").expect("TODO: handle error");
207207
assert_eq!(doc.content, "# Hello World");
208208
assert_eq!(doc.version, 2);
209209

@@ -237,7 +237,7 @@ mod tests {
237237
}
238238

239239
for handle in handles {
240-
handle.join().unwrap();
240+
handle.join().expect("TODO: handle error");
241241
}
242242

243243
assert_eq!(store.count(), 1000);

server/src/formats/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@ mod tests {
5252

5353
#[test]
5454
fn test_format_from_str() {
55-
assert_eq!(ExtendedFormat::from_str("yaml").unwrap(), ExtendedFormat::Yaml);
56-
assert_eq!(ExtendedFormat::from_str("yml").unwrap(), ExtendedFormat::Yaml);
57-
assert_eq!(ExtendedFormat::from_str("xml").unwrap(), ExtendedFormat::Xml);
58-
assert_eq!(ExtendedFormat::from_str("toml").unwrap(), ExtendedFormat::Toml);
55+
assert_eq!(ExtendedFormat::from_str("yaml").expect("TODO: handle error"), ExtendedFormat::Yaml);
56+
assert_eq!(ExtendedFormat::from_str("yml").expect("TODO: handle error"), ExtendedFormat::Yaml);
57+
assert_eq!(ExtendedFormat::from_str("xml").expect("TODO: handle error"), ExtendedFormat::Xml);
58+
assert_eq!(ExtendedFormat::from_str("toml").expect("TODO: handle error"), ExtendedFormat::Toml);
5959
}
6060

6161
#[test]

server/src/formats/toml.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ mod tests {
4646

4747
#[test]
4848
fn test_validate_toml_empty() {
49-
let diagnostics = validate_toml("").unwrap();
49+
let diagnostics = validate_toml("").expect("TODO: handle error");
5050
assert!(!diagnostics.is_empty());
5151
}
5252
}

server/src/formats/xml.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,14 @@ mod tests {
4949

5050
#[test]
5151
fn test_validate_xml_empty() {
52-
let diagnostics = validate_xml("").unwrap();
52+
let diagnostics = validate_xml("").expect("TODO: handle error");
5353
assert!(!diagnostics.is_empty());
5454
}
5555

5656
#[test]
5757
fn test_validate_xml_no_declaration() {
5858
let xml = "<root></root>";
59-
let diagnostics = validate_xml(xml).unwrap();
59+
let diagnostics = validate_xml(xml).expect("TODO: handle error");
6060
assert!(diagnostics.iter().any(|d| d.contains("declaration")));
6161
}
6262
}

server/src/formats/yaml.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,14 @@ mod tests {
6565
#[test]
6666
fn test_validate_yaml_tabs() {
6767
let yaml = "key:\tvalue"; // Has tab
68-
let diagnostics = validate_yaml(yaml).unwrap();
68+
let diagnostics = validate_yaml(yaml).expect("TODO: handle error");
6969
assert!(!diagnostics.is_empty());
7070
assert!(diagnostics[0].contains("tabs"));
7171
}
7272

7373
#[test]
7474
fn test_validate_yaml_empty() {
75-
let diagnostics = validate_yaml(" ").unwrap();
75+
let diagnostics = validate_yaml(" ").expect("TODO: handle error");
7676
assert!(!diagnostics.is_empty());
7777
}
7878
}

server/src/http.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -261,10 +261,10 @@ mod tests {
261261
Request::builder()
262262
.uri("/api/health")
263263
.body(Body::empty())
264-
.unwrap(),
264+
.expect("TODO: handle error"),
265265
)
266266
.await
267-
.unwrap();
267+
.expect("TODO: handle error");
268268

269269
assert_eq!(response.status(), StatusCode::OK);
270270
}
@@ -286,11 +286,11 @@ mod tests {
286286
.method("POST")
287287
.uri("/api/convert")
288288
.header("content-type", "application/json")
289-
.body(Body::from(serde_json::to_string(&payload).unwrap()))
290-
.unwrap(),
289+
.body(Body::from(serde_json::to_string(&payload).expect("TODO: handle error")))
290+
.expect("TODO: handle error"),
291291
)
292292
.await
293-
.unwrap();
293+
.expect("TODO: handle error");
294294

295295
assert_eq!(response.status(), StatusCode::OK);
296296
}
@@ -313,10 +313,10 @@ mod tests {
313313
Request::builder()
314314
.uri("/api/documents")
315315
.body(Body::empty())
316-
.unwrap(),
316+
.expect("TODO: handle error"),
317317
)
318318
.await
319-
.unwrap();
319+
.expect("TODO: handle error");
320320

321321
assert_eq!(response.status(), StatusCode::OK);
322322
}

server/src/monitoring.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ impl Metrics {
7070
if !durations.is_empty() {
7171
let sum: u64 = durations.iter().sum();
7272
let avg = sum / durations.len() as u64;
73-
let max = *durations.iter().max().unwrap();
74-
let min = *durations.iter().min().unwrap();
73+
let max = *durations.iter().max().expect("TODO: handle error");
74+
let min = *durations.iter().min().expect("TODO: handle error");
7575

7676
// Calculate percentiles
7777
let mut sorted = durations.clone();

0 commit comments

Comments
 (0)