paste command improvement
This commit is contained in:
		
							parent
							
								
									5316b37919
								
							
						
					
					
						commit
						c3d30177b1
					
				
							
								
								
									
										14
									
								
								src/nvim.rs
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/nvim.rs
									
									
									
									
									
								
							| @ -188,3 +188,17 @@ fn safe_call<F>(cb: F) | ||||
|         glib::Continue(false) | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| pub trait ErrorReport { | ||||
|     fn report_err(&self, nvim: &mut NeovimApi, ctx_msg: &str); | ||||
| } | ||||
| 
 | ||||
| impl<T> ErrorReport for result::Result<T, String> { | ||||
|     fn report_err(&self, _: &mut NeovimApi, ctx_msg: &str) { | ||||
|         if let &Err(ref msg) = self { | ||||
|             let err_msg = format!("{} {}", ctx_msg, msg); | ||||
|             println!("{}", err_msg); | ||||
|             //nvim.report_error(&err_msg).expect("Error report error :)");
 | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
							
								
								
									
										26
									
								
								src/ui.rs
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								src/ui.rs
									
									
									
									
									
								
							| @ -16,7 +16,7 @@ use glib; | ||||
| use neovim_lib::{Neovim, NeovimApi, Value, Integer}; | ||||
| 
 | ||||
| use ui_model::{UiModel, Attrs, Color, COLOR_BLACK, COLOR_WHITE}; | ||||
| use nvim::{RedrawEvents, GuiApi}; | ||||
| use nvim::{RedrawEvents, GuiApi, ErrorReport}; | ||||
| 
 | ||||
| use input::{convert_key, keyval_to_input_string}; | ||||
| 
 | ||||
| @ -189,12 +189,17 @@ fn gtk_motion_notify(_: &DrawingArea, ev: &EventMotion) -> Inhibit { | ||||
| } | ||||
| 
 | ||||
| fn edit_paste() { | ||||
|      UI.with(|ui_cell| { | ||||
|     UI.with(|ui_cell| { | ||||
|         let mut ui = ui_cell.borrow_mut(); | ||||
| 
 | ||||
|         if let Err(e) = ui.nvim().input("<Esc>\"*p") { | ||||
|             println!("Error paste from clipboard {}", e); | ||||
|         } | ||||
|         let paste_command = if ui.mode == NvimMode::Normal { | ||||
|             "\"*p" | ||||
|         } else { | ||||
|             "<Esc>\"*p" | ||||
|         }; | ||||
| 
 | ||||
|         let mut nvim = ui.nvim(); | ||||
|         nvim.input(paste_command).report_err(nvim, "Error paste from clipboard"); | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| @ -202,9 +207,8 @@ fn edit_save_all() { | ||||
|     UI.with(|ui_cell| { | ||||
|         let mut ui = ui_cell.borrow_mut(); | ||||
| 
 | ||||
|         if let Err(e) = ui.nvim().command(":wa") { | ||||
|             println!("Error save all files {}", e); | ||||
|         } | ||||
|         let mut nvim = ui.nvim(); | ||||
|         nvim.command(":wa").report_err(nvim, "Error save all files"); | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| @ -396,9 +400,9 @@ fn request_width(ui: &Ui) { | ||||
| } | ||||
| 
 | ||||
| impl GuiApi for Ui { | ||||
|    fn set_font(&mut self, font_desc: &str) { | ||||
|        self.set_font_desc(font_desc); | ||||
|    } 
 | ||||
|     fn set_font(&mut self, font_desc: &str) { | ||||
|         self.set_font_desc(font_desc); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl RedrawEvents for Ui { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 daa
						daa