From 0f1613d521337fa06edb3c9a616c1a0baad55c36 Mon Sep 17 00:00:00 2001 From: Devin Bidwell Date: Tue, 2 Dec 2025 00:00:42 -0700 Subject: [PATCH] Support tokenization tooltips in the C# mod --- csharp_mod/Extensions.cs | 4 +++- rust_compiler/libs/tokenizer/src/token.rs | 9 +++++++++ rust_compiler/src/ffi/mod.rs | 3 ++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/csharp_mod/Extensions.cs b/csharp_mod/Extensions.cs index 35416fb..6367094 100644 --- a/csharp_mod/Extensions.cs +++ b/csharp_mod/Extensions.cs @@ -63,7 +63,9 @@ public static unsafe class SlangExtensions colIndex, token.length, color, - token.token_kind + token.token_kind, + 0, + token.tooltip.AsString() ); string errMsg = token.error.AsString(); diff --git a/rust_compiler/libs/tokenizer/src/token.rs b/rust_compiler/libs/tokenizer/src/token.rs index 5938ddc..59f2c7f 100644 --- a/rust_compiler/libs/tokenizer/src/token.rs +++ b/rust_compiler/libs/tokenizer/src/token.rs @@ -88,6 +88,15 @@ pub enum TokenType { EOF, } +impl Documentation for TokenType { + fn docs(&self) -> String { + match self { + Self::Keyword(k) => k.docs(), + _ => "".into(), + } + } +} + impl From for u32 { fn from(value: TokenType) -> Self { use TokenType::*; diff --git a/rust_compiler/src/ffi/mod.rs b/rust_compiler/src/ffi/mod.rs index 5c0750e..938a5a7 100644 --- a/rust_compiler/src/ffi/mod.rs +++ b/rust_compiler/src/ffi/mod.rs @@ -1,4 +1,5 @@ use compiler::Compiler; +use helpers::Documentation; use parser::Parser; use safer_ffi::prelude::*; use std::io::BufWriter; @@ -151,8 +152,8 @@ pub fn tokenize_line(input: safer_ffi::slice::Ref<'_, u16>) -> safer_ffi::Vec