summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Oram <mitmaro@gmail.com>2016-12-20 23:42:30 -0330
committerTim Oram <dev@mitmaro.ca>2020-02-12 21:39:45 -0330
commit63ab887b4149494f4fe939c4d48238af51708e39 (patch)
tree4ac7a4a5b56f8a4c855437058212217f060c1ea0
Initial project commit
-rw-r--r--.editorconfig14
-rw-r--r--.github/workflows/pull-request.yml48
-rw-r--r--.gitignore1
-rw-r--r--.rustfmt.toml61
-rw-r--r--.travis.yml89
-rw-r--r--CHANGELOG.md123
-rw-r--r--CODE_OF_CONDUCT.md46
-rw-r--r--Cargo.lock506
-rw-r--r--Cargo.toml71
-rw-r--r--LICENSE674
-rw-r--r--README.md275
-rw-r--r--THIRD_PARTY_LICENSES154
-rw-r--r--appveyor.yml58
-rw-r--r--ci/before-deploy.ps122
-rw-r--r--docs/.gitignore4
-rw-r--r--docs/CNAME1
-rw-r--r--docs/Gemfile3
-rw-r--r--docs/LICENSE15
-rw-r--r--docs/_config.yml4
-rw-r--r--docs/_layouts/default.html36
-rw-r--r--docs/_sass/theme.scss147
-rwxr-xr-xdocs/_scripts/demo.bash118
-rwxr-xr-xdocs/_scripts/generate-demo.bash9
-rwxr-xr-xdocs/_scripts/server.bash3
-rw-r--r--docs/assets/css/style.scss3
-rw-r--r--docs/assets/images/git-interactive-rebase-demo.gifbin0 -> 3584828 bytes
-rw-r--r--docs/index.md154
-rw-r--r--readme/install.md113
-rwxr-xr-xscripts/build-deb.bash8
-rwxr-xr-xscripts/format.bash11
-rwxr-xr-xscripts/lint.bash9
-rwxr-xr-xscripts/push-latest-release.bash69
-rwxr-xr-xscripts/test.bash7
-rw-r--r--src/cli.rs10
-rw-r--r--src/commit/file_stat.rs52
-rw-r--r--src/commit/mod.rs74
-rw-r--r--src/commit/user.rs97
-rw-r--r--src/commit/utils.rs212
-rw-r--r--src/config/mod.rs111
-rw-r--r--src/config/theme.rs21
-rw-r--r--src/config/utils.rs67
-rw-r--r--src/confirm_abort/mod.rs44
-rw-r--r--src/confirm_rebase/mod.rs43
-rw-r--r--src/constants.rs21
-rw-r--r--src/display/color.rs313
-rw-r--r--src/display/color_manager.rs129
-rw-r--r--src/display/color_mode.rs79
-rw-r--r--src/display/curses.rs256
-rw-r--r--src/display/display_color.rs16
-rw-r--r--src/display/mod.rs112
-rw-r--r--src/display/utils.rs240
-rw-r--r--src/edit/mod.rs160
-rw-r--r--src/error/mod.rs59
-rw-r--r--src/exiting/mod.rs17
-rw-r--r--src/external_editor/argument_tolkenizer.rs366
-rw-r--r--src/external_editor/mod.rs187
-rw-r--r--src/git_interactive.rs252
-rw-r--r--src/help/mod.rs157
-rw-r--r--src/help/utils.rs165
-rw-r--r--src/input/input_handler.rs100
-rw-r--r--src/input/mod.rs38
-rw-r--r--src/input/utils.rs15
-rw-r--r--src/interactive-rebase-tool.147
-rw-r--r--src/list/action.rs254
-rw-r--r--src/list/line.rs287
-rw-r--r--src/list/mod.rs396
-rw-r--r--src/list/utils.rs123
-rw-r--r--src/main.rs127
-rw-r--r--src/process/exit_status.rs20
-rw-r--r--src/process/handle_input_result.rs54
-rw-r--r--src/process/mod.rs252
-rw-r--r--src/process/process_module.rs29
-rw-r--r--src/process/process_result.rs54
-rw-r--r--src/process/state.rs13
-rw-r--r--src/scroll/mod.rs2
-rw-r--r--src/scroll/scroll_position.rs125
-rw-r--r--src/scroll/utils.rs21
-rw-r--r--src/show_commit/data.rs151
-rw-r--r--src/show_commit/mod.rs147
-rw-r--r--src/show_commit/util.rs101
-rw-r--r--src/view/line_segment.rs80
-rw-r--r--src/view/mod.rs179
-rw-r--r--src/view/view_line.rs50
-rw-r--r--src/window_size_error/mod.rs63
-rw-r--r--test/fixtures/simple/HEAD1
-rw-r--r--test/fixtures/simple/config4
-rw-r--r--test/fixtures/simple/description1
-rw-r--r--test/fixtures/simple/info/exclude6
-rw-r--r--test/fixtures/simple/objects/01/82075d5b79ff61177e6314a8e5bff640f99caa1
-rw-r--r--test/fixtures/simple/objects/18/a2bd71d9c48b793fe60a390cdf08f48e795abb2
-rw-r--r--test/fixtures/simple/objects/18/d82dcc4c36cade807d7cf79700b6bbad8080b91
-rw-r--r--test/fixtures/simple/objects/1c/c0456637cb220155e957c641f483e60724c5812
-rw-r--r--test/fixtures/simple/objects/22/3b7836fb19fdf64ba2d3cd6173c6a283141f78bin0 -> 17 bytes
-rw-r--r--test/fixtures/simple/objects/27/4006cec98796695eb5fbc66336c09d06b7cc35bin0 -> 122 bytes
-rw-r--r--test/fixtures/simple/objects/28/36dcdcbd040f9157652dd3db0d584a44d4793dbin0 -> 171 bytes
-rw-r--r--test/fixtures/simple/objects/2b/33ed150ddc749651eead8f8ef45ae18760a64abin0 -> 20 bytes
-rw-r--r--test/fixtures/simple/objects/2e/b17981c49e604a4894b94ae3cd7ce4b3ca29a1bin0 -> 127 bytes
-rw-r--r--test/fixtures/simple/objects/31/ca0c0283104a7c6532a8fce1df1b83a8063159bin0 -> 96 bytes
-rw-r--r--test/fixtures/simple/objects/35/6f526abb39f15fd9d3fea57cf3ff1d1a400a22bin0 -> 127 bytes
-rw-r--r--test/fixtures/simple/objects/3b/03afff0ca32dad434d3703dd5c6b8216eccb9dbin0 -> 105 bytes
-rw-r--r--test/fixtures/simple/objects/3c/c58df83752123644fef39faab2393af643b1d2bin0 -> 17 bytes
-rw-r--r--test/fixtures/simple/objects/46/79e4849c8d0578dd0801f5f5c1d5bfc65feb261
-rw-r--r--test/fixtures/simple/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904bin0 -> 15 bytes
-rw-r--r--test/fixtures/simple/objects/64/99b1dcdbf3020be36ef51f27cb12c53ab779a8bin0 -> 166 bytes
-rw-r--r--test/fixtures/simple/objects/66/22be15a9bd68ae17baa125c6af09efd577053cbin0 -> 155 bytes
-rw-r--r--test/fixtures/simple/objects/7f/5eac44012ea33e5bdec0df72125c1bc2b2691d2
-rw-r--r--test/fixtures/simple/objects/ac/950e31a96660e55d8034948b5d9b985c97692d2
-rw-r--r--test/fixtures/simple/objects/ae/d0fd1db3e73c0e568677ae8903a11c5fbc5659bin0 -> 160 bytes
-rw-r--r--test/fixtures/simple/objects/b4/f179909d96883b73eff159c293cf1b5320b8ae1
-rw-r--r--test/fixtures/simple/objects/ba/e175bd8992c5c05b858fa2f9b63193ab92a1f0bin0 -> 122 bytes
-rw-r--r--test/fixtures/simple/objects/c0/28f42bdb2a5a9f80adea23d95eb240b994a6c2bin0 -> 161 bytes
-rw-r--r--test/fixtures/simple/objects/c1/43f6d98cbd8e6e959439c41da3bb8127e23385bin0 -> 158 bytes
-rw-r--r--test/fixtures/simple/objects/c1/ac7f2c32f9e00012f409572d223c9457ae497bbin0 -> 162 bytes
-rw-r--r--test/fixtures/simple/objects/d8/5479638307e4db37e1f1f2c3c807f7ff36a0ffbin0 -> 162 bytes
-rw-r--r--test/fixtures/simple/objects/d9/05d9da82c97264ab6f4920e20242e088850ce9bin0 -> 17 bytes
-rw-r--r--test/fixtures/simple/objects/e1/0b3f474644d8566947104c07acba4d6f4f4f9f1
-rw-r--r--test/fixtures/simple/objects/f5/b6d3334d82cb2f7cf7ecea806a86f06020b163bin0 -> 122 bytes
-rw-r--r--test/fixtures/simple/objects/f7/0f10e4db19068f79bc43844b49f3eece45c4e8bin0 -> 17 bytes
-rw-r--r--test/fixtures/simple/objects/fe/d706611bd9077feb0268ce7ddcff2bbe5ed9391
-rw-r--r--test/fixtures/simple/refs/heads/master1
-rw-r--r--test/git-rebase-alternative-comment-character.in4
-rw-r--r--test/git-rebase-todo-all-actions.in10
-rw-r--r--test/git-rebase-todo-empty.in1
-rw-r--r--test/git-rebase-todo-exec.in1
-rw-r--r--test/git-rebase-todo-long.in21
-rw-r--r--test/git-rebase-todo-noop.in1
-rw-r--r--test/git-rebase-todo-short.in3
-rw-r--r--test/git-rebase-todo-show-commit.in1
128 files changed, 8913 insertions, 0 deletions
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..ad2c6d8
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,14 @@
+root = true
+
+[*]
+indent_style = tab
+end_of_line = lf
+insert_final_newline = true
+
+[*.md]
+indent_style = space
+indent_size = 4
+
+[*.yml]
+indent_style = space
+indent_size = 4
diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml
new file mode 100644
index 0000000..9e9b7d4
--- /dev/null
+++ b/.github/workflows/pull-request.yml
@@ -0,0 +1,48 @@
+name: Pull Request
+
+on: [pull_request]
+
+jobs:
+ linux:
+ runs-on: [ubuntu-latest]
+ steps:
+ - uses: actions/checkout@v1
+ - name: Install dependencies
+ run: sudo apt-get install build-essential libncursesw5-dev pkg-config liblzma-dev
+ - name: Test
+ run: cargo test --
+ - name: Build
+ run: cargo build --release
+ - name: Test Run
+ run: cargo run --release -- --version
+ - name: Lint
+ run: "./scripts/lint.bash"
+ - name: Format
+ run: "./scripts/format.bash"
+ macos:
+ name: MacOS
+ runs-on: [macos]
+ steps:
+ - uses: actions/checkout@v1
+ # Install Rust until actions/virtual-environments#6 is resolved
+ - name: Install Rust
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ - name: Test
+ run: cargo test --
+ - name: Build
+ run: cargo build --release
+ - name: Test Run
+ run: cargo run --release -- --version
+ windows:
+ name: Windows Test
+ runs-on: [windows-latest]
+ steps:
+ - uses: actions/checkout@v1
+ - name: Test
+ run: cargo test --target x86_64-pc-windows-msvc --release --
+ - name: Build
+ run: cargo build --target x86_64-pc-windows-msvc --release
+ - name: Test Run
+ run: cargo run --target x86_64-pc-windows-msvc --release -- --version
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..eb5a316
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+target
diff --git a/.rustfmt.toml b/.rustfmt.toml
new file mode 100644
index 0000000..4696eba
--- /dev/null
+++ b/.rustfmt.toml
@@ -0,0 +1,61 @@
+indent_style = "block"
+use_small_heuristics = "Default"
+binop_separator = "Front"
+combine_control_expr = false
+comment_width = 120
+condense_wildcard_suffixes = true
+control_brace_style = "ClosingNextLine"
+disable_all_formatting = false
+error_on_line_overflow = true
+error_on_unformatted = true
+fn_args_layout = "Tall"
+brace_style = "SameLineWhere"
+empty_item_single_line = true
+enum_discrim_align_threshold = 0
+fn_single_line = false
+where_single_line = true
+force_explicit_abi = true
+format_strings = true
+format_macro_matchers = true
+format_macro_bodies = true
+hard_tabs = true
+imports_indent = "Block"
+imports_layout = "HorizontalVertical"
+merge_imports = false
+match_block_trailing_comma = true
+max_width = 120
+merge_derives = true
+force_multiline_blocks = true
+newline_style = "Unix"
+normalize_comments = true
+remove_nested_parens = true
+reorder_imports = true
+reorder_modules = true
+reorder_impl_items = true
+report_todo = "Never"
+report_fixme = "Never"
+skip_children = false
+space_after_colon = true
+space_before_colon = fa