[Geany-Users] Using Geany for Zephir sources

Stéphane Mourey stephane.mourey at xxxxx
Thu May 15 12:00:27 UTC 2014


Thank you, Lex, for your useful explanation.

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.

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 ?

Regards,

Stéphane

Le 15/05/2014 13:09, Lex Trotman a écrit :
> On 15 May 2014 19:50, Stéphane Mourey
> <stephane.mourey at impossible-exil.info> wrote:
>> Thanks all for your help!
>> I got it! I know what puts the mess in the symbols : it's the Return Type
>> Hint (http://zephir-lang.com/oop.html#return-type-hints).
>> 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 ?
> 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
> (http://ctags.sourceforge.net/) and are written in C.  You would have
> to make a zephyr specific parser, possibly by modifying an existing
> parser.
>
> Cheers
> Lex
>
>>
>>
>> Le 15/05/2014 10:14, Lex Trotman a écrit :
>>
>> On 15 May 2014 17:07, Stéphane Mourey
>> <stephane.mourey at impossible-exil.info> 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 : http://zephir-lang.com. 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 :
>> https://github.com/taophp/zephir-geany-fileconf
>>
>> 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
>> Users at lists.geany.org
>> https://lists.geany.org/cgi-bin/mailman/listinfo/users
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.geany.org
>> https://lists.geany.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>> --
>> Blog: Impossible Exil
>> Bitmessage: BM-2D7keexEn8tGyYBEqGt88U2CZtpEnRzZor
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.geany.org
>> https://lists.geany.org/cgi-bin/mailman/listinfo/users
>>
> _______________________________________________
> Users mailing list
> Users at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/users


-- 
Blog: Impossible Exil <http://impossible-exil.info>
Bitmessage <https://www.bitmessage.org>: 
BM-2D7keexEn8tGyYBEqGt88U2CZtpEnRzZor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/users/attachments/20140515/4fa8c373/attachment-0001.html>


More information about the Users mailing list