<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Thank you, Lex, for your useful
      explanation.<br>
      <br>
      So, now, I think that I do not need to make a new parser for
      Zephir, as the PHP one works to locate Zephir symbols, at least
      for classes and methods which are the most useful symbols for me.
      Some work is certainly required for properties and variables, but
      I can live without for a while.<br>
      <br>
      So setting Zephir files to the PHP type make the trick for symbols
      locating, but what about highlighting? Can I set Geany to use the
      PHP parser but not expect the PHP opening tag ?<br>
      <br>
      Regards,<br>
      <br>
      Stéphane<br>
      <br>
      Le 15/05/2014 13:09, Lex Trotman a écrit :<br>
    </div>
    <blockquote
cite="mid:CAKhWKDP_aWj7R7GS78KVB2yiYK7vhcxzcm7u-66mmvVc02Od8A@mail.gmail.com"
      type="cite">
      <pre wrap="">On 15 May 2014 19:50, Stéphane Mourey
<a class="moz-txt-link-rfc2396E" href="mailto:stephane.mourey@impossible-exil.info"><stephane.mourey@impossible-exil.info></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Thanks all for your help!
I got it! I know what puts the mess in the symbols : it's the Return Type
Hint (<a class="moz-txt-link-freetext" href="http://zephir-lang.com/oop.html#return-type-hints">http://zephir-lang.com/oop.html#return-type-hints</a>).
So if you change the Hello World example this way :

namespace Test;

class Hello
{
    /**
     * This is a sample method
     */
    public function returnHello() -> string
    {
        return "Hello World!";
    }
}

Highlighting is correct but the symbols do not appears correctly when
setting the document type to C#.

What can I do ?
</pre>
      </blockquote>
      <pre wrap="">
To explain a little.

Highlighting is purely based on lexical analysis, that is, just the
tokens in the language, and there is a remarkable similarity between
languages. So its easy to get a lexer from another language to work
(albeit with a different list of keywords).  This is done so that
highlighting will work as you type, even if the file does not yet
represent a legal program in the language you are writing it in.

But locating symbols requires the file to be actually parsed, that is
the language syntax must match the syntax that the parser is looking
for.  If the syntax is wrong it will not parse correctly.  So if
zephyr declaration syntax does not match some other language, then no
existing parser is going to understand it.

The parsers are an adaptation of those from the ctags project
(<a class="moz-txt-link-freetext" href="http://ctags.sourceforge.net/">http://ctags.sourceforge.net/</a>) and are written in C.  You would have
to make a zephyr specific parser, possibly by modifying an existing
parser.

Cheers
Lex

</pre>
      <blockquote type="cite">
        <pre wrap="">


Le 15/05/2014 10:14, Lex Trotman a écrit :

On 15 May 2014 17:07, Stéphane Mourey
<a class="moz-txt-link-rfc2396E" href="mailto:stephane.mourey@impossible-exil.info"><stephane.mourey@impossible-exil.info></a> wrote:

Hi everyone,

I'm new a the list, so just a few word to introduce myself : I am mostly a
PHP developer and I often write for the french magazine "GNU/Linux Magazine
France". I'm using Geany on a daily basis for a long time, and enjoy it more
than any other IDE.

As a PHP developper, I recently discover a new programming language,
dedicated to native PHP extensions. Its name is Zephir, you could learn more
here : <a class="moz-txt-link-freetext" href="http://zephir-lang.com">http://zephir-lang.com</a>. Its philosophy is to associate the PHP syntax
style with the efficiency of C to enable long-time PHP developer to run
easily their own extensions as fast as C ones and to code them as quickly as
PHP scripts.

So I adopted Zephir, and will certainly use it on a daily basis, as Geany.
So I naturally tried to code Zephir sources with Geany and to make my own
filestype.Zephir.conf. You can see the current state of this work here :
<a class="moz-txt-link-freetext" href="https://github.com/taophp/zephir-geany-fileconf">https://github.com/taophp/zephir-geany-fileconf</a>

The fact is that if I set the Zephir file as a PHP file using the menu
Document->Set filetype (I suppose, my geany front end is in French), the
symbols tabs detects all my classes, functions, properties, and all
perfectly, but in the editing area, there is no syntax highlighting until I
add the opening PHP tag "<?php" - but the Zephir compiler will not accept
it. My first attempt to solve this issue was to copy the filetypes.php in a
filetypes.Zephir.conf, and then tried to modify it to avoid the need of the
opening PHP tag. My second attempt was to find another filetypes.* that fit
more my needs. My choice was filetypes.cs, and this was the base of my
project on Gitbub. Now syntax highlighting is correct, but the symbols tab
does not work...

Strange, if I take the "hello world" example from the zephir-lang docs
and simply set filetype C# both highlighting and symbols work.  So
setting both lexer_filetype and tag_parser to C# in the custom
filetype file should work.

Cheers
Lex


Could anyone could tell me how to deal with this issue ?

Regards,

Stéphane Mourey
--
Blog: Impossible Exil
Bitmessage: BM-2D7keexEn8tGyYBEqGt88U2CZtpEnRzZor

_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.geany.org">Users@lists.geany.org</a>
<a class="moz-txt-link-freetext" href="https://lists.geany.org/cgi-bin/mailman/listinfo/users">https://lists.geany.org/cgi-bin/mailman/listinfo/users</a>

_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.geany.org">Users@lists.geany.org</a>
<a class="moz-txt-link-freetext" href="https://lists.geany.org/cgi-bin/mailman/listinfo/users">https://lists.geany.org/cgi-bin/mailman/listinfo/users</a>



--
Blog: Impossible Exil
Bitmessage: BM-2D7keexEn8tGyYBEqGt88U2CZtpEnRzZor

_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.geany.org">Users@lists.geany.org</a>
<a class="moz-txt-link-freetext" href="https://lists.geany.org/cgi-bin/mailman/listinfo/users">https://lists.geany.org/cgi-bin/mailman/listinfo/users</a>

</pre>
      </blockquote>
      <pre wrap="">_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.geany.org">Users@lists.geany.org</a>
<a class="moz-txt-link-freetext" href="https://lists.geany.org/cgi-bin/mailman/listinfo/users">https://lists.geany.org/cgi-bin/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      Blog: <a href="http://impossible-exil.info">Impossible Exil</a><br>
      <a href="https://www.bitmessage.org" title="Stop using mail!">Bitmessage</a>:
      BM-2D7keexEn8tGyYBEqGt88U2CZtpEnRzZor<br>
    </div>
  </body>
</html>