예제 #1
0
        public override IScanner GetScanner(IVsTextLines buffer)
        {
            //if (m_scanner == null)
            //    m_scanner = new NSScanner(buffer);
            //return m_scanner;
            var model          = (Microsoft.VisualStudio.ComponentModelHost.IComponentModel)GetService(typeof(Microsoft.VisualStudio.ComponentModelHost.SComponentModel));
            var adapterFactory = model.GetService <Microsoft.VisualStudio.Editor.IVsEditorAdaptersFactoryService>();

            //var adapter = _serviceprovider_sys.GetService(typeof(IVsEditorAdaptersFactoryService));
            //var model = GetService(typeof(SComponentModel)) as IComponentModel;
            //var adapter = model.GetService<IVsEditorAdaptersFactoryService>();

            //Source src = GetSource(buffer);
            NSScanner             nsscanner;
            IVsTextBufferProvider buffprov = buffer as IVsTextBufferProvider;

            //adapter.GetDocumentBuffer(srpTextLines);
            Microsoft.VisualStudio.Text.ITextBuffer itb = adapterFactory.GetDocumentBuffer(buffer);
            //it2.add
            if (!itb.Properties.ContainsProperty("scanner_added"))
            {
                nsscanner = new NSScanner(buffer);
                itb.Properties.AddProperty("scanner_added", nsscanner);
            }
            return((NSScanner)itb.Properties.GetProperty("scanner_added"));
            //return null;
            //return new NSScanner(buffer);
        }
예제 #2
0
        public NSScanner m_scanner = null; // { get; set; }

        public NSSource(NSLangServ service, IVsTextLines textLines, Colorizer colorizer) : base(service, textLines, colorizer)
        {
            string path = GetFilePath();

            Service = service;

            this.m_scanner = colorizer.Scanner as NSScanner;
            if (m_scanner != null)
            {
                m_scanner.m_nssource = this;
            }

            //Scanner = colorizer.Scanner as NSScanner;
            LastParseTime = 0;
            DirtyTime     = DateTime.Now;
            FullScanTime  = 0;
        }
예제 #3
0
 public NSColorizer(NSLangServ ls, IVsTextLines buffer, NSScanner scanner) : base(ls, buffer, scanner)
 {
     m_scanner = scanner;
     m_buffer  = buffer;
 }