Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package lapce for openSUSE:Factory checked 
in at 2026-01-27 16:08:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lapce (Old)
 and      /work/SRC/openSUSE:Factory/.lapce.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lapce"

Tue Jan 27 16:08:14 2026 rev:24 rq:1329279 version:0.4.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/lapce/lapce.changes      2025-09-11 
14:42:37.724140026 +0200
+++ /work/SRC/openSUSE:Factory/.lapce.new.1928/lapce.changes    2026-01-27 
16:08:24.988303811 +0100
@@ -1,0 +2,8 @@
+Sun Jan 04 14:49:20 UTC 2026 - Andrea Manzini <[email protected]>
+
+- Update to version 0.4.5:
+  * bump dependencies
+  * Fix missing/incorrect metadata for Linux packages using AppStream metainfo
+  * Fix rendering issues when using custom scale display
+
+-------------------------------------------------------------------

Old:
----
  lapce-0.4.4.tar.zst

New:
----
  lapce-0.4.5.tar.zst

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lapce.spec ++++++
--- /var/tmp/diff_new_pack.vlFN2g/_old  2026-01-27 16:08:26.940386142 +0100
+++ /var/tmp/diff_new_pack.vlFN2g/_new  2026-01-27 16:08:26.944386311 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package lapce
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -31,7 +31,7 @@
 %endif
 
 Name:           lapce
-Version:        0.4.4
+Version:        0.4.5
 Release:        0
 Summary:        Lightning-fast and Powerful Code Editor written in Rust
 URL:            https://github.com/lapce/lapce

++++++ _service ++++++
--- /var/tmp/diff_new_pack.vlFN2g/_old  2026-01-27 16:08:26.988388167 +0100
+++ /var/tmp/diff_new_pack.vlFN2g/_new  2026-01-27 16:08:26.992388335 +0100
@@ -4,7 +4,7 @@
     <param name="url">https://github.com/lapce/lapce</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="scm">git</param>
-    <param name="match-tag">v0.4.4</param>
+    <param name="match-tag">v0.4.5</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>
   </service>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.vlFN2g/_old  2026-01-27 16:08:27.016389347 +0100
+++ /var/tmp/diff_new_pack.vlFN2g/_new  2026-01-27 16:08:27.020389516 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/lapce/lapce</param>
-              <param 
name="changesrevision">314e74fcfe6ecdbbb1e9bf4ec27ae7f39c73068f</param></service></servicedata>
+              <param 
name="changesrevision">59ce6df700ce4efbe4498a719fe52195e083d2ee</param></service></servicedata>
 (No newline at EOF)
 

++++++ lapce-0.4.4.tar.zst -> lapce-0.4.5.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/.github/dependabot.yml 
new/lapce-0.4.5/.github/dependabot.yml
--- old/lapce-0.4.4/.github/dependabot.yml      2025-08-30 07:01:02.000000000 
+0200
+++ new/lapce-0.4.5/.github/dependabot.yml      2026-01-03 04:17:25.000000000 
+0100
@@ -1,19 +1,52 @@
 version: 2
 updates:
-  - package-ecosystem: 'github-actions'
-    directory: '/'
+  - package-ecosystem: "github-actions"
+    directory: "/"
     schedule:
-      interval: 'monthly'
+      interval: "monthly"
     groups:
-      dependencies:
+      all-dependencies:
         patterns:
-        - '*'
-  - package-ecosystem: 'cargo'
-    directory: '/'
+          - "*"
+  - package-ecosystem: "cargo"
+    directory: "/"
     open-pull-requests-limit: 10
     schedule:
-      interval: 'monthly'
+      interval: "monthly"
     groups:
-      dependencies:
+      all-dependencies:
         patterns:
-        - '*'
+          - "*"
+        exclude-patterns:
+          - "wasmtime*"
+          - "wasi-common"
+          - "wasi-experimental-http-wasmtime"
+          - "tracing*"
+          - "strum*"
+          - "tree-sitter"
+          - "floem*"
+      wasmtime:
+        patterns:
+          - "wasmtime*"
+          - "wasi-common"
+          - "wasi-experimental-http-wasmtime"
+      toml:
+        patterns:
+          - "toml"
+          - "toml_edit"
+      strum:
+        patterns:
+          - "strum"
+          - "strum_macros"
+      tracing:
+        patterns:
+          - "tracing*"
+      floem:
+        patterns:
+          - "floem*"
+      tree-sitter:
+        patterns:
+          - "tree-sitter"
+      windows:
+        patterns:
+          - "windows*"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/.github/workflows/ci.yml 
new/lapce-0.4.5/.github/workflows/ci.yml
--- old/lapce-0.4.4/.github/workflows/ci.yml    2025-08-30 07:01:02.000000000 
+0200
+++ new/lapce-0.4.5/.github/workflows/ci.yml    2026-01-03 04:17:25.000000000 
+0100
@@ -8,6 +8,8 @@
       - Cargo.toml
       - Cargo.lock
       - lapce-**
+      - .github/wofklows/ci.yml
+  workflow_dispatch:
 
 name: CI
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/.github/workflows/release.yml 
new/lapce-0.4.5/.github/workflows/release.yml
--- old/lapce-0.4.4/.github/workflows/release.yml       2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/.github/workflows/release.yml       2026-01-03 
04:17:25.000000000 +0100
@@ -142,6 +142,7 @@
           name: lapce-linux
           path: |
             ./lapce-linux-*.tar.gz
+            ./vendor.tar.gz
           retention-days: 1
 
   deb:
@@ -162,7 +163,7 @@
           - os-name: ubuntu
             os-version: noble
           - os-name: ubuntu
-            os-version: oracular
+            os-version: plucky
     steps:
       - uses: actions/checkout@v4
 
@@ -290,6 +291,7 @@
           appstore-connect-password: ${{ secrets.NOTARIZE_PASSWORD }}
           appstore-connect-team-id: CYSGAZFR8D
           primary-bundle-id: "io.lapce"
+          verbose: true
 
       - name: "Staple Release Build"
         uses: lapce/xcode-staple@062485d6eeafe841c18a412f012e80f49e23c517
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/CHANGELOG.md new/lapce-0.4.5/CHANGELOG.md
--- old/lapce-0.4.4/CHANGELOG.md        2025-08-30 07:01:02.000000000 +0200
+++ new/lapce-0.4.5/CHANGELOG.md        2026-01-03 04:17:25.000000000 +0100
@@ -6,6 +6,18 @@
 
 ### Bug Fixes
 
+- Fix mouse wheel scrolling when viewing diff 
(<https://github.com/lapce/lapce/issues/3821>)
+- Fix editor tabs not selectable while appearing selectable
+- Fix flickering when reordering editor tabs
+
+## 0.4.5
+
+### Bug Fixes
+
+- Fix missing/incorrect metadata for Linux packages using AppStream metainfo
+- Fix incorrect version in macOS/Windows package metadata
+- Fix rendering issues when using custom scale display 
(<https://github.com/lapce/lapce/issues/3795>)
+
 ## 0.4.4
 
 ### Features/Changes
@@ -31,12 +43,14 @@
 - Implement "Go To Implementation" panel
 
 ### Bug Fixes
+
 - Fix pointer event not working on plugin panel
 - Fix rename/new file editor in file explorer is too small
 
 ## 0.4.2
 
 ### Features/Changes
+
 - Implement "Run in terminal"
 - Implement document symbols in a panel
 - Implement "Go To Location" functionality in the Diff editor.
@@ -45,12 +59,14 @@
 - Implement "Reveal in system file explorer"
 
 ### 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
 - Saves scale configuration in settings to restore at startup
@@ -68,6 +84,7 @@
 - Implement the drag-and-drop to open file/folder
 
 ### Bug Fixes
+
 - [#3203](https://github.com/lapce/lapce/pull/3203): Fallback to default theme 
is theme key is not found
 - use windows subsystem to prevent console running
 - reimplement gotodefinition on cmd/ctrl+click
@@ -78,6 +95,7 @@
 ## 0.4.0
 
 ### Features/Changes
+
 - [#2723](https://github.com/lapce/lapce/pull/2723): Line wrapping based on 
width (no column-based yet)
 - [#1277](https://github.com/lapce/lapce/pull/1277): Error message prompted on 
missing git user.email and/or user.name
 - [#2910](https://github.com/lapce/lapce/pull/2910): Files can be compared in 
the diff editor
@@ -94,6 +112,7 @@
 - [#3123](https://github.com/lapce/lapce/pull/3123): Swap sled to plain text 
file for db
 
 ### Bug Fixes
+
 - [#2779](https://github.com/lapce/lapce/pull/2779): Fix files detection on 
fresh git/VCS repository
 - [#3031](https://github.com/lapce/lapce/pull/3031): Fix find not receiving 
inputs when clicked
 - [#3142](https://github.com/lapce/lapce/pull/3142): Fix terminal default 
profile saving incorrectly
@@ -105,12 +124,14 @@
 ### Features/Changes
 
 ### Bug Fixes
+
 - [#2754](https://github.com/lapce/lapce/pull/2754): Don't mark nonexistent 
files as read only (fix saving new files)
 - [#2819](https://github.com/lapce/lapce/issues/2819): `Save Without 
Formatting` doesn't save the file
 
 ## 0.3.0
 
 ### Features/Changes
+
 - [#2190](https://github.com/lapce/lapce/pull/2190): Rewrite with Floem UI
 - [#2425](https://github.com/lapce/lapce/pull/2425): Reimplement completion 
lens
 - [#2498](https://github.com/lapce/lapce/pull/2498): Show Lapce as an option 
when doing "Open With..." on Linux
@@ -136,6 +157,7 @@
 ### Features/Changes
 
 ### Bug Fixes
+
 - [#2209](https://github.com/lapce/lapce/pull/2209): Fix macOS crashes
 - [#2228](https://github.com/lapce/lapce/pull/2228): Fix `.desktop` entry to 
properly associate with Lapce on Wayland
 
@@ -147,6 +169,7 @@
 - [#1988](https://github.com/lapce/lapce/pull/1987): Replace modal status 
background with background/foreground theme keys
 
 ### Features/Changes
+
 - [#1899](https://github.com/lapce/lapce/pull/1899): Improve sorting files 
with numbers
 - [#1831](https://github.com/lapce/lapce/pull/1831): Plugin settings shown on 
right click
 - [#1830](https://github.com/lapce/lapce/pull/1830): Adds Clojure language 
support
@@ -170,6 +193,7 @@
   - 
![image](https://user-images.githubusercontent.com/4404609/211232461-293e3b31-4e17-457e-825c-3018699a6fc2.png)
 
 ### Bug Fixes
+
 - [#1911](https://github.com/lapce/lapce/pull/1911): Fix movement on 
selections with left/right arrow keys
 - [#1939](https://github.com/lapce/lapce/pull/1939): Fix saving/editing newly 
saved-as files
 - [#1971](https://github.com/lapce/lapce/pull/1971): Fix up/down movement on 
first/last line
@@ -187,6 +211,7 @@
 - [#1726](https://github.com/lapce/lapce/pull/1726): Add more panel theme 
keys, apply hover first, then current item colour
 
 ### Features/Changes
+
 - [#1791](https://github.com/lapce/lapce/pull/1791): Add highlighting for 
scope lines
 - [#1767](https://github.com/lapce/lapce/pull/1767): Added CMake tree-sitter 
syntax highlighting
 - [#1759](https://github.com/lapce/lapce/pull/1759): Update C tree-sitter and 
highlight queries
@@ -196,11 +221,12 @@
 - [#1723](https://github.com/lapce/lapce/pull/1723): In the palette, display 
the keybind for a command adjacent to it
 - [#1722](https://github.com/lapce/lapce/pull/1722): Add 'Save without 
Formatting'; Add option to disable formatting on autosave
 - [#1741](https://github.com/lapce/lapce/pull/1741): Add syntax highlighting 
for glsl
-- [#1756](https://github.com/lapce/lapce/pull/1756): Add support for ssh port 
with ```[user@]host[:port]```
+- [#1756](https://github.com/lapce/lapce/pull/1756): Add support for ssh port 
with `[user@]host[:port]`
 - [#1760](https://github.com/lapce/lapce/pull/1760): Add vim motions `cw`, 
`ce`, `cc`, `S`, and QOL modal bind `gf`
 - [#1770](https://github.com/lapce/lapce/pull/1770): Add support for terminal 
tabs
 
 ### Bug Fixes
+
 - [#1771](https://github.com/lapce/lapce/pull/1771): Update tree-sitter-bash
 - [#1737](https://github.com/lapce/lapce/pull/1726): Fix an issue that plugins 
can't be upgraded
 - [#1724](https://github.com/lapce/lapce/pull/1724): Files and hidden folders 
no longer will be considered when trying to open a plugin base folder
@@ -210,6 +236,7 @@
 ## 0.2.4
 
 ### Features/Changes
+
 - [#1700](https://github.com/lapce/lapce/pull/1700): Add prisma syntax and 
highlighting
 - [#1702](https://github.com/lapce/lapce/pull/1702): Improved svelte 
treesitter queries
 - [#1690](https://github.com/lapce/lapce/pull/1690): Add codelens and sticky 
headers for Dart
@@ -217,6 +244,7 @@
 - [#1715](https://github.com/lapce/lapce/pull/1715): Add support for requests 
from plugins
 
 ### Bug Fixes
+
 - [#1710](https://github.com/lapce/lapce/pull/1710): Fix autosave trying to 
save scratch files
 - [#1709](https://github.com/lapce/lapce/pull/1709): Fix search result ordering
 - [#1708](https://github.com/lapce/lapce/pull/1708): Fix visual issue when 
search panel is placed to either side panel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/Cargo.lock new/lapce-0.4.5/Cargo.lock
--- old/lapce-0.4.4/Cargo.lock  2025-08-30 07:01:02.000000000 +0200
+++ new/lapce-0.4.5/Cargo.lock  2026-01-03 04:17:25.000000000 +0100
@@ -215,6 +215,9 @@
  "serde",
  "serde_repr",
  "url",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols 0.32.5",
  "zbus",
 ]
 
@@ -1374,23 +1377,13 @@
 
 [[package]]
 name = "dispatch2"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1a0d569e003ff27784e0e14e4a594048698e0c0f0b66cabcb51511be55a7caa0"
-dependencies = [
- "bitflags 2.9.1",
- "block2 0.6.1",
- "libc",
- "objc2 0.6.1",
-]
-
-[[package]]
-name = "dispatch2"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec"
 dependencies = [
  "bitflags 2.9.1",
+ "block2 0.6.1",
+ "libc",
  "objc2 0.6.1",
 ]
 
@@ -1711,7 +1704,7 @@
 [[package]]
 name = "floem"
 version = "0.2.0"
-source = 
"git+https://github.com/lapce/floem?rev=abe59206013a3d700d861ccff3439d94ad3e2c45#abe59206013a3d700d861ccff3439d94ad3e2c45";
+source = 
"git+https://github.com/lapce/floem?rev=e0dd862564e3afbad5cba8ebe60df166a7a41e56#e0dd862564e3afbad5cba8ebe60df166a7a41e56";
 dependencies = [
  "bitflags 2.9.1",
  "clipboard-win",
@@ -1740,8 +1733,8 @@
  "sha2",
  "slotmap",
  "smallvec",
- "strum 0.27.1",
- "strum_macros 0.27.1",
+ "strum 0.27.2",
+ "strum_macros 0.27.2",
  "taffy",
  "unicode-segmentation",
  "wasm-bindgen-futures",
@@ -1753,15 +1746,15 @@
 [[package]]
 name = "floem-editor-core"
 version = "0.2.0"
-source = 
"git+https://github.com/lapce/floem?rev=abe59206013a3d700d861ccff3439d94ad3e2c45#abe59206013a3d700d861ccff3439d94ad3e2c45";
+source = 
"git+https://github.com/lapce/floem?rev=e0dd862564e3afbad5cba8ebe60df166a7a41e56#e0dd862564e3afbad5cba8ebe60df166a7a41e56";
 dependencies = [
  "bitflags 2.9.1",
  "itertools 0.14.0",
  "lapce-xi-rope",
  "memchr",
  "serde",
- "strum 0.27.1",
- "strum_macros 0.27.1",
+ "strum 0.27.2",
+ "strum_macros 0.27.2",
 ]
 
 [[package]]
@@ -1779,7 +1772,7 @@
 [[package]]
 name = "floem_reactive"
 version = "0.2.0"
-source = 
"git+https://github.com/lapce/floem?rev=abe59206013a3d700d861ccff3439d94ad3e2c45#abe59206013a3d700d861ccff3439d94ad3e2c45";
+source = 
"git+https://github.com/lapce/floem?rev=e0dd862564e3afbad5cba8ebe60df166a7a41e56#e0dd862564e3afbad5cba8ebe60df166a7a41e56";
 dependencies = [
  "smallvec",
 ]
@@ -1787,7 +1780,7 @@
 [[package]]
 name = "floem_renderer"
 version = "0.2.0"
-source = 
"git+https://github.com/lapce/floem?rev=abe59206013a3d700d861ccff3439d94ad3e2c45#abe59206013a3d700d861ccff3439d94ad3e2c45";
+source = 
"git+https://github.com/lapce/floem?rev=e0dd862564e3afbad5cba8ebe60df166a7a41e56#e0dd862564e3afbad5cba8ebe60df166a7a41e56";
 dependencies = [
  "cosmic-text",
  "futures",
@@ -1803,7 +1796,7 @@
 [[package]]
 name = "floem_tiny_skia_renderer"
 version = "0.2.0"
-source = 
"git+https://github.com/lapce/floem?rev=abe59206013a3d700d861ccff3439d94ad3e2c45#abe59206013a3d700d861ccff3439d94ad3e2c45";
+source = 
"git+https://github.com/lapce/floem?rev=e0dd862564e3afbad5cba8ebe60df166a7a41e56#e0dd862564e3afbad5cba8ebe60df166a7a41e56";
 dependencies = [
  "anyhow",
  "floem_renderer",
@@ -1816,7 +1809,7 @@
 [[package]]
 name = "floem_vger_renderer"
 version = "0.2.0"
-source = 
"git+https://github.com/lapce/floem?rev=abe59206013a3d700d861ccff3439d94ad3e2c45#abe59206013a3d700d861ccff3439d94ad3e2c45";
+source = 
"git+https://github.com/lapce/floem?rev=e0dd862564e3afbad5cba8ebe60df166a7a41e56#e0dd862564e3afbad5cba8ebe60df166a7a41e56";
 dependencies = [
  "anyhow",
  "floem-vger",
@@ -2997,7 +2990,7 @@
 
 [[package]]
 name = "lapce"
-version = "0.4.4"
+version = "0.4.5"
 dependencies = [
  "lapce-app",
  "lapce-proxy",
@@ -3005,7 +2998,7 @@
 
 [[package]]
 name = "lapce-app"
-version = "0.4.4"
+version = "0.4.5"
 dependencies = [
  "Inflector",
  "alacritty_terminal",
@@ -3049,8 +3042,8 @@
  "sha2",
  "smallvec",
  "structdesc",
- "strum 0.27.1",
- "strum_macros 0.27.1",
+ "strum 0.27.2",
+ "strum_macros 0.27.2",
  "tar",
  "tempfile",
  "thiserror 1.0.69",
@@ -3069,7 +3062,7 @@
 
 [[package]]
 name = "lapce-core"
-version = "0.4.4"
+version = "0.4.5"
 dependencies = [
  "ahash",
  "anyhow",
@@ -3088,8 +3081,8 @@
  "regex",
  "remain",
  "slotmap",
- "strum 0.27.1",
- "strum_macros 0.27.1",
+ "strum 0.27.2",
+ "strum_macros 0.27.2",
  "thiserror 1.0.69",
  "tracing 0.2.0",
  "tree-sitter",
@@ -3097,7 +3090,7 @@
 
 [[package]]
 name = "lapce-proxy"
-version = "0.4.4"
+version = "0.4.5"
 dependencies = [
  "alacritty_terminal",
  "anyhow",
@@ -3146,7 +3139,7 @@
 
 [[package]]
 name = "lapce-rpc"
-version = "0.4.4"
+version = "0.4.5"
 dependencies = [
  "anyhow",
  "crossbeam-channel",
@@ -3783,7 +3776,7 @@
 checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166"
 dependencies = [
  "bitflags 2.9.1",
- "dispatch2 0.3.0",
+ "dispatch2",
  "objc2 0.6.1",
 ]
 
@@ -4671,13 +4664,13 @@
 
 [[package]]
 name = "rfd"
-version = "0.15.3"
+version = "0.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "80c844748fdc82aae252ee4594a89b6e7ebef1063de7951545564cbc4e57075d"
+checksum = "ef2bee61e6cffa4635c72d7d81a84294e28f0930db0ddcb0f66d10244674ebed"
 dependencies = [
  "ashpd",
  "block2 0.6.1",
- "dispatch2 0.2.0",
+ "dispatch2",
  "js-sys",
  "log",
  "objc2 0.6.1",
@@ -5287,11 +5280,11 @@
 
 [[package]]
 name = "strum"
-version = "0.27.1"
+version = "0.27.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32"
+checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf"
 dependencies = [
- "strum_macros 0.27.1",
+ "strum_macros 0.27.2",
 ]
 
 [[package]]
@@ -5309,14 +5302,13 @@
 
 [[package]]
 name = "strum_macros"
-version = "0.27.1"
+version = "0.27.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8"
+checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7"
 dependencies = [
  "heck 0.5.0",
  "proc-macro2",
  "quote",
- "rustversion",
  "syn 2.0.94",
 ]
 
@@ -7010,11 +7002,11 @@
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22"
 dependencies = [
- "winapi",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/Cargo.toml new/lapce-0.4.5/Cargo.toml
--- old/lapce-0.4.4/Cargo.toml  2025-08-30 07:01:02.000000000 +0200
+++ new/lapce-0.4.5/Cargo.toml  2026-01-03 04:17:25.000000000 +0100
@@ -23,7 +23,7 @@
 members = ["lapce-app", "lapce-proxy", "lapce-rpc", "lapce-core"]
 
 [workspace.package]
-version      = "0.4.4"
+version      = "0.4.5"
 edition      = "2024"
 rust-version = "1.87.0"
 license      = "Apache-2.0"
@@ -76,9 +76,9 @@
 lapce-rpc   = { path = "./lapce-rpc" }
 lapce-proxy = { path = "./lapce-proxy" }
 
-floem = { git = "https://github.com/lapce/floem";, rev = 
"abe59206013a3d700d861ccff3439d94ad3e2c45", features = ["editor", "serde", 
"default-image-formats", "rfd-async-std"] }
+floem = { git = "https://github.com/lapce/floem";, rev = 
"e0dd862564e3afbad5cba8ebe60df166a7a41e56", 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 = 
"abe59206013a3d700d861ccff3439d94ad3e2c45", features = ["serde"] }
+floem-editor-core = { git = "https://github.com/lapce/floem";, rev = 
"e0dd862564e3afbad5cba8ebe60df166a7a41e56", features = ["serde"] }
 # floem-editor-core = { path = "../floem/editor-core/", features = ["serde"] }
 
 [patch.crates-io]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/README.md new/lapce-0.4.5/README.md
--- old/lapce-0.4.4/README.md   2025-08-30 07:01:02.000000000 +0200
+++ new/lapce-0.4.5/README.md   2026-01-03 04:17:25.000000000 +0100
@@ -17,9 +17,6 @@
   <a href="https://docs.lapce.dev"; target="_blank">
       <img 
src="https://img.shields.io/static/v1?label=Docs&message=docs.lapce.dev&color=blue";
 alt="Lapce Docs">
   </a>
-  <a href="https://wiki.mutable.ai/lapce/lapce"; target="_blank">
-      <img src="https://img.shields.io/static/v1?label=Code 
Wiki&message=Mutable.ai&color=blue" alt="Mutable.ai Auto Wiki">
-  </a>
 </div>
 <br/>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/docker-bake.hcl 
new/lapce-0.4.5/docker-bake.hcl
--- old/lapce-0.4.4/docker-bake.hcl     2025-08-30 07:01:02.000000000 +0200
+++ new/lapce-0.4.5/docker-bake.hcl     2026-01-03 04:17:25.000000000 +0100
@@ -134,6 +134,7 @@
       { packages = null, platforms = null, type = "package", os_version = 
"jammy"    }, # 22.04
       { packages = null, platforms = null, type = "package", os_version = 
"noble"    }, # 24.04
       { packages = null, platforms = null, type = "package", os_version = 
"oracular" }, # 24.10
+      { packages = null, platforms = null, type = "package", os_version = 
"plucky"   }, # 25.04
       # static binary, it looks ugly to define the target this way
       # but I don't have a better way to make it more friendly on CLI side 
without
       # more terrible code-wise way to implement it
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/docs/building-from-source.md 
new/lapce-0.4.5/docs/building-from-source.md
--- old/lapce-0.4.4/docs/building-from-source.md        2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/docs/building-from-source.md        2026-01-03 
04:17:25.000000000 +0100
@@ -2,7 +2,7 @@
 
 It is easy to build Lapce from source on a GNU/Linux distribution. Cargo 
handles the build process, all you need to do, is ensure the correct 
dependencies are installed.
 
-1. Install the Rust compiler and Cargo using 
[`rustup.rs`](https://rustup.rs/). If you already have the toolchain, ensure 
you are using version 1.64 or higher.
+1. Install the Rust compiler and Cargo using 
[`rustup.rs`](https://rustup.rs/). If you already have the toolchain, ensure 
you are using latest Rust version.
 
 2. Install dependencies for your operating system:
 
Binary files old/lapce-0.4.4/extra/images/linux/code-file-with-highlight.png 
and new/lapce-0.4.5/extra/images/linux/code-file-with-highlight.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/extra/linux/dev.lapce.lapce.metainfo.xml 
new/lapce-0.4.5/extra/linux/dev.lapce.lapce.metainfo.xml
--- old/lapce-0.4.4/extra/linux/dev.lapce.lapce.metainfo.xml    2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/extra/linux/dev.lapce.lapce.metainfo.xml    2026-01-03 
04:17:25.000000000 +0100
@@ -9,6 +9,10 @@
     <url type="homepage">https://lapce.dev/</url>
     <url type="bugtracker">https://github.com/lapce/lapce/issues</url>
     <url type="help">https://docs.lapce.dev/</url>
+    <categories>
+        <category>IDE</category>
+        <category>Development</category>
+    </categories>
     <description>
         <p>
             Lapce is an open source code editor written in Rust. By utilising 
native GUI and GPU rendering, and with the performance Rust provides, Lapce is 
one of the fastest code editors out there.
@@ -25,11 +29,26 @@
     <content_rating type="oars-1.1" />
     <launchable type="desktop-id">dev.lapce.lapce.desktop</launchable>
     <screenshots>
-        <screenshot type="default">
-            
<image>https://raw.githubusercontent.com/lapce/lapce/master/extra/images/screenshot.png</image>
+        <screenshot type="default" environment="plasma">
+            <caption>Lapce source project opened in Lapce with Rust source 
code file opened</caption>
+            <image type="source" width="1000" 
height="700">https://raw.githubusercontent.com/lapce/lapce/refs/tags/v0.4.5/extra/images/linux/code-file-with-highlight.png</image>
         </screenshot>
     </screenshots>
     <releases>
-        <release version="0.4.2" date="2024-08-07"/>
+        <release version="0.4.5" date="2025-09-05">
+            <url 
type="details">https://github.com/lapce/lapce/releases/tag/v0.4.5</url>
+            <issues>
+                <issue 
url="https://github.com/lapce/lapce/issues/3795";>#3795</issue>
+            </issues>
+        </release>
+        <release version="0.4.4" date="2025-08-30">
+            <url 
type="details">https://github.com/lapce/lapce/releases/tag/v0.4.4</url>
+            <issues>
+                <issue 
url="https://github.com/lapce/lapce/issues/3786";>#3795</issue>
+            </issues>
+        </release>
+        <release version="0.4.3" date="2024-06-27">
+            <url 
type="details">https://github.com/lapce/lapce/releases/tag/v0.4.3</url>
+        </release>
     </releases>
 </component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lapce-0.4.4/extra/macos/Lapce.app/Contents/Info.plist 
new/lapce-0.4.5/extra/macos/Lapce.app/Contents/Info.plist
--- old/lapce-0.4.4/extra/macos/Lapce.app/Contents/Info.plist   2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/extra/macos/Lapce.app/Contents/Info.plist   2026-01-03 
04:17:25.000000000 +0100
@@ -15,7 +15,7 @@
   <key>CFBundlePackageType</key>
   <string>APPL</string>
   <key>CFBundleShortVersionString</key>
-  <string>0.4.2</string>
+  <string>0.4.5</string>
   <key>CFBundleSupportedPlatforms</key>
   <array>
     <string>MacOSX</string>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/extra/windows/wix/lapce.wxs 
new/lapce-0.4.5/extra/windows/wix/lapce.wxs
--- old/lapce-0.4.4/extra/windows/wix/lapce.wxs 2025-08-30 07:01:02.000000000 
+0200
+++ new/lapce-0.4.5/extra/windows/wix/lapce.wxs 2026-01-03 04:17:25.000000000 
+0100
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="windows-1252"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"; 
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension";>
-    <Product Name="Lapce" Id="*" 
UpgradeCode="9c09a374-1135-4782-959f-2dec376a1dfa" Language="1033" 
Codepage="1252" Version="0.4.2" Manufacturer="Lapce">
+    <Product Name="Lapce" Id="*" 
UpgradeCode="9c09a374-1135-4782-959f-2dec376a1dfa" Language="1033" 
Codepage="1252" Version="0.4.5" Manufacturer="Lapce">
         <Package InstallerVersion="200" Compressed="yes" 
InstallScope="perMachine"/>
         <MajorUpgrade AllowSameVersionUpgrades="yes" DowngradeErrorMessage="A 
newer version of [ProductName] is already installed."/>
         <Icon Id="lapce.exe" SourceFile=".\extra\windows\lapce.ico"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-app/src/app.rs 
new/lapce-0.4.5/lapce-app/src/app.rs
--- old/lapce-0.4.4/lapce-app/src/app.rs        2025-08-30 07:01:02.000000000 
+0200
+++ new/lapce-0.4.5/lapce-app/src/app.rs        2026-01-03 04:17:25.000000000 
+0100
@@ -917,42 +917,6 @@
                 .on_event_stop(EventListener::DragEnd, move |_| {
                     dragging.set(None);
                 })
-                .on_event_stop(EventListener::DragOver, move |event| {
-                    if dragging.with_untracked(|dragging| dragging.is_some()) {
-                        if let Event::PointerMove(pointer_event) = event {
-                            let new_left = pointer_event.pos.x
-                                < header_content_size.get_untracked().width / 
2.0;
-                            if drag_over_left.get_untracked() != 
Some(new_left) {
-                                drag_over_left.set(Some(new_left));
-                            }
-                        }
-                    }
-                })
-                .on_event(EventListener::Drop, move |event| {
-                    if let Some((from_index, from_editor_tab_id)) =
-                        dragging.get_untracked()
-                    {
-                        drag_over_left.set(None);
-                        if let Event::PointerUp(pointer_event) = event {
-                            let left = pointer_event.pos.x
-                                < header_content_size.get_untracked().width / 
2.0;
-                            let index = i.get_untracked();
-                            let new_index = if left { index } else { index + 1 
};
-                            main_split.move_editor_tab_child(
-                                from_editor_tab_id,
-                                editor_tab_id,
-                                from_index.get_untracked(),
-                                new_index,
-                            );
-                        }
-                        EventPropagation::Stop
-                    } else {
-                        EventPropagation::Continue
-                    }
-                })
-                .on_event_stop(EventListener::DragLeave, move |_| {
-                    drag_over_left.set(None);
-                })
                 .on_resize(move |rect| {
                     header_content_size.set(rect.size());
                 })
@@ -968,7 +932,7 @@
                         )
                         .border_color(config.color(LapceColor::LAPCE_BORDER))
                 })
-                .style(|s| s.align_items(Some(AlignItems::Center))),
+                .style(|s| 
s.align_items(Some(AlignItems::Center)).flex_grow(1.0)),
             empty()
                 .style(move |s| {
                     s.size_full()
@@ -1035,6 +999,41 @@
                 .hover(|s| 
s.background(config.color(LapceColor::HOVER_BACKGROUND)))
         })
         .debug_name("Tab and Active Indicator")
+        .on_event_stop(EventListener::DragOver, move |event| {
+            if dragging.with_untracked(|dragging| dragging.is_some()) {
+                if let Event::PointerMove(pointer_event) = event {
+                    let new_left = pointer_event.pos.x
+                        < header_content_size.get_untracked().width / 2.0;
+                    if drag_over_left.get_untracked() != Some(new_left) {
+                        drag_over_left.set(Some(new_left));
+                    }
+                }
+            }
+        })
+        .on_event(EventListener::Drop, move |event| {
+            if let Some((from_index, from_editor_tab_id)) = 
dragging.get_untracked()
+            {
+                drag_over_left.set(None);
+                if let Event::PointerUp(pointer_event) = event {
+                    let left = pointer_event.pos.x
+                        < header_content_size.get_untracked().width / 2.0;
+                    let index = i.get_untracked();
+                    let new_index = if left { index } else { index + 1 };
+                    main_split.move_editor_tab_child(
+                        from_editor_tab_id,
+                        editor_tab_id,
+                        from_index.get_untracked(),
+                        new_index,
+                    );
+                }
+                EventPropagation::Stop
+            } else {
+                EventPropagation::Continue
+            }
+        })
+        .on_event_stop(EventListener::DragLeave, move |_| {
+            drag_over_left.set(None);
+        })
     };
 
     let content_size = create_rw_signal(Size::ZERO);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-app/src/debug.rs 
new/lapce-0.4.5/lapce-app/src/debug.rs
--- old/lapce-0.4.4/lapce-app/src/debug.rs      2025-08-30 07:01:02.000000000 
+0200
+++ new/lapce-0.4.5/lapce-app/src/debug.rs      2026-01-03 04:17:25.000000000 
+0100
@@ -521,7 +521,7 @@
 
     #[test]
     fn test_update_count() {
-        let variables = vec![
+        let variables = [
             (
                 Scope {
                     variables_reference: 0,
@@ -610,7 +610,7 @@
         let var = root.get_var_mut(&[0], 3).unwrap();
         var.expanded = true;
         var.read = true;
-        var.children = vec![
+        var.children = [
             Variable {
                 variables_reference: 9,
                 ..Default::default()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-app/src/editor/diff.rs 
new/lapce-0.4.5/lapce-app/src/editor/diff.rs
--- old/lapce-0.4.4/lapce-app/src/editor/diff.rs        2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/lapce-app/src/editor/diff.rs        2026-01-03 
04:17:25.000000000 +0100
@@ -2,7 +2,7 @@
 
 use floem::{
     View,
-    event::EventListener,
+    event::{Event, EventListener},
     ext_event::create_ext_action,
     reactive::{RwSignal, Scope, SignalGet, SignalUpdate, SignalWith},
     style::CursorStyle,
@@ -305,10 +305,11 @@
     }
 }
 
+#[derive(Clone, PartialEq)]
 struct DiffShowMoreSection {
     left_actual_line: usize,
     right_actual_line: usize,
-    visual_line: usize,
+    skip_start: usize,
     lines: usize,
 }
 
@@ -318,74 +319,44 @@
 ) -> impl View + use<> {
     let left_editor_view = left_editor.kind;
     let right_editor_view = right_editor.kind;
+    let right_screen_lines = right_editor.screen_lines();
+    let right_scroll_delta = right_editor.editor.scroll_delta;
     let viewport = right_editor.viewport();
     let config = right_editor.common.config;
 
     let each_fn = move || {
         let editor_view = right_editor_view.get();
+
         if let EditorViewKind::Diff(diff_info) = editor_view {
-            let viewport = viewport.get();
-            let config = config.get_untracked();
-            let line_height = config.editor.line_height() as f64;
-
-            let min_line = (viewport.y0 / line_height).floor() as usize;
-            let max_line = (viewport.y1 / line_height).ceil() as usize;
-
-            let mut visual_line = 0;
-            let mut last_change: Option<&DiffLines> = None;
-            let mut changes = diff_info.changes.iter().peekable();
-            let mut sections = Vec::new();
-            while let Some(change) = changes.next() {
-                match change {
-                    DiffLines::Left(range) => {
-                        if let Some(DiffLines::Right(_)) = changes.peek() {
-                        } else {
-                            let len = range.len();
-                            visual_line += len;
-                        }
-                    }
-                    DiffLines::Right(range) => {
-                        let len = range.len();
-                        visual_line += len;
-
-                        if let Some(DiffLines::Left(r)) = last_change {
-                            let len = r.len() - r.len().min(range.len());
-                            if len > 0 {
-                                visual_line += len;
-                            }
-                        };
-                    }
-                    DiffLines::Both(info) => {
-                        if let Some(skip) = info.skip.as_ref() {
-                            visual_line += skip.start;
-                            if visual_line + 1 >= min_line {
-                                sections.push(DiffShowMoreSection {
-                                    left_actual_line: info.left.start,
-                                    right_actual_line: info.right.start,
-                                    visual_line,
-                                    lines: skip.len(),
-                                });
-                            }
-                            visual_line += 1;
-                            visual_line += info.right.len() - skip.end;
-                        } else {
-                            visual_line += info.right.len();
-                        }
-                    }
-                }
-                if visual_line > max_line {
-                    break;
-                }
-                last_change = Some(change);
-            }
-            sections
+            diff_info
+                .changes
+                .iter()
+                .filter_map(|change| {
+                    let DiffLines::Both(info) = change else {
+                        return None;
+                    };
+
+                    let skip = info.skip.as_ref()?;
+
+                    Some(DiffShowMoreSection {
+                        left_actual_line: info.left.start,
+                        right_actual_line: info.right.start,
+                        skip_start: skip.start,
+                        lines: skip.len(),
+                    })
+                })
+                .collect()
         } else {
             Vec::new()
         }
     };
 
-    let key_fn =
-        move |section: &DiffShowMoreSection| (section.visual_line, 
section.lines);
+    let key_fn = move |section: &DiffShowMoreSection| {
+        (
+            section.right_actual_line + section.skip_start,
+            section.lines,
+        )
+    };
 
     let view_fn = move |section: DiffShowMoreSection| {
         stack((
@@ -517,17 +488,46 @@
                     .hover(|s| s.cursor(CursorStyle::Pointer))
             }),
         ))
+        .on_event_cont(EventListener::PointerWheel, move |event| {
+            if let Event::PointerWheel(event) = event {
+                right_scroll_delta.set(event.delta);
+            }
+        })
         .style(move |s| {
+            let right_screen_lines = right_screen_lines.get();
+
+            let mut right_line = section.right_actual_line + 
section.skip_start;
+            let is_before_skip = if right_line > 0 {
+                right_line -= 1;
+                true
+            } else {
+                right_line += section.lines;
+                false
+            };
+
+            let Some(line_info) = right_screen_lines.info_for_line(right_line)
+            else {
+                return s.hide();
+            };
+
             let config = config.get();
+            let line_height = config.editor.line_height();
+
+            let mut y = line_info.y - viewport.get().y0;
+
+            if is_before_skip {
+                y += line_height as f64
+            } else {
+                y -= line_height as f64
+            }
+
             s.absolute()
                 .width_pct(100.0)
-                .height(config.editor.line_height() as f32)
+                .height(line_height as f32)
                 .justify_center()
                 .items_center()
-                .margin_top(
-                    (section.visual_line * config.editor.line_height()) as f32
-                        - viewport.get().y0 as f32,
-                )
+                .margin_top(y)
+                .pointer_events_auto()
                 .hover(|s| s.cursor(CursorStyle::Default))
         })
     };
@@ -542,6 +542,11 @@
         )
         .style(|s| s.size_pct(100.0, 100.0)),
     ))
-    .style(|s| s.absolute().flex_col().size_pct(100.0, 100.0))
+    .style(|s| {
+        s.absolute()
+            .flex_col()
+            .size_pct(100.0, 100.0)
+            .pointer_events_none()
+    })
     .debug_name("Diff Show More Section")
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-app/src/editor.rs 
new/lapce-0.4.5/lapce-app/src/editor.rs
--- old/lapce-0.4.4/lapce-app/src/editor.rs     2025-08-30 07:01:02.000000000 
+0200
+++ new/lapce-0.4.5/lapce-app/src/editor.rs     2026-01-03 04:17:25.000000000 
+0100
@@ -3780,18 +3780,35 @@
                                 start_rvline,
                                 false,
                             )
-                            .take_while(|info| info.rvline.line < start + len);
+                            .peekable();
                         while let Some(rvline_info) = iter.next() {
                             let line = rvline_info.rvline.line;
 
+                            if line >= start + len {
+                                break;
+                            }
+
                             // Skip over the lines
                             if let Some(skip) = bothinfo.skip.as_ref() {
                                 if Some(skip.start) == line.checked_sub(start) 
{
                                     y_idx += 1;
-                                    // Skip by `skip` count
-                                    for _ in 0..skip.len().saturating_sub(1) {
-                                        iter.next();
-                                    }
+
+                                    // restart iterator after the skip
+                                    let start_rvline = lines.rvline_of_line(
+                                        &text_prov,
+                                        start + skip.end,
+                                    );
+
+                                    iter = lines
+                                        .iter_rvlines_init(
+                                            &text_prov,
+                                            cache_rev,
+                                            config_id,
+                                            start_rvline,
+                                            false,
+                                        )
+                                        .peekable();
+
                                     continue;
                                 }
                             }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-app/src/file_explorer/view.rs 
new/lapce-0.4.5/lapce-app/src/file_explorer/view.rs
--- old/lapce-0.4.4/lapce-app/src/file_explorer/view.rs 2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/lapce-app/src/file_explorer/view.rs 2026-01-03 
04:17:25.000000000 +0100
@@ -564,6 +564,7 @@
             let config = config.get();
             s.items_center()
                 .width_pct(100.0)
+                .cursor(CursorStyle::Pointer)
                 .apply_if(
                     active_editor_tab.get() == Some(editor_tab_id)
                         && editor_tab.with(|editor_tab| editor_tab.active)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-app/src/panel/plugin_view.rs 
new/lapce-0.4.5/lapce-app/src/panel/plugin_view.rs
--- old/lapce-0.4.4/lapce-app/src/panel/plugin_view.rs  2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/lapce-app/src/panel/plugin_view.rs  2026-01-03 
04:17:25.000000000 +0100
@@ -183,6 +183,7 @@
             s.width_pct(100.0)
                 .padding_horiz(10.0)
                 .padding_vert(5.0)
+                .cursor(CursorStyle::Pointer)
                 .hover(|s| {
                     s.background(
                         
config.get().color(LapceColor::PANEL_HOVERED_BACKGROUND),
@@ -323,6 +324,7 @@
             s.width_pct(100.0)
                 .padding_horiz(10.0)
                 .padding_vert(5.0)
+                .cursor(CursorStyle::Pointer)
                 .hover(|s| {
                     s.background(
                         
config.get().color(LapceColor::PANEL_HOVERED_BACKGROUND),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lapce-0.4.4/lapce-app/src/panel/source_control_view.rs 
new/lapce-0.4.5/lapce-app/src/panel/source_control_view.rs
--- old/lapce-0.4.4/lapce-app/src/panel/source_control_view.rs  2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/lapce-app/src/panel/source_control_view.rs  2026-01-03 
04:17:25.000000000 +0100
@@ -231,15 +231,13 @@
             .to_string();
         let style_path = path.clone();
         stack((
-            checkbox(move || checked, config)
-                .style(|s| s.hover(|s| s.cursor(CursorStyle::Pointer)))
-                .on_click_stop(move |_| {
-                    file_diffs.update(|diffs| {
-                        if let Some((_, checked)) = diffs.get_mut(&full_path) {
-                            *checked = !*checked;
-                        }
-                    });
-                }),
+            checkbox(move || checked, config).on_click_stop(move |_| {
+                file_diffs.update(|diffs| {
+                    if let Some((_, checked)) = diffs.get_mut(&full_path) {
+                        *checked = !*checked;
+                    }
+                });
+            }),
             svg(move || config.get().file_svg(&path).0).style(move |s| {
                 let config = config.get();
                 let size = config.ui.icon_size() as f32;
@@ -339,6 +337,7 @@
                 .padding_right(10.0 + size + 6.0)
                 .width_pct(100.0)
                 .items_center()
+                .cursor(CursorStyle::Pointer)
                 .hover(|s| {
                     
s.background(config.color(LapceColor::PANEL_HOVERED_BACKGROUND))
                 })
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-app/src/panel/terminal_view.rs 
new/lapce-0.4.5/lapce-app/src/panel/terminal_view.rs
--- old/lapce-0.4.4/lapce-app/src/panel/terminal_view.rs        2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/lapce-app/src/panel/terminal_view.rs        2026-01-03 
04:17:25.000000000 +0100
@@ -7,6 +7,7 @@
     kurbo::Size,
     menu::{Menu, MenuItem},
     reactive::{SignalGet, SignalUpdate, SignalWith, create_rw_signal},
+    style::CursorStyle,
     views::{
         Decorators, container, dyn_stack, empty, label,
         scroll::{Thickness, VerticalScrollAsHorizontal, scroll},
@@ -189,6 +190,7 @@
                             .pointer_events_none()
                     }),
                 ))
+                .style(|s| s.cursor(CursorStyle::Pointer))
                 .on_event_cont(
                     EventListener::PointerDown,
                     move |_| {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-app/src/settings.rs 
new/lapce-0.4.5/lapce-app/src/settings.rs
--- old/lapce-0.4.4/lapce-app/src/settings.rs   2025-08-30 07:01:02.000000000 
+0200
+++ new/lapce-0.4.5/lapce-app/src/settings.rs   2026-01-03 04:17:25.000000000 
+0100
@@ -832,7 +832,7 @@
         }),
         virtual_stack(
             move || BTreeMapVirtualList(list()),
-            move |(key, _)| (key.to_owned()),
+            move |(key, _)| key.to_owned(),
             move |(key, value)| {
                 let cx = Scope::current();
                 let text_input_view = TextInputBuilder::new()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-core/src/language.rs 
new/lapce-0.4.5/lapce-core/src/language.rs
--- old/lapce-0.4.4/lapce-core/src/language.rs  2025-08-30 07:01:02.000000000 
+0200
+++ new/lapce-0.4.5/lapce-core/src/language.rs  2026-01-03 04:17:25.000000000 
+0100
@@ -326,6 +326,8 @@
     Kdl,
     #[strum(message = "Kotlin")]
     Kotlin,
+    #[strum(message = "Kotlin Build Script")]
+    KotlinBuildScript,
     #[strum(message = "LaTeX")]
     Latex,
     #[strum(message = "Linker Script")]
@@ -1018,7 +1020,7 @@
         id: LapceLanguage::Json,
         indent: Indent::space(4),
         files: &[],
-        extensions: &["json"],
+        extensions: &["json", "har"],
         comment: comment_properties!(),
         tree_sitter: TreeSitterProperties::DEFAULT,
     },
@@ -1086,7 +1088,22 @@
         id: LapceLanguage::Kotlin,
         indent: Indent::space(2),
         files: &[],
-        extensions: &["kt", "kts"],
+        extensions: &["kt"],
+        comment: CommentProperties {
+            single_line_start: Some("//"),
+            single_line_end: None,
+
+            multi_line_start: Some("/*"),
+            multi_line_prefix: None,
+            multi_line_end: Some("*/"),
+        },
+        tree_sitter: TreeSitterProperties::DEFAULT,
+    },
+    SyntaxProperties {
+        id: LapceLanguage::KotlinBuildScript,
+        indent: Indent::space(2),
+        files: &[],
+        extensions: &["kts"],
         comment: CommentProperties {
             single_line_start: Some("//"),
             single_line_end: None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-core/src/syntax/highlight.rs 
new/lapce-0.4.5/lapce-core/src/syntax/highlight.rs
--- old/lapce-0.4.4/lapce-core/src/syntax/highlight.rs  2025-08-30 
07:01:02.000000000 +0200
+++ new/lapce-0.4.5/lapce-core/src/syntax/highlight.rs  2026-01-03 
04:17:25.000000000 +0100
@@ -724,19 +724,14 @@
     }
 }
 
-#[derive(Clone)]
+#[derive(Clone, Default)]
 pub(crate) enum IncludedChildren {
+    #[default]
     None,
     All,
     Unnamed,
 }
 
-impl Default for IncludedChildren {
-    fn default() -> Self {
-        Self::None
-    }
-}
-
 // Compute the ranges that should be included when parsing an injection.
 // This takes into account three things:
 // * `parent_ranges` - The ranges must all fall within the *current* layer's 
ranges.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce-proxy/src/buffer.rs 
new/lapce-0.4.5/lapce-proxy/src/buffer.rs
--- old/lapce-0.4.4/lapce-proxy/src/buffer.rs   2025-08-30 07:01:02.000000000 
+0200
+++ new/lapce-0.4.5/lapce-proxy/src/buffer.rs   2026-01-03 04:17:25.000000000 
+0100
@@ -248,7 +248,8 @@
                     "jsx" => "javascriptreact",
                     "json" => "json",
                     "jl" => "julia",
-                    "kt" | "kts" => "kotlin",
+                    "kt" => "kotlin",
+                    "kts" => "kotlinbuildscript",
                     "less" => "less",
                     "lua" => "lua",
                     "makefile" | "gnumakefile" => "makefile",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lapce-0.4.4/lapce.spec new/lapce-0.4.5/lapce.spec
--- old/lapce-0.4.4/lapce.spec  2025-08-30 07:01:02.000000000 +0200
+++ new/lapce-0.4.5/lapce.spec  2026-01-03 04:17:25.000000000 +0100
@@ -1,5 +1,5 @@
 Name:           lapce-git
-Version:        0.4.2.{{{ git_dir_version }}}
+Version:        0.4.5.{{{ git_dir_version }}}
 Release:        1
 Summary:        Lightning-fast and Powerful Code Editor written in Rust
 License:        Apache-2.0

++++++ lapce.obsinfo ++++++
--- /var/tmp/diff_new_pack.vlFN2g/_old  2026-01-27 16:08:27.480408918 +0100
+++ /var/tmp/diff_new_pack.vlFN2g/_new  2026-01-27 16:08:27.484409087 +0100
@@ -1,5 +1,5 @@
 name: lapce
-version: 0.4.4
-mtime: 1756530062
-commit: 314e74fcfe6ecdbbb1e9bf4ec27ae7f39c73068f
+version: 0.4.5
+mtime: 1767410245
+commit: 59ce6df700ce4efbe4498a719fe52195e083d2ee
 

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/lapce/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.lapce.new.1928/vendor.tar.zst differ: char 7, line 1

Reply via email to