summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoronielfa <onielfadev@gmail.com>2020-07-31 00:01:03 +0200
committeronielfa <onielfadev@gmail.com>2020-07-31 00:01:03 +0200
commite794c6ecf133df248471b465a7553d454b527399 (patch)
tree0fb5b4cbce0ccb979e438ee8e2b7e2496da9963a
parent7e44bbff6d7f572f5f92b3a6b0f1d5e523379ba4 (diff)
parent2dafbfe51b2b4ebafc21fe68a9b909ebe3a4e23b (diff)
Merge remote-tracking branch 'origin/master' into feature/larger-names
-rw-r--r--.github/workflows/main.yml15
-rw-r--r--Cargo.lock192
-rw-r--r--Cargo.toml7
-rw-r--r--readme.md6
-rw-r--r--src/app/impl_self.rs3
-rw-r--r--src/main.rs14
6 files changed, 75 insertions, 162 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 5c3e6f9..2c07d9b 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -37,9 +37,9 @@ jobs:
run: |
sudo apt-get update \
&& sudo apt-get install -y \
- libdbus-1-dev
+ libdbus-1-dev libncurses5-dev libncursesw5-dev
- name: Build
- run: cargo build -all --no-default-features --features unix --release && strip target/release/dijo
+ run: cargo build --release && strip target/release/dijo
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v1-release
@@ -72,7 +72,7 @@ jobs:
override: true
- name: Build for mac
- run: cargo build --all --no-default-features --features unix --release && strip target/release/dijo
+ run: cargo build --release && strip target/release/dijo
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v1-release
@@ -105,15 +105,14 @@ jobs:
override: true
- name: Build for windows
- run: |
- cargo build --all --no-default-features --features windows --release
- strip target/release/dijo
+ shell: bash
+ run: cargo build --release
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: target/release/dijo
- asset_name: dijo-x86_64-windows
+ file: target/release/dijo.exe
+ asset_name: dijo-x86_64-windows.exe
tag: ${{ github.ref }}
overwrite: true
diff --git a/Cargo.lock b/Cargo.lock
index 0488f71..3b465c5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -92,6 +92,12 @@ dependencies = [
]
[[package]]
+name = "cc"
+version = "1.0.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9a06fb2e53271d7c279ec1efea6ab691c35a2ae67ec0d91d7acec0caf13b518"
+
+[[package]]
name = "cfg-if"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -125,15 +131,6 @@ dependencies = [
]
[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
name = "const-random"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -181,31 +178,6 @@ dependencies = [
]
[[package]]
-name = "crossterm"
-version = "0.17.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f4919d60f26ae233e14233cc39746c8c8bb8cd7b05840ace83604917b51b6c7"
-dependencies = [
- "bitflags",
- "crossterm_winapi",
- "lazy_static",
- "libc",
- "mio 0.7.0",
- "parking_lot",
- "signal-hook",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "crossterm_winapi"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057b7146d02fb50175fd7dbe5158f6097f33d02831f43b4ee8ae4ddf67b68f5c"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
name = "ctor"
version = "0.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -224,14 +196,15 @@ dependencies = [
"ahash 0.3.8",
"cfg-if",
"crossbeam-channel",
- "crossterm",
"cursive_core",
"enumset",
"lazy_static",
"libc",
"log",
+ "maplit",
+ "pancurses",
"signal-hook",
- "termion",
+ "term_size",
"unicode-segmentation",
"unicode-width",
]
@@ -295,7 +268,7 @@ dependencies = [
[[package]]
name = "dijo"
-version = "0.2.1"
+version = "0.2.2"
dependencies = [
"chrono",
"clap",
@@ -557,15 +530,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd7d4bd64732af4bf3a67f367c27df8520ad7e230c5817b8ff485864d80242b9"
[[package]]
-name = "lock_api"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
-dependencies = [
- "scopeguard",
-]
-
-[[package]]
name = "log"
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -575,6 +539,12 @@ dependencies = [
]
[[package]]
+name = "maplit"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
+
+[[package]]
name = "mio"
version = "0.6.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -587,27 +557,13 @@ dependencies = [
"kernel32-sys",
"libc",
"log",
- "miow 0.2.1",
+ "miow",
"net2",
"slab",
"winapi 0.2.8",
]
[[package]]
-name = "mio"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e9971bc8349a361217a8f2a41f5d011274686bd4436465ba51730921039d7fb"
-dependencies = [
- "lazy_static",
- "libc",
- "log",
- "miow 0.3.5",
- "ntapi",
- "winapi 0.3.9",
-]
-
-[[package]]
name = "mio-extras"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -615,7 +571,7 @@ checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19"
dependencies = [
"lazycell",
"log",
- "mio 0.6.22",
+ "mio",
"slab",
]
@@ -632,13 +588,14 @@ dependencies = [
]
[[package]]
-name = "miow"
-version = "0.3.5"
+name = "ncurses"
+version = "5.99.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07b88fb9795d4d36d62a012dfbf49a8f5cf12751f36d31a9dbe66d528e58979e"
+checksum = "15699bee2f37e9f8828c7b35b2bc70d13846db453f2d507713b758fabe536b82"
dependencies = [
- "socket2",
- "winapi 0.3.9",
+ "cc",
+ "libc",
+ "pkg-config",
]
[[package]]
@@ -664,22 +621,13 @@ dependencies = [
"fsevent-sys",
"inotify",
"libc",
- "mio 0.6.22",
+ "mio",
"mio-extras",
"walkdir",
"winapi 0.3.9",
]
[[package]]
-name = "ntapi"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a31937dea023539c72ddae0e3571deadc1414b300483fa7aaec176168cfa9d2"
-dependencies = [
- "winapi 0.3.9",
-]
-
-[[package]]
name = "num"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -743,12 +691,6 @@ dependencies = [
]
[[package]]
-name = "numtoa"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
-
-[[package]]
name = "owning_ref"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -758,30 +700,35 @@ dependencies = [
]
[[package]]
-name = "parking_lot"
-version = "0.10.2"
+name = "pancurses"
+version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e"
+checksum = "d3058bc37c433096b2ac7afef1c5cdfae49ede0a4ffec3dfc1df1df0959d0ff0"
dependencies = [
- "lock_api",
- "parking_lot_core",
+ "libc",
+ "log",
+ "ncurses",
+ "pdcurses-sys",
+ "winreg",
]
[[package]]
-name = "parking_lot_core"
-version = "0.7.2"
+name = "pdcurses-sys"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3"
+checksum = "084dd22796ff60f1225d4eb6329f33afaf4c85419d51d440ab6b8c6f4529166b"
dependencies = [
- "cfg-if",
- "cloudabi",
+ "cc",
"libc",
- "redox_syscall",
- "smallvec",
- "winapi 0.3.9",
]
[[package]]
+name = "pkg-config"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
+
+[[package]]
name = "proc-macro-hack"
version = "0.5.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -812,15 +759,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
[[package]]
-name = "redox_termios"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
-dependencies = [
- "redox_syscall",
-]
-
-[[package]]
name = "redox_users"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -859,12 +797,6 @@ dependencies = [
]
[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
name = "serde"
version = "1.0.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -902,7 +834,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "604508c1418b99dfe1925ca9224829bb2a8a9a04dda655cc01fcad46f4ab05ed"
dependencies = [
"libc",
- "mio 0.7.0",
"signal-hook-registry",
]
@@ -923,24 +854,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
[[package]]
-name = "smallvec"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3757cb9d89161a2f24e1cf78efa0c1fcff485d18e3f55e0aa3480824ddaa0f3f"
-
-[[package]]
-name = "socket2"
-version = "0.3.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03088793f677dce356f3ccc2edb1b314ad191ab702a5de3faf49304f7e104918"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "winapi 0.3.9",
-]
-
-[[package]]
name = "stable_deref_trait"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -970,15 +883,13 @@ dependencies = [
]
[[package]]
-name = "termion"
-version = "1.5.5"
+name = "term_size"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c22cec9d8978d906be5ac94bceb5a010d885c626c4c8855721a4dbd20e3ac905"
+checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
dependencies = [
"libc",
- "numtoa",
- "redox_syscall",
- "redox_termios",
+ "winapi 0.3.9",
]
[[package]]
@@ -1109,6 +1020,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
+name = "winreg"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
name = "ws2_32-sys"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/Cargo.toml b/Cargo.toml
index 6443a4b..bca5f39 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "dijo"
-version = "0.2.1"
+version = "0.2.2"
authors = ["Akshay <nerdy@peppe.rs>"]
edition = "2018"
description = "Scriptable, curses-based, digital habit tracker"
@@ -23,10 +23,7 @@ notify = "4.0"
[dependencies.cursive]
version = "0.15"
default-features = false
-
-[features]
-unix = ["cursive/termion-backend"]
-windows = ["cursive/crossterm-backend"]
+features = ["pancurses-backend"]
[dependencies.chrono]
version = "0.4"
diff --git a/readme.md b/readme.md
index 714234e..c626432 100644
--- a/readme.md
+++ b/readme.md
@@ -32,6 +32,12 @@ $ rustup update
$ cargo install dijo
```
+`dijo` on nixpkgs (maintained by [@Infinisil](https://github.com/Infinisil)):
+
+```
+$ nix-env -f channel:nixpkgs-unstable -iA dijo
+```
+
If you aren't familiar with `cargo` or Rust, read the [complete
installation](https://github.com/NerdyPepper/dijo/wiki/Install)
guide.
diff --git a/src/app/impl_self.rs b/src/app/impl_self.rs
index a806dc5..39882be 100644
--- a/src/app/impl_self.rs
+++ b/src/app/impl_self.rs
@@ -251,7 +251,8 @@ impl App {
"mnext" | "month-next" => "month-next (alias: mnext)",
"tup" | "track-up" => "track-up <auto-habit-name> (alias: tup)",
"tdown" | "track-down" => "track-down <auto-habit-name> (alias: tdown)",
- "q" | "quit" => "quit",
+ "q" | "quit" => "quit dijo",
+ "w" | "write" => "write current state to disk (alias: w)",
"h"|"?" | "help" => "help [<command>|commands|keys] (aliases: h, ?)",
"cmds" | "commands" => "add, add-auto, delete, month-{prev,next}, track-{up,down}, help, quit",
"keys" => "TODO", // TODO (view?)
diff --git a/src/main.rs b/src/main.rs
index 609738e..84fd8ee 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -12,13 +12,7 @@ use crate::command::{open_command_window, Command};
use crate::utils::{load_configuration_file, AppConfig};
use clap::{App as ClapApp, Arg};
-
-#[cfg(any(target_os = "linux", target_os = "macos"))]
-use cursive::termion;
-
-#[cfg(target_os = "windows")]
-use cursive::crossterm;
-
+use cursive::pancurses;
use cursive::views::{LinearLayout, NamedView};
use lazy_static::lazy_static;
@@ -68,11 +62,7 @@ fn main() {
println!("{}", h);
}
} else {
- #[cfg(target_os = "windows")]
- let mut s = crossterm().unwrap();
-
- #[cfg(any(target_os = "linux", target_os = "macos"))]
- let mut s = termion().unwrap();
+ let mut s = pancurses().unwrap();
let app = App::load_state();
let layout = NamedView::new(