title: In gedit, highlight a function call within the parenthesis
body: <p>I'm currently editing my javascript.lang file to highlight function names. 
  Here is my expression for gtksourceview that I am currently using.</p>
  
  <pre><code>&lt;define-regex id="function-regex" &gt;
  (?&amp;lt;=([\.|\s]))
  ([a-z]\w*)
  (?=([\(].*))(?=(.*[\)]))
  &lt;/define-regex&gt;
  </code></pre>
  
  <p>here's the regex by itself</p>
  
  <pre><code>(?&lt;=([\.|\s]))([a-z]\w*)(?=([\(].*))(?=(.*[\)]))
  </code></pre>
  
  <p>It appears to work for situations such as, foo(A) which I am satisfied with.
  But where I am having trouble is if I want it to highlight a function name within the parentheses of another function call.</p>
  
  <pre><code>  foo(bar(A))
  </code></pre>
  
  <p>or to put it more rigorously</p>
  
  <pre><code>  foo{N}(foo{N-1}(...(foo{2}(foo{1}(A))...))
  </code></pre>
  
  <p>So with the example, </p>
  
  <pre><code>  foo(bar(baz(A)))
  </code></pre>
  
  <p>my goal is for it to highlight foo, bar, baz and nothing else.</p>
  
  <p>I don't know how to handle the bar function. I have read about a way of doing regex recursively with (?R) or (?0) but I have not had any success using that to highlight functions recursively in gedit.</p>
  
  <p>P.S.
  Here are the tests that I am currently using to determine success.</p>
  
  <pre><code>initialDrawGraph(toBeSorted);   
  $(element).removeClass(currentclass);
  myFrame.popStack();
  context.outputCurrentSortOrder(V);
  myFrame.nextFunction = sorter.Sort.;
  context.outputToDivConsole(formatStr(V),1);
  </code></pre>