Пример #1
0
 DigOpenStatus DigOpen(string absFilename)
 {
     try
     {
         if (openedFile_.Filename == absFilename)
         {
             return(DigOpenStatus.AlreadyOpened);
         }
         var       text            = Hidemaru.GetTotalTextUnicode();
         const int contentsVersion = 1;
         context_.worker.DidOpen(absFilename, text, contentsVersion);
         openedFile_.Setup(absFilename,
                           new Uri(absFilename),
                           Hidemaru.GetUpdateCount(),
                           contentsVersion);
         return(DigOpenStatus.Opened);
     }
     catch (Exception e)
     {
         if (logger_ != null)
         {
             logger_.Error(e.ToString());
         }
     }
     return(DigOpenStatus.Failed);
 }
Пример #2
0
        DigChangeStatus TryDigChange()
        {
            try
            {
                Debug.Assert(string.IsNullOrEmpty(openedFile_.Filename) == false);

                var currentUpdateCount = Hidemaru.GetUpdateCount();
                var prevUpdateCount    = openedFile_.hidemaruUpdateCount;
                if (currentUpdateCount == prevUpdateCount)
                {
                    return(DigChangeStatus.NoChanged);
                }
                openedFile_.UpdateContentsVersion(currentUpdateCount);
                context_.worker.DidChange(openedFile_.Filename, Hidemaru.GetTotalTextUnicode(), openedFile_.countentsVersion);
                return(DigChangeStatus.Changed);
            }catch (Exception e)
            {
                if (logger_ != null)
                {
                    logger_.Error(e.ToString());
                }
            }
            return(DigChangeStatus.Failed);
        }