Update cosmic-text, status line for additional ViEditor modes

This commit is contained in:
Jeremy Soller 2023-11-08 15:42:46 -07:00
parent 02a093be0e
commit 12c8536d0c
No known key found for this signature in database
GPG key ID: DCFCA852D3906975
2 changed files with 48 additions and 47 deletions

72
Cargo.lock generated
View file

@ -49,7 +49,7 @@ source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663
dependencies = [
"accesskit",
"accesskit_consumer",
"async-channel 1.9.0",
"async-channel",
"atspi",
"futures-lite 1.13.0",
"log",
@ -243,19 +243,6 @@ dependencies = [
"futures-core",
]
[[package]]
name = "async-channel"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e"
dependencies = [
"concurrent-queue",
"event-listener 3.0.1",
"event-listener-strategy",
"futures-core",
"pin-project-lite",
]
[[package]]
name = "async-executor"
version = "1.6.0"
@ -569,16 +556,16 @@ dependencies = [
[[package]]
name = "blocking"
version = "1.5.0"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "864b30e660d766b7e9b47347d9b6558a17f1cfa22274034fa6f55b274b3e4620"
checksum = "8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a"
dependencies = [
"async-channel 2.1.0",
"async-lock 3.0.0",
"async-channel",
"async-lock 2.8.0",
"async-task",
"fastrand 2.0.1",
"futures-io",
"futures-lite 2.0.1",
"futures-lite 1.13.0",
"piper",
"tracing",
]
@ -878,11 +865,12 @@ dependencies = [
[[package]]
name = "cosmic-text"
version = "0.10.0"
source = "git+https://github.com/pop-os/cosmic-text?branch=vi-editor#ac389d9eebe1a6d8fe21bae315a853a5e0205b73"
source = "git+https://github.com/pop-os/cosmic-text?branch=vi-editor#c79c1326944c0a688e5c35015b834c18b53aa5c0"
dependencies = [
"fontdb 0.15.0",
"libm",
"log",
"modit",
"rangemap",
"rustc-hash",
"rustybuzz 0.11.0",
@ -1237,9 +1225,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "errno"
version = "0.3.5"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e"
dependencies = [
"libc",
"windows-sys 0.48.0",
@ -1713,9 +1701,9 @@ dependencies = [
[[package]]
name = "getrandom"
version = "0.2.10"
version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
dependencies = [
"cfg-if",
"js-sys",
@ -1974,7 +1962,7 @@ dependencies = [
"serde",
"serde_derive",
"thiserror",
"toml 0.8.6",
"toml 0.8.8",
"unic-langid",
]
@ -2548,9 +2536,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
[[package]]
name = "linux-raw-sys"
version = "0.4.10"
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
[[package]]
name = "locale_config"
@ -2753,6 +2741,14 @@ dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "modit"
version = "0.1.0"
source = "git+https://github.com/pop-os/modit.git#d44cd44692685c2972747ca465a81791887c2cdd"
dependencies = [
"log",
]
[[package]]
name = "mutate_once"
version = "0.1.1"
@ -3851,7 +3847,7 @@ dependencies = [
"bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys 0.4.10",
"linux-raw-sys 0.4.11",
"windows-sys 0.48.0",
]
@ -3964,18 +3960,18 @@ checksum = "4c309e515543e67811222dbc9e3dd7e1056279b782e1dacffe4242b718734fb6"
[[package]]
name = "serde"
version = "1.0.190"
version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.190"
version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
dependencies = [
"proc-macro2",
"quote",
@ -4287,7 +4283,7 @@ dependencies = [
"cfg-expr",
"heck",
"pkg-config",
"toml 0.8.6",
"toml 0.8.8",
"version-compare",
]
@ -4476,14 +4472,14 @@ dependencies = [
[[package]]
name = "toml"
version = "0.8.6"
version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ff9e3abce27ee2c9a37f9ad37238c1bdd4e789c84ba37df76aa4d528f5072cc"
checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"toml_edit 0.20.7",
"toml_edit 0.21.0",
]
[[package]]
@ -4508,9 +4504,9 @@ dependencies = [
[[package]]
name = "toml_edit"
version = "0.20.7"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
dependencies = [
"indexmap 2.1.0",
"serde",

View file

@ -893,18 +893,23 @@ impl cosmic::Application for App {
Some(tab) => {
tab_column =
tab_column.push(text_box(&tab.editor, self.config.metrics()).padding(8));
let status = match tab.editor.lock().unwrap().mode() {
ViMode::Passthrough => {
//TODO: status line
String::new()
}
ViMode::Normal => {
//TODO: status line
String::new()
}
let status = match &tab.editor.lock().unwrap().parser().mode {
ViMode::Normal => String::new(),
ViMode::Insert => {
format!("-- INSERT --")
}
ViMode::Extra(extra) => {
format!("{}", extra)
}
ViMode::Replace => {
format!("-- REPLACE --")
}
ViMode::Visual => {
format!("-- VISUAL --")
}
ViMode::VisualLine => {
format!("-- VISUAL LINE --")
}
ViMode::Command { value } => {
format!(":{value}|")
}