Ejemplo n.º 1
0
        internal void RemoveSource(IIdeSource source)
        {
            _sourceMap.Remove(source.FileIndex);
            _sources.Remove(source);

            Engine.RequestOnBuildTypesTree();
        }
Ejemplo n.º 2
0
        public void AddSource(string path)
        {
            if (_fileRenamingInProgress)
            {
                return;
            }

            IIdeSource source = (NemerleSource)LanguageService.GetSource(path);             // TODO: VladD2: тут надо искать Source по иерархии, а не по пути!

            try
            {
                if (source == null)
                {
                    source = new FileNemerleSource(Location.GetFileIndex(path));
                }
                else
                {
                    ((NemerleSource)source).UpdateProjectInfo(this);
                }

                _sourceMap.Add(source.FileIndex, source);
                _sources.Add(source);

                Engine.RequestOnBuildTypesTree();
            }
            catch (Exception ex)
            {
                SetCompilerMessages(new[] { new CompilerMessage(Location.Default, ex.Message,
                                                                MessageKind.Error, Engine, false) }, null);
            }
        }
Ejemplo n.º 3
0
        public void SetHighlights(IIdeSource source, IEnumerable <GotoInfo> highlights)
        {
            var isPermanent = false;

            var nsource = source as NemerleSource;

            if (nsource == null)
            {
                return;
            }

            ScanLexer lexer = nsource.Scanner.GetLexer();

            if (lexer == null)
            {
                return;
            }

            if (isPermanent)
            {
                lexer.AddHighlighting(highlights);
            }
            else
            {
                lexer.SetHoverHighlights(highlights);
            }

            nsource.Recolorize(1, source.LineCount);
        }
Ejemplo n.º 4
0
 public void AddUnimplementedMembers(IIdeSource source, TypeBuilder ty,
                                     IEnumerable <IGrouping <FixedType.Class, IMember> > unimplementedMembers)
 {
     using (var form = new ImplementMembersForm((NemerleSource)source, ty, unimplementedMembers))
     {
         form.ShowDialog();
     }
 }
Ejemplo n.º 5
0
        public void AddOverrideMembers(IIdeSource source, TypeBuilder ty, IEnumerable <IMember> notOverriden)
        {
            var ty2           = ty.GetMemType();
            var notOverriden2 = notOverriden.Select(m => new { ty2, m }).GroupBy(x => x.ty2, x => x.m);

            using (var form = new ImplementMembersForm((NemerleSource)source, ty, notOverriden2))
            {
                form.ShowDialog();
            }
        }
Ejemplo n.º 6
0
        internal void ReplaseOrAddSource(IIdeSource source)
        {
            var        fileIndex = source.FileIndex;
            IIdeSource old;

            if (_sourceMap.TryGetValue(fileIndex, out old))
            {
                _sources.Remove(old);
            }

            _sourceMap[fileIndex] = source;
            _sources.Add(source);
            //Engine.RequestOnBuildTypesTree();
        }
Ejemplo n.º 7
0
        internal void RemoveLastHighlighting(IIdeSource source)
        {
            Debug.WriteLine(">>>> ##### RemoveLastHighlighting!");
            var nsource = source as NemerleSource;

            if (nsource == null)
            {
                return;
            }
            ScanLexer lexer = nsource.Scanner.GetLexer();

            if (lexer == null)
            {
                return;
            }
            lexer.RemoveLastHighlighting();
            nsource.Recolorize(1, source.LineCount);
            Debug.WriteLine("<<<< ##### HighlightUsages!");
        }
Ejemplo n.º 8
0
 public void SetUsageHighlighting(IIdeSource source, IEnumerable <GotoInfo> usages)
 {
     ((NemerleSource)source).SetUsageHighlighting(usages);
 }