class_docstr: Lexer for VisualProlog
  
  .. versionadded:: 2.17
docstr: Competes with IDL and Prolog on *.pro; div. lisps on*.cl and SwigLexer on *.i
docstr_tok: ["Competes","with","IDL","and","Prolog","on","*",".pro",";","div",".","lisps","on","*",".cl","and","SwigLexer","on","*",".i"]
code: def analyse_text(text):
      """Competes with IDL and Prolog on *.pro; div. lisps on*.cl and SwigLexer on *.i"""
      # These are *really* good indicators (and not conflicting with the other languages)
      # end-scope first on line e.g. 'end implement'
      # section keyword alone on line e.g. 'clauses'
      if re.search(
          r"^\s*(end\s+(interface|class|implement)|(clauses|predicates|domains|facts|constants|properties)\s*$)",
          text,
      ):
          return 0.98
      else:
          return 0
  
file_path: catboost/contrib/python/Pygments/py3/pygments/lexers/vip.py
imports: import re
  from pygments.lexer import RegexLexer, inherit, words, include
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, Number, Punctuation, Whitespace
label_desc: Use image node_id 1 for calling the VisualPrologLexer obj's underlying member method code with example usage: obj.analyse_text(text) and returns: int, int