Exemplo n.º 1
0
        private void HandleFileChangeEvent(FileChangeKind changeKind, FileEventArgs args)
        {
            if (Changed == null)
            {
                return;
            }

            foreach (var fileEvent in args)
            {
                if (fileEvent.IsDirectory)
                {
                    continue;
                }

                var normalizedEventPath = NormalizePath(fileEvent.FileName.FullPath);
                if (string.Equals(_normalizedFilePath, normalizedEventPath, StringComparison.OrdinalIgnoreCase))
                {
                    _ = _projectSnapshotManagerDispatcher.RunOnDispatcherThreadAsync((changeKind, ct) =>
                    {
                        OnChanged(changeKind);
                    }, changeKind, CancellationToken.None);
                    return;
                }
            }
        }
        private void OnChanged(FileChangeKind changeKind)
        {
            _projectSnapshotManagerDispatcher.AssertDispatcherThread();

            var args = new FileChangeEventArgs(FilePath, changeKind);

            Changed?.Invoke(this, args);
        }
        private void OnChanged(FileChangeKind changeKind)
        {
            _foregroundDispatcher.AssertForegroundThread();

            var args = new FileChangeEventArgs(FilePath, changeKind);

            Changed?.Invoke(this, args);
        }
Exemplo n.º 4
0
        private void OnChanged(ImportTracker importTracker, FileChangeKind changeKind)
        {
            _foregroundDispatcher.AssertForegroundThread();

            if (Changed == null)
            {
                return;
            }

            var args = new ImportChangedEventArgs(importTracker.FilePath, changeKind, importTracker.AssociatedDocuments);

            Changed.Invoke(this, args);
        }
Exemplo n.º 5
0
        private void OnChanged(FileChangeKind changeKind)
        {
            _joinableTaskContext.AssertUIThread();

            if (Changed == null)
            {
                return;
            }

            var args = new FileChangeEventArgs(FilePath, changeKind);

            Changed.Invoke(this, args);
        }
        private void OnChanged(ImportTracker importTracker, FileChangeKind changeKind)
        {
            _projectSnapshotManagerDispatcher.AssertDispatcherThread();

            if (Changed is null)
            {
                return;
            }

            var args = new ImportChangedEventArgs(importTracker.FilePath, changeKind, importTracker.AssociatedDocuments);

            Changed.Invoke(this, args);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Classifies a file change symbolically
        /// </summary>
        /// <param name="ChangeType"></param>
        /// <returns></returns>
        public static string ToSymbol(this FileChangeKind ChangeType)
        {
            switch (ChangeType)
            {
            case FileChangeKind.Added:
                return("+");

            case FileChangeKind.Modifed:
                return("Δ");

            case FileChangeKind.Removed:
                return("-");

            default:
                return("?");
            }
        }
        private void HandleFileChangeEvent(FileChangeKind changeKind, FileEventArgs args)
        {
            _foregroundDispatcher.AssertForegroundThread();

            if (Changed == null)
            {
                return;
            }

            foreach (var fileEvent in args)
            {
                if (fileEvent.IsDirectory)
                {
                    continue;
                }

                var normalizedEventPath = NormalizePath(fileEvent.FileName.FullPath);
                if (string.Equals(_normalizedFilePath, normalizedEventPath, StringComparison.OrdinalIgnoreCase))
                {
                    OnChanged(changeKind);
                    return;
                }
            }
        }
Exemplo n.º 9
0
 public ImportChangedEventArgs(string filePath, FileChangeKind kind, IEnumerable <string> associatedDocuments)
 {
     FilePath            = filePath;
     Kind                = kind;
     AssociatedDocuments = associatedDocuments;
 }
Exemplo n.º 10
0
 public FileChangeEventArgs(string filePath, FileChangeKind kind)
 {
     FilePath = filePath;
     Kind     = kind;
 }
Exemplo n.º 11
0
 public FileChangeDescription(FilePath File, CorrelationToken Correlation, FileChangeKind ChangeType)
 {
     this.File        = File;
     this.Correlation = Correlation;
     this.ChangeType  = ChangeType;
 }