[meld] Try to guess syntax highlighting MIME type from content (bgo#686285)



commit 40c01b9f9b91094cdb7f60ed5a6b024bb922b263
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Sun May 5 07:18:58 2013 +1000

    Try to guess syntax highlighting MIME type from content (bgo#686285)
    
    While this won't fix many cases, we may as well ask gio to do
    content-type sniffing for us. This doesn't seem to fix most .py files,
    but things like Makefile.am, etc. seem to work better.

 meld/util/sourceviewer.py |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/meld/util/sourceviewer.py b/meld/util/sourceviewer.py
index 9081013..82224bb 100644
--- a/meld/util/sourceviewer.py
+++ b/meld/util/sourceviewer.py
@@ -19,8 +19,6 @@
 '''Abstraction from sourceview version API incompatibilities
 '''
 
-import os
-
 import gio
 import gtk
 
@@ -93,7 +91,11 @@ class _gtksourceview2(_srcviewer):
         return buf.set_highlight_syntax(enabled)
 
     def get_language_from_file(self, filename):
-        return self.get_language_manager().guess_language(filename)
+        f = gio.File(filename)
+        info = f.query_info(gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE)
+        content_type = info.get_content_type()
+        return self.get_language_manager().guess_language(filename,
+                                                          content_type)
 
     def get_language_from_mime_type(self, mime_type):
         content_type = gio.content_type_from_mime_type(mime_type)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]