diff --git a/CHANGELOG.md b/CHANGELOG.md
index e31fa27cad..a55d3a7e1f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,15 @@
## Unreleased
+### Features/Changes
+- Implement "Run in terminal"
+
+### Bug Fixes
+- Fix markdown syntax highlighting
+- Fix click issue on window error message
+
+## 0.4.1
+
### Features/Changes
- Add fedora builds
- Finish tree sitter dynamic libary support by downloading from https://github.com/lapce/tree-sitter-grammars
diff --git a/Cargo.lock b/Cargo.lock
index f08869645e..a911e30e43 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -732,7 +732,7 @@ dependencies = [
"js-sys",
"num-traits",
"wasm-bindgen",
- "windows-targets 0.52.0",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -1684,7 +1684,7 @@ checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
[[package]]
name = "floem"
version = "0.1.1"
-source = "git+https://github.com/lapce/floem?rev=54f0d1bcf0e1a91d82492ee7300a526adb60eb5c#54f0d1bcf0e1a91d82492ee7300a526adb60eb5c"
+source = "git+https://github.com/lapce/floem?rev=a207ef4bd463d41be1d06daeae3be7936b0dbb60#a207ef4bd463d41be1d06daeae3be7936b0dbb60"
dependencies = [
"bitflags 2.6.0",
"copypasta",
@@ -1722,7 +1722,7 @@ dependencies = [
[[package]]
name = "floem-editor-core"
version = "0.1.1"
-source = "git+https://github.com/lapce/floem?rev=54f0d1bcf0e1a91d82492ee7300a526adb60eb5c#54f0d1bcf0e1a91d82492ee7300a526adb60eb5c"
+source = "git+https://github.com/lapce/floem?rev=a207ef4bd463d41be1d06daeae3be7936b0dbb60#a207ef4bd463d41be1d06daeae3be7936b0dbb60"
dependencies = [
"bitflags 2.6.0",
"itertools 0.12.1",
@@ -1800,7 +1800,7 @@ dependencies = [
[[package]]
name = "floem_reactive"
version = "0.1.1"
-source = "git+https://github.com/lapce/floem?rev=54f0d1bcf0e1a91d82492ee7300a526adb60eb5c#54f0d1bcf0e1a91d82492ee7300a526adb60eb5c"
+source = "git+https://github.com/lapce/floem?rev=a207ef4bd463d41be1d06daeae3be7936b0dbb60#a207ef4bd463d41be1d06daeae3be7936b0dbb60"
dependencies = [
"smallvec",
]
@@ -1808,7 +1808,7 @@ dependencies = [
[[package]]
name = "floem_renderer"
version = "0.1.1"
-source = "git+https://github.com/lapce/floem?rev=54f0d1bcf0e1a91d82492ee7300a526adb60eb5c#54f0d1bcf0e1a91d82492ee7300a526adb60eb5c"
+source = "git+https://github.com/lapce/floem?rev=a207ef4bd463d41be1d06daeae3be7936b0dbb60#a207ef4bd463d41be1d06daeae3be7936b0dbb60"
dependencies = [
"cosmic-text",
"image",
@@ -1821,7 +1821,7 @@ dependencies = [
[[package]]
name = "floem_tiny_skia_renderer"
version = "0.1.1"
-source = "git+https://github.com/lapce/floem?rev=54f0d1bcf0e1a91d82492ee7300a526adb60eb5c#54f0d1bcf0e1a91d82492ee7300a526adb60eb5c"
+source = "git+https://github.com/lapce/floem?rev=a207ef4bd463d41be1d06daeae3be7936b0dbb60#a207ef4bd463d41be1d06daeae3be7936b0dbb60"
dependencies = [
"anyhow",
"bytemuck",
@@ -1838,7 +1838,7 @@ dependencies = [
[[package]]
name = "floem_vger_renderer"
version = "0.1.1"
-source = "git+https://github.com/lapce/floem?rev=54f0d1bcf0e1a91d82492ee7300a526adb60eb5c#54f0d1bcf0e1a91d82492ee7300a526adb60eb5c"
+source = "git+https://github.com/lapce/floem?rev=a207ef4bd463d41be1d06daeae3be7936b0dbb60#a207ef4bd463d41be1d06daeae3be7936b0dbb60"
dependencies = [
"anyhow",
"floem-vger",
@@ -2906,7 +2906,7 @@ dependencies = [
[[package]]
name = "lapce"
-version = "0.4.0"
+version = "0.4.1"
dependencies = [
"lapce-app",
"lapce-proxy",
@@ -2914,7 +2914,7 @@ dependencies = [
[[package]]
name = "lapce-app"
-version = "0.4.0"
+version = "0.4.1"
dependencies = [
"Inflector",
"alacritty_terminal",
@@ -2978,7 +2978,7 @@ dependencies = [
[[package]]
name = "lapce-core"
-version = "0.4.0"
+version = "0.4.1"
dependencies = [
"ahash",
"anyhow",
@@ -3006,7 +3006,7 @@ dependencies = [
[[package]]
name = "lapce-proxy"
-version = "0.4.0"
+version = "0.4.1"
dependencies = [
"alacritty_terminal",
"anyhow",
@@ -3055,7 +3055,7 @@ dependencies = [
[[package]]
name = "lapce-rpc"
-version = "0.4.0"
+version = "0.4.1"
dependencies = [
"anyhow",
"crossbeam-channel",
@@ -4979,14 +4979,15 @@ checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
[[package]]
name = "tempfile"
-version = "3.10.1"
+version = "3.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
+checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64"
dependencies = [
"cfg-if",
"fastrand",
+ "once_cell",
"rustix",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -6549,7 +6550,16 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.6",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets 0.52.6",
]
[[package]]
@@ -6584,17 +6594,18 @@ dependencies = [
[[package]]
name = "windows-targets"
-version = "0.52.0"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
]
[[package]]
@@ -6611,9 +6622,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_msvc"
@@ -6635,9 +6646,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_i686_gnu"
@@ -6659,9 +6670,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_msvc"
@@ -6683,9 +6700,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_x86_64_gnu"
@@ -6707,9 +6724,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnullvm"
@@ -6725,9 +6742,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_msvc"
@@ -6749,9 +6766,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
diff --git a/Cargo.toml b/Cargo.toml
index 658c97f93d..70ca293d0c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -23,7 +23,7 @@ path = "lapce-proxy/src/bin/lapce-proxy.rs"
members = ["lapce-app", "lapce-proxy", "lapce-rpc", "lapce-core"]
[workspace.package]
-version = "0.4.0"
+version = "0.4.1"
edition = "2021"
rust-version = "1.77.0"
license = "Apache-2.0"
@@ -60,7 +60,7 @@ smallvec = { version = "1.13.2" }
strum = { version = "0.26.2" }
strum_macros = { version = "0.26.2" }
tar = { version = "0.4" }
-tempfile = { version = "3.10.1" }
+tempfile = { version = "3.12.0" }
thiserror = { version = "1.0" }
toml = { version = "*" }
toml_edit = { version = "0.20.2", features = ["serde"] }
@@ -76,9 +76,9 @@ lapce-core = { path = "./lapce-core" }
lapce-rpc = { path = "./lapce-rpc" }
lapce-proxy = { path = "./lapce-proxy" }
-floem = { git = "https://github.com/lapce/floem", rev = "54f0d1bcf0e1a91d82492ee7300a526adb60eb5c", features = ["editor", "serde", "default-image-formats", "rfd-async-std"] }
+floem = { git = "https://github.com/lapce/floem", rev = "a207ef4bd463d41be1d06daeae3be7936b0dbb60", features = ["editor", "serde", "default-image-formats", "rfd-async-std"] }
# floem = { path = "../floem", features = ["editor", "serde", "default-image-formats", "rfd-async-std"] }
-floem-editor-core = { git = "https://github.com/lapce/floem", rev = "54f0d1bcf0e1a91d82492ee7300a526adb60eb5c", features = ["serde"] }
+floem-editor-core = { git = "https://github.com/lapce/floem", rev = "a207ef4bd463d41be1d06daeae3be7936b0dbb60", features = ["serde"] }
# floem-editor-core = { path = "../floem/editor-core/", features = ["serde"] }
[patch.crates-io]
diff --git a/defaults/dark-theme.toml b/defaults/dark-theme.toml
index 478d501a64..8d3c6ce0c4 100644
--- a/defaults/dark-theme.toml
+++ b/defaults/dark-theme.toml
@@ -68,6 +68,14 @@ dim-text = "#5C6370"
"variable.other.member" = "$red"
"tag" = "$blue"
+"markup.heading" = "$red"
+"markup.bold" = "$orange"
+"markup.italic" = "$orange"
+"markup.list" = "$orange"
+"markup.link.url" = "$blue"
+"markup.link.label" = "$purple"
+"markup.link.text" = "$purple"
+
"bracket.color.1" = "$blue"
"bracket.color.2" = "$yellow"
"bracket.color.3" = "$purple"
diff --git a/defaults/light-theme.toml b/defaults/light-theme.toml
index 5cef4861b2..570e6f75b2 100644
--- a/defaults/light-theme.toml
+++ b/defaults/light-theme.toml
@@ -74,6 +74,14 @@ dim-text = "#A0A1A7"
"variable.other.member" = "$red"
"tag" = "$blue"
+"markup.heading" = "$red"
+"markup.bold" = "$orange"
+"markup.italic" = "$orange"
+"markup.list" = "$orange"
+"markup.link.url" = "$blue"
+"markup.link.label" = "$purple"
+"markup.link.text" = "$purple"
+
"bracket.color.1" = "$blue"
"bracket.color.2" = "$yellow"
"bracket.color.3" = "$purple"
diff --git a/extra/linux/dev.lapce.lapce.metainfo.xml b/extra/linux/dev.lapce.lapce.metainfo.xml
index 99d322aff3..3c6ad2db59 100644
--- a/extra/linux/dev.lapce.lapce.metainfo.xml
+++ b/extra/linux/dev.lapce.lapce.metainfo.xml
@@ -30,6 +30,6 @@
-
+
diff --git a/extra/macos/Lapce.app/Contents/Info.plist b/extra/macos/Lapce.app/Contents/Info.plist
index 2f6f78e208..5896e12833 100644
--- a/extra/macos/Lapce.app/Contents/Info.plist
+++ b/extra/macos/Lapce.app/Contents/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 0.4.0
+ 0.4.1
CFBundleSupportedPlatforms
MacOSX
diff --git a/extra/windows/wix/lapce.wxs b/extra/windows/wix/lapce.wxs
index b2d0e4c600..305f835e22 100644
--- a/extra/windows/wix/lapce.wxs
+++ b/extra/windows/wix/lapce.wxs
@@ -1,6 +1,6 @@
-
+
diff --git a/lapce-app/src/app.rs b/lapce-app/src/app.rs
index 36a04eb11d..4008fed604 100644
--- a/lapce-app/src/app.rs
+++ b/lapce-app/src/app.rs
@@ -2795,10 +2795,10 @@ fn window_message_view(
}),
stack((
text(title.clone()).style(|s| {
- s.min_width(0.0).line_height(1.6).font_weight(Weight::BOLD)
+ s.min_width(0.0).line_height(1.8).font_weight(Weight::BOLD)
}),
text(message.message.clone()).style(|s| {
- s.min_width(0.0).line_height(1.6).margin_top(5.0)
+ s.min_width(0.0).line_height(1.8).margin_top(5.0)
}),
))
.style(move |s| {
@@ -2818,6 +2818,7 @@ fn window_message_view(
)
.style(|s| s.margin_left(6.0)),
))
+ .on_event_stop(EventListener::PointerDown, |_| {})
.style(move |s| {
let config = config.get();
s.width_full()
@@ -2846,7 +2847,11 @@ fn window_message_view(
.style(|s| s.flex_col().width_full()),
)
.style(|s| {
- s.absolute().width_full().min_height(0.0).max_height_full()
+ s.absolute()
+ .width_full()
+ .min_height(0.0)
+ .max_height_full()
+ .set(PropagatePointerWheel, false)
}),
)
.style(|s| s.size_full()),
@@ -2930,6 +2935,7 @@ fn hover(window_tab_data: Rc) -> impl View {
layout_rect.set(rect);
})
.on_event_stop(EventListener::PointerMove, |_| {})
+ .on_event_stop(EventListener::PointerDown, |_| {})
.style(move |s| {
let active = window_tab_data.common.hover.active.get();
if !active {
diff --git a/lapce-app/src/command.rs b/lapce-app/src/command.rs
index 1ea715861c..014e5d7e15 100644
--- a/lapce-app/src/command.rs
+++ b/lapce-app/src/command.rs
@@ -191,6 +191,10 @@ pub enum LapceWorkbenchCommand {
#[strum(message = "Reveal in File Tree")]
RevealInFileTree,
+ #[strum(serialize = "run_in_terminal")]
+ #[strum(message = "Run in Terminal")]
+ RunInTerminal,
+
#[strum(serialize = "reveal_active_file_in_file_explorer")]
#[strum(message = "Reveal Active File in File Explorer")]
RevealActiveFileInFileExplorer,
diff --git a/lapce-app/src/editor.rs b/lapce-app/src/editor.rs
index bf7655523e..012c0aa5c3 100644
--- a/lapce-app/src/editor.rs
+++ b/lapce-app/src/editor.rs
@@ -51,6 +51,7 @@ use lsp_types::{
HoverContents, InlayHint, InlayHintLabel, InlineCompletionTriggerKind, Location,
MarkedString, MarkupKind, Range, TextEdit,
};
+use nucleo::Utf32Str;
use serde::{Deserialize, Serialize};
use self::{
@@ -187,6 +188,13 @@ impl EditorViewKind {
}
}
+#[derive(Clone)]
+pub struct OnScreenFind {
+ pub active: bool,
+ pub pattern: String,
+ pub regions: Vec,
+}
+
pub type SnippetIndex = Vec<(usize, (usize, usize))>;
/// Shares data between cloned instances as long as the signals aren't swapped out.
@@ -198,6 +206,7 @@ pub struct EditorData {
pub confirmed: RwSignal,
pub snippet: RwSignal