def display_compilation_results(view): tu = get_translation_unit(view) errString = "" show = False clear_error_marks() # clear visual error marks erase_error_marks(view) if tu == None: return tu.lock() try: if len(tu.var.diagnostics): errString = "" for diag in tu.var.diagnostics: f = diag.location filename = "" if f.file != None: filename = f.file.name err = "%s:%d,%d - %s - %s" % (filename, f.line, f.column, diag.severityName, diag.spelling) if diag.severity == cindex.Diagnostic.Fatal and \ "not found" in diag.spelling: err = "%s\nDid you configure the include path used by clang properly?\n" \ "See http://github.com/quarnster/SublimeClang for more details on "\ "how to configure SublimeClang." % (err) errString = "%s%s\n" % (errString, err) """ for range in diag.ranges: errString = "%s%s\n" % (errString, range) for fix in diag.fixits: errString = "%s%s\n" % (errString, fix) """ add_error_mark( diag.severityName, filename, f.line - 1, diag.spelling) show = True finally: tu.unlock() window = view.window() if not window is None: v = view.window().get_output_panel("clang") v.settings().set("result_file_regex", "^(.+):([0-9]+),([0-9]+)") view.window().get_output_panel("clang") set_clang_view(v) v.set_read_only(False) v.set_scratch(True) v.set_name("sublimeclang.%s" % view.file_name()) e = v.begin_edit() v.insert(e, 0, errString) v.end_edit(e) v.set_read_only(True) show_error_marks(view) update_statusbar(view) if show: view.window().run_command("show_panel", {"panel": "output.clang"}) elif get_settings().get("hide_output_when_empty", False): view.window().run_command("hide_panel", {"panel": "output.clang"})
def display_compilation_results(view): tu = get_translation_unit(view) errString = "" show = False clear_error_marks() # clear visual error marks erase_error_marks(view) if tu == None: return tu.lock() try: if len(tu.var.diagnostics): errString = "" for diag in tu.var.diagnostics: f = diag.location filename = "" if f.file != None: filename = f.file.name err = "%s:%d,%d - %s - %s" % (filename, f.line, f.column, diag.severityName, diag.spelling) if diag.severity == cindex.Diagnostic.Fatal and \ "not found" in diag.spelling: err = "%s\nDid you configure the include path used by clang properly?\n" \ "See http://github.com/quarnster/SublimeClang for more details on "\ "how to configure SublimeClang." % (err) errString = "%s%s\n" % (errString, err) """ for range in diag.ranges: errString = "%s%s\n" % (errString, range) for fix in diag.fixits: errString = "%s%s\n" % (errString, fix) """ add_error_mark(diag.severityName, filename, f.line - 1, diag.spelling) show = True finally: tu.unlock() window = view.window() if not window is None: v = view.window().get_output_panel("clang") v.settings().set("result_file_regex", "^(.+):([0-9]+),([0-9]+)") view.window().get_output_panel("clang") set_clang_view(v) v.set_read_only(False) v.set_scratch(True) v.set_name("sublimeclang.%s" % view.file_name()) e = v.begin_edit() v.insert(e, 0, errString) v.end_edit(e) v.set_read_only(True) show_error_marks(view) update_statusbar(view) if show: view.window().run_command("show_panel", {"panel": "output.clang"}) elif get_settings().get("hide_output_when_empty", False): view.window().run_command("hide_panel", {"panel": "output.clang"})
def display_compilation_results(view): tu = get_translation_unit(view) errString = "" show = False clear_error_marks() # clear visual error marks erase_error_marks(view) if tu == None: return tu.lock() errorCount = 0 warningCount = 0 try: if len(tu.var.diagnostics): errString = "" for diag in tu.var.diagnostics: f = diag.location filename = "" if f.file != None: filename = f.file.name err = "%s:%d,%d - %s - %s" % (filename, f.line, f.column, diag.severityName, diag.spelling) try: if len(diag.disable_option) > 0: err = "%s [Disable with %s]" % (err, diag.disable_option) except AttributeError: pass if diag.severity == cindex.Diagnostic.Fatal and \ "not found" in diag.spelling: err = "%s\nDid you configure the include path used by clang properly?\n" \ "See http://github.com/quarnster/SublimeClang for more details on "\ "how to configure SublimeClang." % (err) errString = "%s%s\n" % (errString, err) if diag.severity == cindex.Diagnostic.Warning: warningCount += 1 elif diag.severity >= cindex.Diagnostic.Error: errorCount += 1 """ for range in diag.ranges: errString = "%s%s\n" % (errString, range) for fix in diag.fixits: errString = "%s%s\n" % (errString, fix) """ add_error_mark( diag.severityName, filename, f.line - 1, diag.spelling) show = get_setting("show_output_panel", True, view) finally: tu.unlock() if (errorCount > 0 or warningCount > 0) and get_setting("show_status", True, view): statusString = "Clang Status: " if errorCount > 0: statusString = "%s%d Error%s" % (statusString, errorCount, "s" if errorCount != 1 else "") if warningCount > 0: statusString = "%s%s%d Warning%s" % (statusString, ", " if errorCount > 0 else "", warningCount, "s" if warningCount != 1 else "") view.set_status("SublimeClang", statusString) else: view.erase_status("SublimeClang") window = view.window() output_view = None if not window is None: v = view.window().get_output_panel("clang") v.settings().set("result_file_regex", "^(.+):([0-9]+),([0-9]+)") view.window().get_output_panel("clang") set_clang_view(v) v.set_read_only(False) v.set_scratch(True) v.set_name("sublimeclang.%s" % view.file_name()) e = v.begin_edit() v.insert(e, 0, errString) v.end_edit(e) v.set_read_only(True) output_view = v show_error_marks(view) update_statusbar(view) if not window is None: if show: window.run_command("show_panel", {"panel": "output.clang"}) elif get_setting("hide_output_when_empty", False, view): if not output_view is None and output_view.window() != None: window.run_command("hide_panel", {"panel": "output.clang"})
def display_compilation_results(view): tu = get_translation_unit(view) errString = "" show = False clear_error_marks() # clear visual error marks erase_error_marks(view) if tu == None: return tu.lock() errorCount = 0 warningCount = 0 try: if len(tu.var.diagnostics): errString = "" for diag in tu.var.diagnostics: f = diag.location filename = "" if f.file != None: filename = f.file.name err = "%s:%d,%d - %s - %s" % (filename, f.line, f.column, diag.severityName, diag.spelling) try: if len(diag.disable_option) > 0: err = "%s [Disable with %s]" % (err, diag.disable_option) except AttributeError: pass if diag.severity == cindex.Diagnostic.Fatal and \ "not found" in diag.spelling: err = "%s\nDid you configure the include path used by clang properly?\n" \ "See http://github.com/quarnster/SublimeClang for more details on "\ "how to configure SublimeClang." % (err) errString = "%s%s\n" % (errString, err) if diag.severity == cindex.Diagnostic.Warning: warningCount += 1 elif diag.severity >= cindex.Diagnostic.Error: errorCount += 1 """ for range in diag.ranges: errString = "%s%s\n" % (errString, range) for fix in diag.fixits: errString = "%s%s\n" % (errString, fix) """ add_error_mark(diag.severityName, filename, f.line - 1, diag.spelling) show = get_setting("show_output_panel", True, view) finally: tu.unlock() if (errorCount > 0 or warningCount > 0) and get_setting( "show_status", True, view): statusString = "Clang Status: " if errorCount > 0: statusString = "%s%d Error%s" % (statusString, errorCount, "s" if errorCount != 1 else "") if warningCount > 0: statusString = "%s%s%d Warning%s" % ( statusString, ", " if errorCount > 0 else "", warningCount, "s" if warningCount != 1 else "") view.set_status("SublimeClang", statusString) else: view.erase_status("SublimeClang") window = view.window() output_view = None if not window is None: v = view.window().get_output_panel("clang") v.settings().set("result_file_regex", "^(.+):([0-9]+),([0-9]+)") view.window().get_output_panel("clang") set_clang_view(v) v.set_read_only(False) v.set_scratch(True) v.set_name("sublimeclang.%s" % view.file_name()) e = v.begin_edit() v.insert(e, 0, errString) v.end_edit(e) v.set_read_only(True) output_view = v show_error_marks(view) update_statusbar(view) if not window is None: if show: window.run_command("show_panel", {"panel": "output.clang"}) elif get_setting("hide_output_when_empty", False, view): if not output_view is None and output_view.window() != None: window.run_command("hide_panel", {"panel": "output.clang"})