Merge pull request #603 from asuivelentine/imag-view/view-in-editor
get default editor
This commit is contained in:
commit
dfcc5c6a0e
2 changed files with 30 additions and 1 deletions
24
imag-view/src/editor.rs
Normal file
24
imag-view/src/editor.rs
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
use libimagstore::store::FileLockEntry;
|
||||||
|
use libimagrt::runtime::Runtime;
|
||||||
|
use libimagentryview::builtin::editor::EditorView;
|
||||||
|
use libimagentryview::viewer::Viewer;
|
||||||
|
use libimagentryview::error::ViewError as VE;
|
||||||
|
|
||||||
|
pub struct Editor<'a> {
|
||||||
|
rt: &'a Runtime<'a>,
|
||||||
|
fle: &'a FileLockEntry<'a>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a> Editor<'a> {
|
||||||
|
pub fn new(rt: &'a Runtime, fle: &'a FileLockEntry) -> Editor<'a> {
|
||||||
|
Editor{
|
||||||
|
rt: rt,
|
||||||
|
fle: fle,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn show(self) -> Result<(), VE> {
|
||||||
|
EditorView::new(self.rt).view_entry(self.fle)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -34,8 +34,10 @@ use libimagentryview::builtin::versions::VersionsViewer;
|
||||||
use libimagentryview::viewer::Viewer;
|
use libimagentryview::viewer::Viewer;
|
||||||
|
|
||||||
mod ui;
|
mod ui;
|
||||||
|
mod editor;
|
||||||
|
|
||||||
use ui::build_ui;
|
use ui::build_ui;
|
||||||
|
use editor::Editor;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let rt = generate_runtime_setup( "imag-view",
|
let rt = generate_runtime_setup( "imag-view",
|
||||||
|
@ -75,7 +77,10 @@ fn main() {
|
||||||
} else if scmd.is_present("view-in-browser") {
|
} else if scmd.is_present("view-in-browser") {
|
||||||
warn!("Viewing in browser is currently not supported, switch to stdout");
|
warn!("Viewing in browser is currently not supported, switch to stdout");
|
||||||
} else if scmd.is_present("view-in-texteditor") {
|
} else if scmd.is_present("view-in-texteditor") {
|
||||||
warn!("Viewing in texteditor is currently not supported, switch to stdout");
|
if let Err(e) = Editor::new(&rt, &entry).show() {
|
||||||
|
error!("Cannot view in editor: {}", e);
|
||||||
|
trace_error_exit(&e, 1);
|
||||||
|
}
|
||||||
} else if scmd.is_present("view-in-custom") {
|
} else if scmd.is_present("view-in-custom") {
|
||||||
warn!("Viewing in custom is currently not supported, switch to stdout");
|
warn!("Viewing in custom is currently not supported, switch to stdout");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue