src/Lsp.vala
[roobuilder] / src / Application.vala
index 9eb45bd..93bf147 100644 (file)
                                                var oldfn = file.targetName();
                                                
                                                print("\n\n\n\nFile : %s\n", oldfn);
-                                               //GLib.FileUtils.get_contents(oldfn, out oldstr);
+                                               
                                                                                
                                                var outstr = file.toSourceCode();
+                                               
+                                               /* line number checking
                                                var bad = false;
                                                // check line numbers:
                                                var bits = outstr.split("\n");
                                                var end = bits.length;
                                                for(var i = 0;i < end; i++) {
                                                        print("%i : %s\n", i+1 , bits[i]);
-                                                       if (!bad && bits[i].has_prefix("/*") && !bits[i].has_prefix("/*%d*/".printf(i+1))) {
+                                                       if (!bad && bits[i].has_prefix("/*") && !bits[i].has_prefix(("/*%d*" +"/").printf(i+1))) {
                                                                end = i + 5 > bits.length ? bits.length: (i + 5);
                                                                print ("^^^^ mismatch\null");
                                                                bad = true;
                                                if (bad) {
                                                        GLib.error("got bad file");
                                                }
-                                               /*
+                                               */
+                                               // compare files. 
+                                               string oldstr;
+                                               GLib.FileUtils.get_contents(oldfn, out oldstr);
                                                if (outstr != oldstr) { 
                                                        
                                                        GLib.FileUtils.set_contents("/tmp/" + file.name   + ".out",   outstr);
                                                        print("meld   %s /tmp/%s\n", oldfn,  file.name + ".out");
                                                        //GLib.Process.exit(Posix.EXIT_SUCCESS);                
-                                               }
-*.*                                            */
+                                               }                                               
                                                //print("# Files match %s\n", file.name);
                                        }               
                                } catch (FileError e) {
                        if (ls == null) {
                                GLib.error("No langauge server returned for file:%s", file.relpath);
                        }
+                       
+                       //GLib.debug("started server - sleep 30 secs so you can gdb attach");
+                       //Posix.sleep( 30 );
                        var loop = new MainLoop();
                        GLib.Timeout.add_seconds(1, () => {
-                               if (!ls.isReady()) {
-                                       GLib.debug("waiting for server to be ready");
-                                       return true;
-                               }
+                        
                                GLib.debug("Sending document_open");
                                // it's ready..
                                 
                                ls.document_open(file);
+                               ls.document_save.begin( file, (o,res) => {
+                                       ls.document_save.end(res);
+                                });
+                               
+                               //ls.syntax.begin(file, (obj,res) => {
+                               //      ls.syntax.end(res);
+                               
+                               //});
                                
-                               ls.syntax.begin(file, (obj,res) => {
-                                       ls.syntax.end(res);
                                
-                               });
                                return false;
                                
                        });
@@ -794,5 +803,4 @@ flutter-project  -  was try and read flutter data (but desnt work.)
                
 
  
-
\ No newline at end of file