gitAndTools.git-interactive-rebase-tool: init
This commit is contained in:
parent
e3a9318b6f
commit
4d67e30713
|
@ -8004,4 +8004,10 @@
|
||||||
githubId = 56247270;
|
githubId = 56247270;
|
||||||
name = "Foxit";
|
name = "Foxit";
|
||||||
};
|
};
|
||||||
|
masaeedu = {
|
||||||
|
email = "masaeedu@gmail.com";
|
||||||
|
github = "masaeedu";
|
||||||
|
githubId = 3674056;
|
||||||
|
name = "Asad Saeeduddin";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,6 +103,8 @@ let
|
||||||
|
|
||||||
git-imerge = callPackage ./git-imerge { };
|
git-imerge = callPackage ./git-imerge { };
|
||||||
|
|
||||||
|
git-interactive-rebase-tool = callPackage ./git-interactive-rebase-tool {};
|
||||||
|
|
||||||
git-machete = python3Packages.callPackage ./git-machete { };
|
git-machete = python3Packages.callPackage ./git-machete { };
|
||||||
|
|
||||||
git-octopus = callPackage ./git-octopus { };
|
git-octopus = callPackage ./git-octopus { };
|
||||||
|
|
|
@ -0,0 +1,169 @@
|
||||||
|
--- a/src/display/utils.rs
|
||||||
|
+++ b/src/display/utils.rs
|
||||||
|
@@ -53,166 +53,3 @@
|
||||||
|
_ => ColorMode::TwoTone,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
-#[cfg(all(windows, test))]
|
||||||
|
-mod tests {
|
||||||
|
- use crate::display::color_mode::ColorMode;
|
||||||
|
- use crate::display::utils::detect_color_mode;
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_windows() {
|
||||||
|
- assert_eq!(detect_color_mode(2), ColorMode::ThreeBit);
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-#[cfg(all(unix, test))]
|
||||||
|
-mod tests {
|
||||||
|
- use crate::display::color_mode::ColorMode;
|
||||||
|
- use crate::display::utils::detect_color_mode;
|
||||||
|
- use std::env::{remove_var, set_var};
|
||||||
|
-
|
||||||
|
- fn clear_env() {
|
||||||
|
- remove_var("COLORTERM");
|
||||||
|
- remove_var("VTE_VERSION");
|
||||||
|
- remove_var("TERM_PROGRAM");
|
||||||
|
- remove_var("TERM");
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_no_env_2_colors() {
|
||||||
|
- clear_env();
|
||||||
|
- assert_eq!(detect_color_mode(2), ColorMode::TwoTone);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_no_env_8_colors() {
|
||||||
|
- clear_env();
|
||||||
|
- assert_eq!(detect_color_mode(8), ColorMode::ThreeBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_no_env_less_8_colors() {
|
||||||
|
- clear_env();
|
||||||
|
- assert_eq!(detect_color_mode(7), ColorMode::TwoTone);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_no_env_16_colors() {
|
||||||
|
- clear_env();
|
||||||
|
- assert_eq!(detect_color_mode(16), ColorMode::FourBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_no_env_less_16_colors() {
|
||||||
|
- clear_env();
|
||||||
|
- assert_eq!(detect_color_mode(15), ColorMode::ThreeBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_no_env_256_colors() {
|
||||||
|
- clear_env();
|
||||||
|
- assert_eq!(detect_color_mode(256), ColorMode::EightBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_no_env_less_256_colors() {
|
||||||
|
- clear_env();
|
||||||
|
- assert_eq!(detect_color_mode(255), ColorMode::FourBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_no_env_more_256_colors() {
|
||||||
|
- clear_env();
|
||||||
|
- assert_eq!(detect_color_mode(257), ColorMode::EightBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_term_env_no_256() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("TERM", "XTERM");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::TwoTone);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_term_env_with_256() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("TERM", "XTERM-256");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::EightBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_term_program_env_apple_terminal() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("TERM_PROGRAM", "Apple_Terminal");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::EightBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_term_program_env_iterm() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("TERM_PROGRAM", "iTerm.app");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::EightBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_term_program_env_other() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("TERM_PROGRAM", "other");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::TwoTone);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_vte_version_0_36_00() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("VTE_VERSION", "3600");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::TrueColor);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_vte_version_greater_0_36_00() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("VTE_VERSION", "3601");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::TrueColor);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_vte_version_less_0_36_00() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("VTE_VERSION", "1");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::EightBit);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_vte_version_0() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("VTE_VERSION", "0");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::TwoTone);
|
||||||
|
- }
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_vte_version_invalid() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("VTE_VERSION", "invalid");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::TwoTone);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_colorterm_env_is_truecolor() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("COLORTERM", "truecolor");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::TrueColor);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_colorterm_env_is_24bit() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("COLORTERM", "24bit");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::TrueColor);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #[test]
|
||||||
|
- fn detect_color_mode_colorterm_env_is_other() {
|
||||||
|
- clear_env();
|
||||||
|
- set_var("COLORTERM", "other");
|
||||||
|
- assert_eq!(detect_color_mode(0), ColorMode::TwoTone);
|
||||||
|
- }
|
||||||
|
-}
|
|
@ -0,0 +1,27 @@
|
||||||
|
{ lib, ncurses5, fetchFromGitHub, rustPlatform }:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "git-interactive-rebase-tool";
|
||||||
|
version = "1.2.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "MitMaro";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "10z3di2qypgsmg2z7xfs9nlrf9vng5i7l8dvqadv1l4lb9zz7i8q";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [ ./01-terminaltests.patch ];
|
||||||
|
|
||||||
|
cargoSha256 = "002kr52vlpv1rhnxki29xflpmgk6bszrw0dsxcc34kyal0593ajk";
|
||||||
|
|
||||||
|
buildInputs = [ ncurses5 ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/MitMaro/git-interactive-rebase-tool";
|
||||||
|
description = "Native cross platform full feature terminal based sequence editor for git interactive rebase";
|
||||||
|
changelog = "https://github.com/MitMaro/git-interactive-rebase-tool/releases/tag/${version}";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ masaeedu ];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue