~tomleb/public-inbox

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch

[PATCH] fix for strings::fromutf8 changes

Details
Message ID
<20230130231251.26886-1-rkl@rosiesworkshop.net>
DKIM signature
missing
Download raw message
Patch: +9 -9
---
 cmd/harepls/lsp.ha    | 10 +++++-----
 hare/traversal/dfs.ha |  4 ++--
 lsp/protocol/parse.ha |  4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/cmd/harepls/lsp.ha b/cmd/harepls/lsp.ha
index 0200fd9..60b1158 100644
--- a/cmd/harepls/lsp.ha
+++ b/cmd/harepls/lsp.ha
@@ -155,9 +155,9 @@ fn lsp_text_document_definition(s: *lsp::server, params: *lsp::text_document_pos
	const content = io::drain(content)!;
	defer free(content);

	const loc = lsp_to_lex(strings::fromutf8(content), params.position);
	const loc = lsp_to_lex(strings::fromutf8(content)!, params.position);
	log::printfln("looking for ident at {}:{}", loc.line, loc.col);
	const result = match (find_definition(&client.store, path, strings::fromutf8(content), loc)) {
	const result = match (find_definition(&client.store, path, strings::fromutf8(content)!, loc)) {
	case let result: store::result =>
		yield result;
	case void =>
@@ -185,7 +185,7 @@ fn lsp_text_document_definition(s: *lsp::server, params: *lsp::text_document_pos
	let buf = io::drain(fd)!;
	defer free(buf);

	const pos = lex_to_lsp(strings::fromutf8(buf), info.1);
	const pos = lex_to_lsp(strings::fromutf8(buf)!, info.1);
	// FIXME: We'll need to lex again here to get the proper
	// starting position probably but this is probably good enough
	// too.
@@ -224,9 +224,9 @@ fn lsp_text_document_hover(s: *lsp::server, params: *lsp::hover_params) (lsp::ho
	const content = io::drain(content)!;
	defer free(content);

	const loc = lsp_to_lex(strings::fromutf8(content), params.position);
	const loc = lsp_to_lex(strings::fromutf8(content)!, params.position);
	log::printfln("looking for ident at {}:{}", loc.line, loc.col);
	const result = match (find_definition(&client.store, path, strings::fromutf8(content), loc)) {
	const result = match (find_definition(&client.store, path, strings::fromutf8(content)!, loc)) {
	case let result: store::result =>
		yield result;
	case void =>
diff --git a/hare/traversal/dfs.ha b/hare/traversal/dfs.ha
index 29b3bb7..8f8fa0c 100644
--- a/hare/traversal/dfs.ha
+++ b/hare/traversal/dfs.ha
@@ -239,8 +239,8 @@ fn visit_type(v: *visitor, __type: *ast::_type) step = {
	case let pointer_type: ast::pointer_type =>
		yield visit_type(v, pointer_type.referent);
	case let struct_type: ast::struct_type =>
		yield visit_type_struct_member(v, struct_type);
	case let union_type: ast::struct_type =>
		yield visit_type_struct_member(v, struct_type.members);
	case let union_type: ast::union_type =>
		yield visit_type_struct_member(v, union_type);
	case let tagged: ast::tagged_type =>
		for (let i = 0z; i < len(tagged); i += 1) {
diff --git a/lsp/protocol/parse.ha b/lsp/protocol/parse.ha
index a1606ce..b5c729e 100644
--- a/lsp/protocol/parse.ha
+++ b/lsp/protocol/parse.ha
@@ -43,7 +43,7 @@ export fn next(p: *parser) (message | more | error) = {
		};

		// FIXME: The spec defines the header part as using ascii encoding
		const line = match (strings::try_fromutf8(p.buf[..i])) {
		const line = match (strings::fromutf8(p.buf[..i])) {
		case let s: str =>
			yield s;
		case utf8::invalid =>
@@ -63,7 +63,7 @@ export fn next(p: *parser) (message | more | error) = {
			reset(p);
		};

		const content = match (strings::try_fromutf8(p.buf[..length])) {
		const content = match (strings::fromutf8(p.buf[..length])) {
		case let s: str =>
			yield s;
		case utf8::invalid =>
-- 
2.39.1
Reply to thread Export thread (mbox)