feat: edit working-checkout comparisons with normal editor actions
This commit is contained in:
+14
@@ -933,8 +933,19 @@ end
|
||||
config.bind "V", config.core.buffer_previous
|
||||
config.bind "D", config.core.buffer_delete
|
||||
config.bind "Z", config.core.buffer_force_delete
|
||||
config.bind "R", config.core.diff
|
||||
config.bind "T", config.core.diff.close
|
||||
raise "mutable diff actions" unless config.core.frozen? && config.core.diff.frozen? &&
|
||||
config.core.diff.close.frozen? && config.core.diff.name.frozen? &&
|
||||
config.core.diff.close.name.frozen?
|
||||
end"#,
|
||||
);
|
||||
let mut review = EditorSession::open(None, vec!["text".into()], Some(&config)).unwrap();
|
||||
review.handle(Input::Char('R'));
|
||||
review.handle(Input::Escape);
|
||||
assert!(review.editor().diff().is_some());
|
||||
review.handle(Input::Char('T'));
|
||||
assert!(review.editor().diff().is_none());
|
||||
for (key, dirty, quit, saved) in [
|
||||
('Q', false, true, false),
|
||||
('Q', true, false, false),
|
||||
@@ -1047,6 +1058,9 @@ end
|
||||
"config.core.lsp",
|
||||
"config.core.lsp.hover.tap { |action| action.name = 'core.delete' }",
|
||||
"config.core.lsp.tap { |namespace| namespace.define_singleton_method(:bogus) { namespace.hover } }.bogus",
|
||||
"config.core.diff.tap { |action| action.name = 'core.delete' }",
|
||||
"config.core.diff.tap { |action| action.define_singleton_method(:bogus) { action.close } }.bogus",
|
||||
"config.core.diff.close.tap { |action| action.name = 'core.delete' }",
|
||||
] {
|
||||
let invalid = fixture.file(
|
||||
"invalid_action.rb",
|
||||
|
||||
Reference in New Issue
Block a user