Example #1
0
        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;
        }
Example #2
0
        public MakeParser(NSString contents)
        {
            Contract.Requires(!NSObject.IsNullOrNil(contents), "contents is null");

            m_scanner = NSScanner.scannerWithString(contents);
            m_scanner.setCharactersToBeSkipped(NSCharacterSet.whitespaceCharacterSet());	// does not include new lines
            m_scanner.setCaseSensitive(true);

            m_nameChars = NSMutableCharacterSet.Create();
            m_nameChars.formUnionWithCharacterSet(NSCharacterSet.alphanumericCharacterSet());
            m_nameChars.addCharactersInString(NSString.Create("_-"));

            m_eolChars = NSMutableCharacterSet.Create();
            m_eolChars.addCharactersInString(NSString.Create("\r\n#"));		// lines are ended by comments or new line characters

            DoParse();

            for (int i = 0; i < 4; ++i)			// add some blank lines so the user can define new variables that we couldn't pull out of the make file
                m_variables.Add(new Variable(string.Empty, string.Empty));

            ActiveObjects.Add(this);
        }
Example #3
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);
        }