summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src-tauri/src
diff options
context:
space:
mode:
authorShoubhit Dash <[email protected]>2026-01-22 16:18:39 +0530
committerGitHub <[email protected]>2026-01-22 04:48:39 -0600
commitc737776958d45fbd30434d9aa49289a93acf72c8 (patch)
tree6a969a84b792189da10c619f80d84d875516d3be /packages/desktop/src-tauri/src
parent7b0ad87781a038798fcd501c173fef227c93701a (diff)
downloadopencode-c737776958d45fbd30434d9aa49289a93acf72c8.tar.gz
opencode-c737776958d45fbd30434d9aa49289a93acf72c8.zip
refactor(desktop): move markdown rendering to rust (#10000)
Diffstat (limited to 'packages/desktop/src-tauri/src')
-rw-r--r--packages/desktop/src-tauri/src/lib.rs4
-rw-r--r--packages/desktop/src-tauri/src/markdown.rs17
2 files changed, 20 insertions, 1 deletions
diff --git a/packages/desktop/src-tauri/src/lib.rs b/packages/desktop/src-tauri/src/lib.rs
index aea730926..6d601e9ee 100644
--- a/packages/desktop/src-tauri/src/lib.rs
+++ b/packages/desktop/src-tauri/src/lib.rs
@@ -1,6 +1,7 @@
mod cli;
#[cfg(windows)]
mod job_object;
+mod markdown;
mod window_customizer;
use cli::{install_cli, sync_cli};
@@ -283,7 +284,8 @@ pub fn run() {
install_cli,
ensure_server_ready,
get_default_server_url,
- set_default_server_url
+ set_default_server_url,
+ markdown::parse_markdown_command
])
.setup(move |app| {
let app = app.handle().clone();
diff --git a/packages/desktop/src-tauri/src/markdown.rs b/packages/desktop/src-tauri/src/markdown.rs
new file mode 100644
index 000000000..a2a53b222
--- /dev/null
+++ b/packages/desktop/src-tauri/src/markdown.rs
@@ -0,0 +1,17 @@
+use comrak::{markdown_to_html, Options};
+
+pub fn parse_markdown(input: &str) -> String {
+ let mut options = Options::default();
+ options.extension.strikethrough = true;
+ options.extension.table = true;
+ options.extension.tasklist = true;
+ options.extension.autolink = true;
+ options.render.r#unsafe = true;
+
+ markdown_to_html(input, &options)
+}
+
+#[tauri::command]
+pub async fn parse_markdown_command(markdown: String) -> Result<String, String> {
+ Ok(parse_markdown(&markdown))
+}