package Ġcom . vk . adm storm . actions . git Ċ Ċ import Ġcom . intellij . openapi . file Editor . impl . Load Text Util Ċ import Ġcom . intellij . openapi . file Types . ex . FileType Chooser Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . vcs . File Status Ċ import Ġcom . vk . adm storm . git . sync . files . Files Content Viewer Ċ import Ġcom . vk . adm storm . utils . My Utils Ċ import Ġcom . vk . adm storm . utils . ServerName Provider Ċ import Ġgit 4 idea . index . Git File Status Ċ Ċ class ĠGit Status Files Viewer Factory ( ĊĠĠĠ Ġproject : ĠProject , ĊĠĠĠ Ġlocal File : ĠGit File Status , ĊĠĠĠ Ġremote FilePath : ĠString , ĊĠĠĠ Ġremote FileContent : ĠString , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġviewer : ĠFiles Content Viewer ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Modified Ġ= Ġlocal File . get St aged Status () Ġ== ĠFile Status . MODI FIED Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal File . getUn St aged Status () Ġ== ĠFile Status . MODI FIED ĊĊĠĠĠĠĠĠĠ Ġval Ġlocal FileContent Ġ= Ġif Ġ( is Modified ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfilepath Ġ= Ġlocal File . path . path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocal Virtual File Ġ= ĠMy Utils . virtual File ByName ( filepath ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocal FileContent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( local Virtual File Ġ== Ġnull ) Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠLoad Text Util . load Text ( local Virtual File ). toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocal FileContent ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval ĠfileType Ġ= ĠFile Type Chooser . get Known FileType Or Associate ( local File . path . path ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfirst Content Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( remote FileContent . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFiles Content Viewer . Content ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠServer Name Provider . name (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ ServerName Provider . name ()} Ġcontent ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremote FilePath , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremote FileContent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsecond Content Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( local FileContent Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFiles Content Viewer . Content ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Local ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Local Ġcontent ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal File . path . path , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal FileContent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġviewer Ġ= ĠFiles Content Viewer ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfileType , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Content , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Content ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ